送信方法: 1. 実名認証と SMS API インターフェース サービスをアクティブ化し、API リクエスト KEY を取得します; 2. インターフェースを呼び出して SMS テンプレートを申請し、承認を待ちます; 3. API インターフェースを呼び出し、 "function juheHttpRequest($url ,$params=false,$ispost=0){...}" を使用してネットワーク リクエストを開始し、適用されたテンプレートに従って指定された携帯電話番号にテキスト メッセージを送信します。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、DELL G3 コンピューター
PHP-ベース検証コード SMS API インターフェース呼び出し例
事前準備
実名認証
オペレーターの要件に従って、このインターフェイスは現在、実名認証されたエンタープライズ ユーザーのみに公開されているため、使用する前に実名認証されたエンタープライズ ユーザーであることを確認してください。
インターフェイスを申請し、
https://www.juhe.cn/docs/api/id/486?s= を通じてインターフェイスの呼び出し資格情報リクエスト キーを取得します。 cpphpcn インターフェイスを開くためのセルフサービス アプリケーション このインターフェイスの通話証明書要求キーは、パーソナル センター ➡️ データ センター ➡️ My API モジュール
公式Webサイトの
## については説明しません。 #この例は、開発者の呼び出し手順を最大限に簡素化することを目的としており、機能モジュールを独立した Tool クラスにカプセル化していません。これは、開発者がワンクリックでコピーして実行し、直接デバッグできるのに便利です
テンプレート アプリケーション インターフェイス パラメーター:
パラメーター名
signature | ||
---|---|---|
#key | true | |
tplcode | true | |
SMS 送信インターフェイス パラメーター: |
必須
mobile | ##true##携帯電話番号 | |
---|---|---|
テンプレート ID | key | |
リクエスト キーの適用 | tpl_value | |
テンプレート内の変数によって決定されるテンプレート変数は空にすることができます | ||
テンプレート アプリケーション インターフェイス リクエストの例 |
# 推奨学習: 「PHP ビデオ チュートリアル 」 以上がPHPでSMS認証コードを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。 <?php
// 请求的接口URL
$apiUrl = 'http://v.juhe.cn/vercodesms/send?';
// 请求参数
$params = [
// 模板id
'tplId' => '模板id',
// 您申请的接口调用Key
'key' => '您申请的接口调用Key',
//发送的手机号
'mobile' => '发送的手机号',
//结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
'tplValue' => urlencode('#total#=1000&#used#=100&#balance#=900'),
];
$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['error_code'];
if ($errorCode === 0) {
$data = $result['result'];
echo "请求唯一标示:{$data["sid"]}" . 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, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
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 . '?' . $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;
}