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