//適用於php5.3和php5.6。
命名空間Moduyun \ Sms
require _ once(‘smssenderutil . PHP‘);
SmsSingleSender類{
var $ url
var $ accesskey
var $ secretkey
var $ util
function _ _ construct($ access key,$ secret key ){
$ this-& gt;URL =“/SMS/v 1/sendsinglesms“;
$ this-& gt;accesskey =?$ accesskey
$ this-& gt;secretkey = $ secretkey
$ this-& gt;util = new SmsSenderUtil();
}
/**
*普通單發行,明確指定內容。如果有多個簽名,請將它們以的形式添加到信息內容中,否則系統將使用默認簽名。
* @param int $type短信類型,0為普通短信,1為營銷短信。
* @param string $nationCode國家代碼例如,86是中國。
* @param string $phoneNumber不帶國家代碼的手機號碼
* @param string $msg信息內容必須與應用程序的模板格式壹致,否則將返回錯誤。
* @param string $extend擴展代碼,可以填空。
* @param string $ext服務器按原樣返回的參數,可以填空。
* @ return string JSON string {“result“:xxxxx,“errmsg“:“xxxxx“...},省略的內容請參考方案文件。
*/
函數發送($type,$nationCode,$phoneNumber,$msg,$extend =““,$ ext =““{
/*
請求數據包主體
{
“電話“:{
“國家代碼”:“86”,
【手機】:“137888888”
},
【類型】:0,
“msg”:“您的驗證碼是1234”,
“SIG“:“fdba 654 e 05 bc0d 15796713a 1a 1a 2318c“,
【時間】:1479888540,
“擴展“:“,
“ext“:““
}
響應包含
{
【結果】:0,
“errmsg“:“好的“,
“ext“:“,
“sid“:“xxxxxxx“,
【費用】:1
}
*/
$ random = $ this-& gt;util-& gt;get random();
$ curTime = time();
$ whole URL = $ this-& gt;網址。"?accesskey=“。$ this-& gt;訪問鍵。“& amprandom=“。$ random
//根據協議組織post包體。
$ data = new \ stdClass();
$ tel = new \ STD class();
$ tel-& gt;國家代碼=““。$ nationCode
$ tel-& gt;手機=““。$電話號碼;
$ data-& gt;tel = $ tel
$ data-& gt;type =(int)$ type;
$ data-& gt;msg = $ msg
$ data-& gt;SIG = hash(“sha 256“,
“secretkey=“。$ this-& gt;秘鑰。“& amprandom=“。$random。“& amp時間=“。$curTime。“& amp手機=“。$phoneNumber,FALSE);
$ data-& gt;time = $ curTime
$ data-& gt;extend = $ extend
$ data-& gt;ext = $ ext
return $ this-& gt;util-& gt;sendCurlPost($ whole URL,$ data);
}
/**
*指定模板單。
* @param string $nationCode國家代碼例如,86是中國。
* @param string $phoneNumber不帶國家代碼的手機號碼
* @param int $templId模板Id
* @param array $params模板參數列表,如模板{1}...{2}...{3},那麽您需要帶三個參數。
* @param string $sign簽名。如果填寫了字符串,系統將使用默認簽名。
* @param string $extend擴展代碼,可以填空。
* @param string $ext服務器按原樣返回的參數,可以填空。
* @ return string JSON string {“result“:xxxxx,“errmsg“:“XXXXXX“?...},省略內容請參考協議文件。
*/
函數sendWithParam($ nation code,$ phoneNumber,$templId = 0,$params,$sign =““,$extend =““,$ ext =““{
/*
請求數據包主體
{
“電話“:{
“國家代碼”:“86”,
【手機】:“137888888”
},
“征”:“莫德雲”,
【TPL _ id】:19,
“params“:【
“驗證碼”、
"1234",
"4"
],
“SIG“:“fdba 654 e 05 bc0d 15796713a 1a 1a 2318c“,
【時間】:1479888540,
“擴展“:“,
“ext“:““
}
響應包含
{
【結果】:0,
“errmsg“:“好的“,
“ext“:“,
“sid“:“xxxxxxx“,
【費用】:1
}
*/
$ random = $ this-& gt;util-& gt;get random();
$ curTime = time();
$ whole URL = $ this-& gt;網址。"?sdkaccesskey=“。$ this-& gt;訪問鍵。“& amprandom=“。$ random
//根據協議組織post包體。
$ data = new \ stdClass();
$ tel = new \ STD class();
$ tel-& gt;國家代碼=““。$ nationCode
$ tel-& gt;手機=““。$電話號碼;
$ data-& gt;tel = $ tel
$ data-& gt;SIG = $ this-& gt;util-& gt;calculateSigForTempl($ this-& gt;secretkey,$random,$curTime,$ phone number);
$ data-& gt;tpl _ id = $ templId
$ data-& gt;params = $ params
$ data-& gt;sign = $ sign
$ data-& gt;time = $ curTime
$ data-& gt;extend = $ extend
$ data-& gt;ext = $ ext
return $ this-& gt;util-& gt;sendCurlPost($ whole URL,$ data);
}
}
SmsMultiSender類{
var $ url
var $ accesskey
var $ secretkey
var $ util
function _ _ construct($ access key,$ secret key ){
$ this-& gt;URL =“/SMS/v 1/sendsinglesms“;
$ this-& gt;accesskey =?$ accesskey
$ this-& gt;secretkey = $ secretkey
$ this-& gt;util = new SmsSenderUtil();
}
/**
*普通群發,明確指定內容。如果有多個簽名,請將它們以的形式添加到信息內容中,否則系統將使用默認簽名。
*註意海外短信沒有群發功能。
* @param int $type短信類型,0為普通短信,1為營銷短信。
* @param string $nationCode國家代碼例如,86是中國。
* @param string $phoneNumbers不帶國家代碼的手機號碼列表
* @param string $msg信息內容必須與應用程序的模板格式壹致,否則將返回錯誤。
* @param string $extend擴展代碼,可以填空。
* @param string $ext服務器按原樣返回的參數,可以填空。
* @ return string JSON string {“result“:xxxxx,“errmsg“:“xxxxx“...},省略的內容請參考方案文件。
*/
函數發送($type,$nationCode,$phoneNumbers,$msg,$extend =““,$ ext =““{
/*
請求數據包主體
{
“電話“:【
{
“國家代碼”:“86”,
【手機】:“137888888”
},
{
“國家代碼”:“86”,
【手機】:“1378888889”
}
],
【類型】:0,
“msg”:“您的驗證碼是1234”,
“SIG“:“fdba 654 e 05 bc0d 15796713a 1a 1a 2318c“,
【時間】:1479888540,
“擴展“:“,
“ext“:““
}
響應包含
{
【結果】:0,
“errmsg“:“好的“,
“ext“:“,
“詳細信息“:【
{
【結果】:0,
“errmsg“:“好的“,
【手機】:“137888888”,
“國家代碼”:“86”,
“sid“:“xxxxxxx“,
【費用】:1
},
{
【結果】:0,
“errmsg“:“好的“,
【手機】:“1378888889”,
“國家代碼”:“86”,
“sid“:“xxxxxxx“,
【費用】:1
}
]
}
*/
$ random = $ this-& gt;util-& gt;get random();
$ curTime = time();
$ whole URL = $ this-& gt;網址。"?accesskey=“。$ this-& gt;訪問鍵。“& amprandom=“。$ random
$ data = new \ stdClass();
$ data-& gt;電話= $ this-& gt;util-& gt;phoneNumbersToArray($ nation code,$ phone numbers);
$ data-& gt;type = $ type
$ data-& gt;msg = $ msg
$ data-& gt;SIG = $ this-& gt;util-& gt;calculateSig($ this-& gt;secretkey,$random,$curTime,$ phone numbers);
$ data-& gt;time = $ curTime
$ data-& gt;extend = $ extend
$ data-& gt;ext = $ ext
return $ this-& gt;util-& gt;sendCurlPost($ whole URL,$ data);
}
/**
*指定模板組發送。
*註意海外短信沒有群發功能。
* @param string $nationCode國家代碼例如,86是中國。
* @param array $phoneNumbers不帶國家代碼的手機號碼列表
* @param int $templId模板Id
* @param array $params模板參數列表,如模板{1}...{2}...{3},那麽您需要帶三個參數。
* @param string $sign簽名。如果填寫了字符串,系統將使用默認簽名。
* @param string $extend擴展代碼,可以填空。
* @param string $ext服務器按原樣返回的參數,可以填空。
* @ return string JSON string {“result“:xxxxx,“errmsg“:“xxxxx“...},省略的內容請參考方案文件。
*/
函數sendWithParam($ nation code,$phoneNumbers,$templId,$params,$sign =““,$extend =““,$ext =““)
/*
請求數據包主體
{
“電話“:【
{
“國家代碼”:“86”,
【手機】:“137888888”
},
{
“國家代碼”:“86”,
【手機】:“1378888889”
}
],
“征”:“莫德雲”,
【TPL _ id】:19,
“params“:【
“驗證碼”、
"1234",
"4"
],
“SIG“:“fdba 654 e 05 bc0d 15796713a 1a 1a 2318c“,
【時間】:1479888540,
“擴展“:“,
“ext“:““
}
響應包含
{
【結果】:0,
“errmsg“:“好的“,
“ext“:“,
“詳細信息“:【
{
【結果】:0,
“errmsg“:“好的“,
【手機】:“137888888”,
“國家代碼”:“86”,
“sid“:“xxxxxxx“,
【費用】:1
},
{
【結果】:0,
“errmsg“:“好的“,
【手機】:“1378888889”,
“國家代碼”:“86”,
“sid“:“xxxxxxx“,
【費用】:1
}
]
}
*/
$ random = $ this-& gt;util-& gt;get random();
$ curTime = time();
$ whole URL = $ this-& gt;網址。"?accesskey=“。$ this-& gt;訪問鍵。“& amprandom=“。$ random
$ data = new \ stdClass();
$ data-& gt;電話= $ this-& gt;util-& gt;phoneNumbersToArray($ nation code,$ phone numbers);
$ data-& gt;sign = $ sign
$ data-& gt;tpl _ id = $ templId
$ data-& gt;params = $ params
$ data-& gt;SIG = $ this-& gt;util-& gt;calculateSigForTemplAndPhoneNumbers(
$ this-& gt;secretkey,$random,$curTime,$ phone numbers);
$ data-& gt;time = $ curTime
$ data-& gt;extend = $ extend
$ data-& gt;ext = $ ext
return $ this-& gt;util-& gt;sendCurlPost($ whole URL,$ data);
}
}
了解更多,歡迎關註雲服務-魔都雲平臺。
官方網站:/