>백엔드 개발 >PHP 문제 >PHP로 문자 메시지를 보내는 방법

PHP로 문자 메시지를 보내는 방법

青灯夜游
青灯夜游원래의
2022-10-19 18:55:161574검색

전송 방법: 1. 실명 인증 및 SMS API 인터페이스 서비스를 활성화하여 API 요청 KEY 획득 2. SMS 템플릿을 신청하고 승인을 기다립니다. 3. API 인터페이스를 호출하고 "juheHttpRequest($" 함수를 전달합니다. url,$params=false, $ispost=0){...}" 메소드는 네트워크 요청을 시작하고 데이터를 처리한 후 결과를 반환합니다. 4. "$response=juheHttpRequest(...);"를 사용하여 수락합니다. 내용을 출력하고 있습니다.

PHP로 문자 메시지를 보내는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

PHP 기반 SMS API 인터페이스 호출 예제

사전 준비

  • 실명인증

    운영자의 요구사항에 따라 현재 이 인터페이스는 실명인증된 기업사용자에게만 공개되어 있으므로, 이용하시기 전에 반드시 실명인증된 기업사용자인지 확인하시기 바랍니다

  • 인터페이스를 신청하고 인터페이스의 통화 자격 증명 요청 키를 얻습니다

    https://www.juhe.cn/docs/api/id/54?s=cpphpcn 셀프 서비스 애플리케이션을 통해 인터페이스를 엽니다

    개인 센터 ➡️ 데이터 센터 ➡️ 내 API 모듈에서 이 인터페이스의 통화 바우처 요청 키를 확인할 수 있습니다

  • 데이터 구매 요청 횟수(무료 및 무료 인터페이스는 먼저 디버깅 가능)

  • SMS 템플릿을 미리 신청하세요 집계 공식 웹사이트의 개인 센터에서 인터페이스만 가능합니다. 고객 서비스 검토가 통과된 후 호출됩니다

특별 지침

  • 공식 웹사이트의 인터페이스 문서를 주의 깊게 읽으십시오. 이는 집계 데이터와 개발자 간의 계약입니다. 인터페이스를 이해하는 데 도움이 됩니다.

  • 이 예제의 초점은 개발자가 인터페이스의 응답 데이터를 성공적으로 얻을 수 있도록 돕는 것입니다. 이 기사에서는 데이터 처리와 같은 개발자의 비즈니스 로직에 대해 논의하지 않습니다

  • 이 예제는 개발자의 호출 단계를 최대한 단순화하기 위해 개발자가 한 번의 클릭으로 복사할 수 있도록 기능 모듈을 독립적인 도구 클래스로 캡슐화하지 않습니다. 그런 다음 직접 실행하고 디버그할 수 있습니다.

  • 제한된 수준의 기능으로 인해 불가피하게 예시에 오류나 누락이 있으면 비판하고 정정해주세요

인터페이스 비고

  • 운영자 제한은 1개와 동일합니다. 동일한 번호와 서명을 가진 콘텐츠는 1개만 받을 수 있습니다. 1분에 메시지 10분에 3개 메시지 1시간에 4개 하루에 20개 메시지 그렇지 않으면 운영자에 의해 차단될 수 있습니다

  • SMS API 인터페이스 자체는 전송 빈도를 제한하지 않습니다. 발송횟수는 사용자가 설정해야 하며, 국내 휴대폰 번호만 해당됩니다.

  • SMS 폭탄 방지를 위해 이미지 인증코드 및 기타 악성 공격 방지 메커니즘을 반드시 추가하여 마케팅 종료 시 구독 취소를 해주세요. 마케팅 SMS 발송 시간은 8:30 ~ 21:30 입니다. 마케팅 콘텐츠에는 피싱 방지 메커니즘이 있습니다. 단일 메시지를 보내지 마세요. 최소 모바일 메시지 수는 20개(주기적 통화)입니다. China Unicom 및 Telecom은

  • SMS 콘텐츠(서명 포함)를 제한하지 않습니다. 또는 1개의 메시지에 대해 70자에 해당하는 요금이 부과됩니다. 70자를 초과하는 문자 메시지는 긴 메시지로 간주되며 67자마다 요금이 부과됩니다.

    true
휴대전화 번호

tpl_id

truetemplate id keyaltpl_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;
}
reeee reeee recommosed expormed : "
key true
템플릿 변수는 템플릿의 변수를 기반으로 결정된 템플릿 변수를 비어있을 수 있습니다. 모든 코드 php 비디오 자습서"입니다.

위 내용은 PHP로 문자 메시지를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.