API: SMS/MultiSend - 短信一對(duì)多發(fā)送
概覽
sms/multisend
是 SUBMAIL sms/send
API 一對(duì)多(即1條API請(qǐng)求發(fā)送多個(gè)號(hào)碼,可以靈活控制每個(gè)聯(lián)系人的文本變量,并且無需提前創(chuàng)建模板)和群發(fā) API 。(建議:?jiǎn)尉€程提交數(shù)量控制在50個(gè)聯(lián)系人, 可以開多個(gè)線程同時(shí)發(fā)送)
使用方法與 sms/send
極為相似,不同的是 sms/multisend
去除了 to
參數(shù)將其整合到 multi
參數(shù)中,并且 content
參數(shù)將支持使用 @var(key)
方式申明文本變量,multi
參數(shù)可以將聯(lián)系人的手機(jī)號(hào)碼,和不同的文本變量整合,實(shí)現(xiàn)一對(duì)多場(chǎng)景中靈活控制文本變量的功能。
開發(fā)者們可在提交 sms/multisend
API 時(shí),將 to
和 vars
參數(shù)編碼為 JSON
字符串格式添加到 multi
參數(shù)中提交,multi
參數(shù)的數(shù)據(jù)模型請(qǐng)參考以下示例:
multi=[{
"to":"15*********",
"vars":{
"name":"kevin",
"code":123456
}
},{
"to":"18*********",
"vars":{
"name":"jacky",
"code":236554
}
},{
"to":"13*********",
"vars":{
"name":"tom",
"code":236554
}]
完整的 sms/multisend
POST 請(qǐng)求請(qǐng)參考以下示例:
appid=your_app_id
content=【SUBMAIL】您好,@var(name),您的取貨碼為 @var(code)
multi=[{
"to":"15*********",
"vars":{
"name":"kevin",
"code":123456
}
},{
"to":"18*********",
"vars":{
"name":"jacky",
"code":236554
}
},{
"to":"13*********",
"vars":{
"name":"tom",
"code":236554
}]
signature=your_app_key
URL
https://api-v4.mysubmail.com/sms/multisend
支持格式
格式 | URL |
---|---|
json | https://api-v4.mysubmail.com/sms/multisend.json (默認(rèn)) |
xml | https://api-v4.mysubmail.com/sms/multisend.xml |
yaml | https://api-v4.mysubmail.com/sms/multisend.yaml |
http 請(qǐng)求方式
請(qǐng)求方式 | content-type設(shè)置 |
---|---|
http post | multipart/form-data 、x-www-form-urlencoded 、application/json |
是否需要授權(quán)
是
參閱 API 授權(quán)和驗(yàn)證機(jī)制
請(qǐng)求參數(shù)
參數(shù) | 類型 | 必需/可選 | 默認(rèn) | 描述 |
---|---|---|---|---|
appid | string | 必需 | 無 | 在 SUBMAIL 應(yīng)用集成中創(chuàng)建的短信應(yīng)用ID |
signature | string | 必需 | 無 | 應(yīng)用密匙或數(shù)字簽名 參閱 API授權(quán)與驗(yàn)證機(jī)制 > 授權(quán)和驗(yàn)證方式 |
content | string | 必需 | 短信正文 | 短信正文。 (正文中必須提交有效的短信簽名,且您的短信簽名必須放在短信的最前端,e.g.【SUBMAIL】您的短信驗(yàn)證碼:4438,請(qǐng)?jiān)?0分鐘內(nèi)輸入。 content 參數(shù)將會(huì)與您賬戶中的短信模板進(jìn)行匹配,如無匹配 則會(huì)自動(dòng)創(chuàng)建一個(gè)短信模板并提交到人工審核,審核通過后下次提交相似短信內(nèi)容時(shí)(內(nèi)容達(dá)到一定匹配度)則不會(huì)觸發(fā)人工審核,直接進(jìn)行下發(fā),如果審核失敗則第二次請(qǐng)求返回 420 錯(cuò)誤,審核失敗會(huì)觸發(fā)SUBHOOK中模板template_reject事件,請(qǐng)將短信正文控制在 1000 個(gè)字符以內(nèi)。 |
multi | json string | 必需 | 無 | 收件人 to 聯(lián)系人參數(shù)和 vars 文本變量的整合模式,請(qǐng)將 to 和 vars 整合成 json字符串格式提交(數(shù)據(jù)模型請(qǐng)參考本頁(yè)概覽處multi參數(shù)示例) |
tag | string | 可選 | 無 | 自定義標(biāo)簽功能,該標(biāo)簽可用作SUBHOOK追蹤 (32 個(gè)字符以內(nèi),添加了 tag 參數(shù)的 API 請(qǐng)求,會(huì)在所有的 SUBHOOK 事件中攜帶此參數(shù)。tag參數(shù)不參加加密計(jì)算) |
timestamp | string | 可選 | 無 | 參閱 API 授權(quán)與驗(yàn)證機(jī)制 > Timestamp UNIX 時(shí)間戳 |
sign_type | string | 可選 | normal | API 授權(quán)模式( md5 or sha1 or normal )參閱 API 授權(quán)與驗(yàn)證機(jī)制 > 授權(quán)和驗(yàn)證方式 |
sign_version | string | 可選 | 2 | signature加密計(jì)算方式(當(dāng)sign_version傳2時(shí),multi,content參數(shù)不參與加密計(jì)算) |
注意:
multi 參數(shù)要求嚴(yán)格的 JSON 格式,以下是將參數(shù)轉(zhuǎn)換為 JSON 格式的注意事項(xiàng)
json 字符串必須以雙引號(hào)包含
json 字符串必須是 utf8 編碼
不能有多余的逗號(hào) 如:[1,2,]
json 字符串首尾必須被大括號(hào){}包含
PS:大多數(shù)的語言都有專屬的JSON解析器( ENCODING 和 DECODEING 方法)。如 PHP,首先將需要的變量以數(shù)組形式(如 $var[‘key’]=value) 創(chuàng)建后,使用 json_encode($var)方法創(chuàng)建 JSON 字符串;
代碼示例
發(fā)送一封測(cè)試短信
POST URL
https://api-v4.mysubmail.com/sms/multisend
POST DATA
appid=your_app_id
&content=【SUBMAIL】您好,@var(name),您的取貨碼為 @var(code)
&multi=[{
"to":"15*********",
"vars":{
"name":"kevin",
"code":123456
}
},{
"to":"18*********",
"vars":{
"name":"jacky",
"code":236554
}
}]
&signature=your_app_key
返回值
請(qǐng)求成功
[
{
"status": "success",
"send_id": ""c2f0e679ad8dc2bf6cb71bf2925665e0",
"fee": 1
},{
"status": "success",
"send_id": ""z5sd8679ad8dc2bf6cb71bf292595g23,
"fee": 1
}
]
請(qǐng)求失敗
[
{
"status":"error",
"code":1xx,
"msg":"error sms"
},{
"status":"success",
"to":"18*********",
"send_id":"093c0a7df143c087d6cba9cdf0cf3738",
"fee": 1
}
]
注:sms/multisend API
中返回碼將包含成功和失敗的狀態(tài) ,API 在一條API中發(fā)起對(duì)多個(gè)號(hào)碼的請(qǐng)求,所以返回狀態(tài)也是按多條API計(jì)算的,例如:?jiǎn)未握?qǐng)求中包含3個(gè)聯(lián)系人,其中2個(gè)聯(lián)系人請(qǐng)求成功,1個(gè)聯(lián)系人請(qǐng)求失敗時(shí),此時(shí)的API返回狀態(tài),將包含3條狀態(tài)數(shù)組(即2條 status:success
,1條 status:error
的狀態(tài))