ホームページ >バックエンド開発 >PHPの問題 >PHPでテキストメッセージを送信する方法

PHPでテキストメッセージを送信する方法

青灯夜游
青灯夜游オリジナル
2022-10-19 18:55:161593ブラウズ

送信方法: 1. 実名認証と SMS API インターフェース サービスをアクティブ化し、API リクエスト KEY を取得します; 2. SMS テンプレートを申請し、承認を待ちます; 3. 「関数 juheHttpRequest($)」を通じて API インターフェースを呼び出しますurl,$ params=false,$ispost=0){...}" メソッドを使用してネットワーク リクエストを開始し、データを処理して結果を返します。 4. "$response=juheHttpRequest(...);" を使用して受け入れます。内容を入力して出力します。

PHPでテキストメッセージを送信する方法

このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター

SMS ベースPHP API インターフェース呼び出し例について

事前準備

  • 実名認証

    オペレーターの要件に従って、このインターフェイスは現在、実名認証されたエンタープライズ ユーザーのみに公開されているため、使用する前に実名認証されたエンタープライズ ユーザーであることを確認してください

  • インターフェイスを申請し、

    https://www.juhe.cn/docs/api/id/54?s=cpphpcn を通じてインターフェイス呼び出し資格情報リクエスト キーを取得します。

    インターフェイスを開くためのセルフサービス アプリケーションこのインターフェイスの呼び出し元の証明書要求キーは、パーソナル センター ➡️ データ センター ➡️ My API モジュール

  • で確認できます。データ購入リクエスト数(無料および無料時間付きの無料インターフェイスは最初にデバッグ可能)
  • 公式のパーソナルセンターで事前にSMSテンプレート

    を申請してくださいアグリゲーションの Web サイト。インターフェイスはカスタマー サービス レビューに合格した後にのみ呼び出すことができます

特別な指示

    公式 Web サイトの
  • インターフェース ドキュメント

    をよくお読みください。これは、集計データと開発者との間の合意事項であり、インターフェース ビジネスを理解し、開発作業を行うのに役立ちます。 Simply

  • この例の焦点は、開発者がインターフェイスの応答データを正常に取得できるようにすることです。この記事では、データ処理などの開発者のビジネス ロジックについては説明しません。
  • この例は、開発者の呼び出し手順を最大限に簡素化することを目的としています。機能モジュールを独立したツール クラスにカプセル化するものではありません。開発者にとっては、ワンクリックでコピーした後に直接実行してデバッグできるため便利です
  • #能力に限界があるため、例には間違いや省略が必ずあります。発見した場合は、批判して修正してください。
  • ##インターフェース備考

同じ番号、同じ署名の内容は1分以内にオペレーターが制限 10分間に1メッセージ、3メッセージ受信、1 時間に 4 メッセージ、1 日に 20 メッセージ、それ以外の場合はオペレーターによってブロックされる可能性があります

  • SMS API インターフェイス自体は送信頻度、特定の送信頻度を制限しません。国内の携帯電話番号のみ、自分で設定する必要があります

  • テキスト メッセージの攻撃を防ぐために、画像検証コードやその他の悪意のある攻撃対策メカニズムを必ず追加してください。最後に T を追加してくださいマーケティング コンテンツの購読を解除する場合、マーケティング SMS の送信時間は 8:30 ~ 21:30 です。マーケティング コンテンツにはフィッシング対策メカニズムがあります。メッセージは 1 つも送信しないでください。モバイル メッセージの最小数は 20 (サイクリック コール)です。チャイナ ユニコムとテレコムでは

  • SMS を制限しません70文字以内の内容(署名含む)もカウント対象となります。 70 文字を超えるテキスト メッセージは長いメッセージとみなされ、67 文字ごとに料金が発生します。

  • パラメータの説明

パラメータ名必須##mobiletrue 携帯電話番号tpl_idtrueテンプレートidkey trueリクエストキーの適用tpl_valuefalse テンプレート変数は変数に基づいて決定されますすべてのコード
説明
<?php
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/sms/send?&#39;;
// 请求参数
$params = [
    // 模板id
    &#39;tpl_id&#39; => &#39;模板id&#39;,
    // 您申请的接口调用Key
    &#39;key&#39; => &#39;您申请的接口调用Key&#39;,
    //发送的手机号
    &#39;mobile&#39; => &#39;发送的手机号&#39;,
    //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
    &#39;tpl_value&#39; => urlencode(&#39;#total#=1000&#used#=100&#balance#=900&#39;),
];
$paramsString = http_build_query($params);

// 发起接口网络请求
$response = null;
try {
    $response = juheHttpRequest($apiUrl, $paramsString, 1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行自身的异常处理
}
if (!$response) {
    echo "请求异常" . PHP_EOL;
}
$result = json_decode($response, true);
if (!$result) {
    echo "请求异常" . PHP_EOL;
}
$errorCode = $result[&#39;error_code&#39;];
if ($errorCode === 0) {
    $data = $result[&#39;result&#39;];

    echo "请求唯一标示:{$data["sid"]}" . PHP_EOL;
    echo "请求消耗次数:{$data["fee"]}" . PHP_EOL;
} else {
    // 请求异常
    echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL;
}

/**
 * 发起网络请求函数
 * @param string $url 请求的URL
 * @param bool $params 请求的参数内容
 * @param int $ispost 是否POST请求
 * @return bool|string 返回内容
 */
function juheHttpRequest($url, $params = false, $ispost = 0)
{
    $httpInfo = [];
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if ($ispost) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_URL, $url);
    } else {
        if ($params) {
            curl_setopt($ch, CURLOPT_URL, $url . &#39;?&#39; . $params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }
    $response = curl_exec($ch);
    if ($response === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}

推奨される学習: 「PHP」ビデオチュートリアル

以上がPHPでテキストメッセージを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。