短信api接口_php语言快速接入

kewail接口短信平台提供完备状态查询,支持状态接口短信api推送
详尽的在线接口文档,随时查阅,不断更新
标准HTTP接口,提供多种语言示例(PHP\JAVA\C#\NODE\PYTHON等)
支持多种返回格式 JSON/XML

// Works well with php5.3 and php5.6.

namespace Kewail\Sms;

class SmsSenderUtil {
function getRandom() {
return rand(100000, 999999);
}

function calculateSig($secretkey, $random, $curTime, $phoneNumbers) {
    $phoneNumbersString = $phoneNumbers[0];
    for ($i = 1; $i < count($phoneNumbers); $i++) {
        $phoneNumbersString .= ("," . $phoneNumbers[$i]);
    }
    return hash("sha256", "secretkey=".$secretkey."&random=".$random
        ."&time=".$curTime."&mobile=".$phoneNumbersString);
}
//secretkey需要自行到kewail接口短信平台注册后新成
注册链接:https://www.kewail.com/register.html?uid=1543370582149(注册即送20条免费短信)

function calculateSigForTemplAndPhoneNumbers($secretkey, $random, $curTime, $phoneNumbers) {
    $phoneNumbersString = $phoneNumbers[0];
    for ($i = 1; $i < count($phoneNumbers); $i++) {
        $phoneNumbersString .= ("," . $phoneNumbers[$i]);
    }
    return hash("sha256", "secretkey=".$secretkey."&random=".$random
        ."&time=".$curTime."&mobile=".$phoneNumbersString);
}

function phoneNumbersToArray($nationCode, $phoneNumbers) {
    $i = 0;
    $tel = array();
    do {
        $telElement = new \stdClass();
        $telElement->nationcode = $nationCode;
        $telElement->mobile = $phoneNumbers[$i];
        array_push($tel, $telElement);
    } while (++$i < count($phoneNumbers));
    return $tel;
}

function calculateSigForTempl($secretkey, $random, $curTime, $phoneNumber) {
    $phoneNumbers = array($phoneNumber);
    return $this->calculateSigForTemplAndPhoneNumbers($secretkey, $random, $curTime, $phoneNumbers);
}

function sendCurlPost($url, $dataObj) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");  
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($dataObj));
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen(json_encode($dataObj)))); 
    $ret = curl_exec($curl);
    if (false == $ret) {
        // curl_exec failed
        $result = "{ \"result\":" . -2 . ",\"errmsg\":\"" . curl_error($curl) . "\"}";
    } else {
        $rsp = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        if (200 != $rsp) {
            $result = "{ \"result\":" . -1 . ",\"errmsg\":\"". $rsp . " " . curl_error($curl) ."\"}";
        } else {
            $result = $ret;
        }
    }
    curl_close($curl);
    return $result;
}

接口备注:接口返回成功不代表接收成功,具体接收状态只能由运营商查询;kewail平台同1个号码同1个签名的内容1分钟内能发送接收10条,1小时内只能接收30条,一天最多接收150条,如需每天大量发送用户可以联系kewail平台客服设置免限,一天可针对一个号码无限量发送短信。

猜你喜欢

转载自blog.csdn.net/kewail_robin/article/details/89960483