전송 방법: 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
셀프 서비스 애플리케이션을 통해 인터페이스를 엽니다
를 통해 개인 센터 ➡️ 데이터 센터 ➡️ 내 API 모듈로 이동하여 호출을 볼 수 있습니다 키를 요청하려면 이 인터페이스의 자격 증명
데이터 구매 요청 횟수(무료 및 무료 인터페이스) 먼저 디버깅할 수 있습니다.)
document에서 제공하는 인터페이스에 따라 템플릿을 신청해야 합니다. , 인터페이스는 고객 서비스 검토를 통과한 후에만 호출할 수 있습니다
특별 지침
공식 웹사이트의 인터페이스 문서를 주의 깊게 읽어주세요 이는 집계 데이터와 개발자 간의 계약입니다. . 인터페이스 비즈니스를 이해하고 개발 작업을 원활하게 수행하는 데 도움이 될 것입니다
이 예제의 초점은 개발자가 인터페이스 데이터의 응답을 성공적으로 얻을 수 있도록 돕는 것입니다. 이 기사에서는 데이터 처리와 같은 개발자의 비즈니스 로직에 대해 논의하지 않습니다. . 이 예제는 개발자의 호출 단계를 최대한 단순화하기 위해 설계되었습니다. 기능 모듈을 독립적인 도구 클래스로 캡슐화하여 한 번의 클릭으로 복사 후 직접 실행하고 디버그할 수 있습니다.
제한된 능력으로 인해 예제에 오류나 누락이 있을 수 있습니다. 발견하면 비판하고 수정하세요
템플릿 애플리케이션 인터페이스 매개변수:
매개변수 이름설명 | ||
---|---|---|
템플릿 서명(길이는 한자 2-16자), 예: 회사 이름, 제품 이름 | key | |
요청 키 적용 | tpl코드 | |
선택적 템플릿 ID | SMS 전송 인터페이스 매개변수: |
지침 | ||
---|---|---|
휴대번호 | tpl_id | |
템플릿 ID | key | |
신청 요청 키 | tpl_value | |
템플릿 변수는 비어 있을 수 있습니다 |
템플릿 애플리케이션 인터페이스 요청 예시
<?php // 请求的接口URL $apiUrl = 'http://v.juhe.cn/vercodesms/submitTpl.php?'; // 请求参数 $params = [ // 模板签名 'signature' => '模板签名(长度为2-16个中文字符),比如:公司名、产品名称', // 您申请的接口调用Key 'key' => '您申请的接口调用Key', //发送的手机号 'tplcode' => '可供选择的模板id', ]; $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 "您申请的模板id:{$data["tplId"]}" . 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; }
SMS 전송 인터페이스 요청 예시
<?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; }
실행 결과
추천 학습: "P HP 비디오 튜토리얼"
위 내용은 PHP에서 SMS 인증 코드를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!