Maison >développement back-end >tutoriel php >Exemple de requête PHP d'interface de service API SMS de données agrégées (code source joint)

Exemple de requête PHP d'interface de service API SMS de données agrégées (code source joint)

angryTom
angryTomavant
2019-10-14 18:17:124469parcourir

Avant de l'utiliser, vous avez besoin de :

① : Demander le service API SMS via http://www.juhe.cn/docs/api/id/54

② : Dans le centre de modèles SMS, ajoutez un modèle et passez l'examen

1. Données agrégées (www.juhe.cn) Interface de service API SMS Demande PHP exemple de code source

<?php
 
header(&#39;content-type:text/html;charset=utf-8&#39;);
class SendCode
{
    private $key;
    private $tpl_id;
    public function __construct()
    {
        $this->key = &#39;AppKey&#39;;  // 聚合数据后台的AppKey
        $this->tpl_id = &#39;tpl_id&#39;;    // 申请的短信模板ID,根据实际情况修改短信模板
    }
    public function send($mobile){
 
        if (empty($mobile)) {
            $this->show_json(-4,&#39;手机号不能为空&#39;);
        }
 
        $code = mt_rand(100000,999999);
        $sendUrl = &#39;http://v.juhe.cn/sms/send&#39;; //短信接口的URL
        $smsConf = array(
            &#39;key&#39;   => $this->key, //您申请的APPKEY
            &#39;mobile&#39;    => $mobile, //接受短信的用户手机号码
            &#39;tpl_id&#39;    => $this->tpl_id, //您申请的短信模板ID,根据实际情况修改
            &#39;tpl_value&#39; =>&#39;#code#=&#39;.$code.&#39;&#company#=聚合数据&#39; //您设置的模板变量,根据实际情况修改
        );
 
        $content = $this->juhecurl($sendUrl,$smsConf, 1); //请求发送短信
        if($content){
            $result = json_decode($content,true);
            $error_code = $result[&#39;error_code&#39;];
            if($error_code == 0){
                //状态为0,说明短信发送成功
                $data[&#39;code&#39;] = $code;
                $this->show_json(1, $data);
            }else{
                //状态非0,说明失败
                $msg = $result[&#39;reason&#39;];
                $this->show_json(-3, "短信发送失败(".$error_code."):".$msg);
            }
        }else{
            //返回内容异常,以下可根据业务逻辑自行修改
            $this->show_json(-3, &#39;请求发送短信失败&#39;);
        }
 
    }
 
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function juhecurl($url,$params=false,$ispost=0){
 
        $httpInfo = array();
        $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 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22&#39; );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 30);
        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) {
            return false;
        }
        $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
        $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
        curl_close( $ch );
        return $response;
 
    }
 
 
    public function show_json($status = 1, $return = NULL) {
 
        $ret = array(&#39;status&#39; => $status);
 
        if (!is_array($return)) {
            if ($return) {
                $ret[&#39;result&#39;][&#39;message&#39;] = $return;
            }
 
            exit(json_encode($ret));
        } else {
            $ret[&#39;result&#39;] = $return;
        }
 
        exit(json_encode($ret));
    }
 
 
 
}

2. Exemple d'appel

<?php
$send = new SendCode();
$send->send(15113993183);

3. Le statut de retour est 1 en cas de succès

Exemple de requête PHP dinterface de service API SMS de données agrégées (code source joint).

Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer