//與php5.3和php5.6配合良好。
命名空間Moduyun \ Sms
require _ once(' smssenderutil . PHP ');
SmsSingleSender類{
var $ url
var $ accesskey
var $ secretkey
var $ util
function __construct($accesskey,$secretkey) {
$ 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 "...},省略的內容請參考協議文檔。
*/
函數send($type,$nationCode,$ phoneNumber,$msg,$extend = " ",$ ext = " " {
/*
請求數據包主體
{
"電話":{
“國家代碼”:“86”,
【手機】:“1378888888”
},
【類型】:0,
“msg”:“您的驗證碼是1234”,
" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",
【時間】:1479888540,
"擴展": "",
" ext ":" "
}
響應包含
{
【結果】:0,
" errmsg": "OK ",
" 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 \ stdClass();
$ tel->;國家代碼= " "。$ nationCode
$ tel->;手機= " "。$ number部手機;
$ data-& gt;tel = $ tel
$ data-& gt;type =(int)$ type;
$ data-& gt;msg = $ msg
$ data-& gt;sig = hash("sha256 ",
" 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($wholeUrl,$ data);
}
/**
*指定模板單。
* @param string $nationCode國家代碼,例如86是中國。
* @param string $phoneNumber不帶國家代碼的手機號碼
* @param int $templId模板Id
* @param array $params模板參數列表,如template {1}...{2}...{3},那麽妳需要帶三個參數。
* @param string $sign簽名。如果填寫了字符串,系統將使用默認簽名。
* @param string $extend擴展代碼,可以填空。
* @param string $ext服務器按原樣返回的參數,可以填空。
* @ return string JSON string { " result ":xxxxx," errmsg": "xxxxxx "?...},省略內容請參考協議文件。
*/
函數sendWithParam($nationCode,$ phoneNumber,$templId = 0,$params,$sign = " ",$extend = " ",$ ext = " " {
/*
請求數據包主體
{
"電話":{
“國家代碼”:“86”,
【手機】:“1378888888”
},
“簽”:“魔都雲”,
【TPL _ id】:19,
" params": [
"驗證碼"、
"1234",
"4"
],
" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",
【時間】:1479888540,
"擴展": "",
" ext ":" "
}
響應包含
{
【結果】:0,
" errmsg": "OK ",
" 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 \ stdClass();
$ tel->;國家代碼= " "。$ nationCode
$ tel->;手機= " "。$ number部手機;
$ 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($wholeUrl,$ data);
}
}
SmsMultiSender類{
var $ url
var $ accesskey
var $ secretkey
var $ util
function __construct($accesskey,$secretkey) {
$ 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 "...},省略的內容請參考協議文檔。
*/
函數send($type,$nationCode,$phoneNumbers,$msg,$extend = " ",$ext = " ")。
/*
請求數據包主體
{
"電話":[
{
“國家代碼”:“86”,
【手機】:“1378888888”
},
{
“國家代碼”:“86”,
【手機】:“13788888889”
}
],
【類型】:0,
“msg”:“您的驗證碼是1234”,
" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",
【時間】:1479888540,
"擴展": "",
" ext ":" "
}
響應包含
{
【結果】:0,
" errmsg": "OK ",
" ext ":" ",
"詳細信息":[
{
【結果】:0,
" errmsg": "OK ",
【手機】:“1378888888”,
“國家代碼”:“86”,
" sid": "xxxxxxx ",
【費用】:1
},
{
【結果】:0,
" errmsg": "OK ",
【手機】:“13788888889”,
“國家代碼”:“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($wholeUrl,$ data);
}
/**
*指定模板組發送。
*註意海外短信沒有群發功能。
* @param string $nationCode國家代碼,例如86是中國。
* @param array $phoneNumbers不帶國家代碼的手機號碼列表
* @param int $templId模板Id
* @param array $params模板參數列表,如template {1}...{2}...{3},那麽妳需要帶三個參數。
* @param string $sign簽名。如果填寫了字符串,系統將使用默認簽名。
* @param string $extend擴展代碼,可以填空。
* @param string $ext服務器按原樣返回的參數,可以填空。
* @ return string JSON string { " result ":xxxxx," errmsg": "xxxxx "...},省略的內容請參考協議文檔。
*/
函數sendWithParam($nationCode,$phoneNumbers,$templId,$params,$sign = " ",$extend = " ",$ ext = " " {
/*
請求數據包主體
{
"電話":[
{
“國家代碼”:“86”,
【手機】:“1378888888”
},
{
“國家代碼”:“86”,
【手機】:“13788888889”
}
],
“簽”:“魔都雲”,
【TPL _ id】:19,
" params": [
"驗證碼"、
"1234",
"4"
],
" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",
【時間】:1479888540,
"擴展": "",
" ext ":" "
}
響應包含
{
【結果】:0,
" errmsg": "OK ",
" ext ":" ",
"詳細信息":[
{
【結果】:0,
" errmsg": "OK ",
【手機】:“1378888888”,
“國家代碼”:“86”,
" sid": "xxxxxxx ",
【費用】:1
},
{
【結果】:0,
" errmsg": "OK ",
【手機】:“13788888889”,
“國家代碼”:“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($wholeUrl,$ data);
}
}
更多歡迎關註雲服務——魔度雲平臺。
官方網站:/