短信接口

<?php

class YmSmsAPI
{
    private $app_id = '';  //appid
    private $secret_key = '';     //密鑰
    private $address = 'http://bjksmtn.b2m.cn';  //接口地址
    private $sms_send_url = '/simpleinter/sendSMS';  //發送短信接口

    function http_request($url, $data)
    {
        print_r($url);
        print_r(END);
        print_r($data);
        print_r(END);
        $data = http_build_query($data);
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, TRUE);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        $output = curl_exec($curl);
        curl_close($curl);
        print_r($output);
        return $output;
    }

    function signmd5($app_id,$secret_key,$timestamp){
        return md5($app_id.$secret_key.$timestamp);
    }

    /**
     * 發送短信驗證碼
     * @param string $app_id 用戶appId
     * @param string $timestamp 時間格式yyyyMMddHHmmss
     * @param string $sign 簽名md5(appId+ secretKey + timestamp)32位
     * @param string $mobile 手機號
     * @param string $content 短信內容
     * @param string $timerTime 定時發送時間,若不填即時發送
     * @param string $customSmsId 自定義消息id
     * @param string $extendedCode 擴展碼(最長12位)
     * @return array
     */
    function sendSMS($mobile,$code)
    {
        $app_id = $this->app_id;
        $secret_key = $this->secret_key;
        $address = $this->address;
        $sms_send_url = $this->sms_send_url;
        $content = "您的短信驗證碼爲".$code.",10分鐘內有效";/* 短信內容請以商務約定的爲準,若是已經在通道端綁定了簽名,則無需在這裏添加簽名 */
        $timestamp = date("YmdHis");
        $sign = $this->signmd5($app_id,$secret_key,$timestamp);
        // 若是您的系統環境不是UTF-8,須要轉碼到UTF-8。以下:從gb2312轉到了UTF-8
        // $content = mb_convert_encoding( $content,"UTF-8","gb2312");
        // 另外,若是包含特殊字符,須要對內容進行urlencode
        $data = array(
            "appId" => $app_id,
            "timestamp" => $timestamp,
            "sign" => $sign,
            "mobiles" => $mobile,
            "content" =>  $content,
            "customSmsId" => "",
            "timerTime" => "",
            "extendedCode" => ""
        );
        $url = $address.$sms_send_url;
        $resobj = http_request($url, $data);
        return $resobj;
    }

    /**
     * 獲取上行接口
     */
    function getMo()
    {
        $app_id = $this->app_id;
        $secret_key = $this->secret_key;
        $address = $this->address;
        $sms_send_url = $this->sms_send_url;
        $timestamp = date("YmdHis");
        $sign = $this->signmd5($app_id,$secret_key,$timestamp);
        $data = array(
            "appId" => $app_id,
            "timestamp" => $timestamp,
            "sign" => $sign,
            "number" => "300"
        );
        $url = $address.$sms_send_url;
        $resobj = http_request($url, $data);
        return $resobj;
    }

    /**
     * 獲取餘額接口
     */
    function getBalance()
    {
        $app_id = $this->app_id;
        $secret_key = $this->secret_key;
        $address = $this->address;
        $sms_send_url = $this->sms_send_url;
        $timestamp = date("YmdHis");
        $sign = $this->signmd5($app_id,$secret_key,$timestamp);
        $data = array(
            "appId" => $app_id,
            "timestamp" => $timestamp,
            "sign" => $sign
        );
        $url = $address.$sms_send_url;
        $resobj = http_request($url,$data);
        return $resobj;
    }
}
相關文章
相關標籤/搜索