APP、網站等註冊、登錄、改密等發送驗證碼短信的接入流程

1.登錄 https://zz.253.com/site/login.html
2.獲取接口API賬號,密碼:選擇任意產品>激活>企業認證(上傳公司營業執照)
3.申請簽名(以公司簡稱或縮寫命名)備註:平臺申請簽名,API接口加上申請簽名
4.模板申請(自定義編輯內容):選擇任意應用>短息編輯欄目{模板管理}>添加簽名
4.sms_send_demo.php發送短信
sms_queryBalance_demo.php查詢短信餘額
備註:申請模板可達到短信免審作用

常見問題
1.相同號碼一天有10條限制(可根據業務需求進行調整)
2.接口賬號(使用API賬號,密碼 並非登錄管理後臺賬號,密碼)

狀態報告接入流程:
1.配置一個外網可以訪問的URL來接受創藍服務器的異步推送
2.參考receive.php

主要代碼:
<?php
header("Content-type:text/html; charset=UTF-8");

class ChuanglanSmsApi {

    //發送短信的接口地址
    const API_SEND_URL='http://sms.253.com/msg/send?';

    //查詢餘額的接口地址
    const API_BALANCE_QUERY_URL='http://sms.253.com/msg/balance?';

    const API_ACCOUNT='*******';//短信賬號從 https://zz.253.com/site/login.html 裏面獲取。

    const API_PASSWORD='*******';//短信密碼從 from https://zz.253.com/site/login.html 裏面獲取。

    /**
     * 發送短信需要的接口參數
     *
     * @param string $mobile                 手機號碼
     * @param string $msg                         想要發送的短信內容
     * @param string $needstatus         是否需要狀態報告 '1'爲需要 '0'位不需要。
     */
    public function sendSMS( $mobile, $msg, $needstatus = 1) {

            //發送短信的接口參數
            $postArr = array (
                                      'un' => self::API_ACCOUNT,
                                      'pw' => self::API_PASSWORD,
                                      'msg' => $msg,
                                      'phone' => $mobile,
                                      'rd' => $needstatus
                 );

            $result = $this->curlPost( self::API_SEND_URL , $postArr);
            return $result;
    }

    /**
     * 
     *
     *  查詢餘額
     */
    public function queryBalance() {

            // 查詢接口參數
            $postArr = array ( 
                      'un' => self::API_ACCOUNT,
                      'pw' => self::API_PASSWORD,
            );
            $result = $this->curlPost(self::API_BALANCE_QUERY_URL, $postArr);
            return $result;
    }

    /**
     * 處理接口返回值
     * 
     */
    public function execResult($result){
            $result=preg_split("/[,\r\n]/",$result);
            return $result;
    }

    /**
     * @param string $url  
     * @param array $postFields 
     * @return mixed
     */
    private function curlPost($url,$postFields){
            $postFields = http_build_query($postFields); 
            if(function_exists('curl_init')){

                    $ch = curl_init ();
                    curl_setopt ( $ch, CURLOPT_POST, 1 );
                    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
                    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
                    curl_setopt ( $ch, CURLOPT_URL, $url );
                    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postFields );
                    $result = curl_exec ( $ch );
                    if(curl_errno($ch))
                    {
                            return 'Curl error: ' . curl_error($ch);
                    }
                    curl_close ( $ch );
            }elseif(function_exists('file_get_contents')){

                    $result=file_get_contents($url.$postFields);

            }
            return $result;
    }

    //魔術獲取
    public function __get($name){
            return $this->$name;
    }

    //魔術設置
    public function __set($name,$value){
            $this->$name=$value;
    }

}
?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章