1 协议说明
协议 | HTTP POST |
---|---|
编码格式 | UTF8 |
URL | 举例:https://msg.yundashi.com/api/sms/marketing?sdkappid=xxxxx&random=xxxx |
接口说明 | 给用户群发通知类或营销类短信。手机号码需全部为国内或者海外手机号码(单次提交不超过 500 个手机号,内容长度不超过 450 字),也支持单发短信。注:sdkappid请填写您在云大师短信官网上申请到的客户编号,random请填成随机数。 |
2 请求包体
包体为json字符串,参数如下:
{
"tel": [
{
"mobile": "13788888888",//手机号码
"nationcode": "86"//国家码
},
{
"mobile": "13788888889",//手机号码
"nationcode": "86"//手机号码
}
],
"msg": "【云大师】的验证码是1234", //utf8编码
"sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
"extend": "", //通道扩展码,可选字段,默认没有开通(需要填空)。在短信回复场景中,云大师server会原样返回,开发者可依此区分是哪种类型的回复
"time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
"ext": "" //用户的session内容,云大师server回包中会原样返回,可选字段,不需要就填空。
}
参数 | 必选 | 类型 | 描述 |
---|---|---|---|
tel | 是 | array | 群发号码数组,群发时一次最多不要超过 500 个手机号 |
msg | 是 | string | 短信消息,utf8 编码,需要包含签名 |
sig | 是 | string | App 凭证,具体计算方式见下注 |
time | 是 | number | 请求发起时间,unix 时间戳(单位:秒),如果和系统时间相差超过 10 分钟则会返回失败 |
ext | 否 | string | 用户的 session 内容 server回包中会原样返回,可选字段,不需要就填空 |
extend | 否 | string | 通道扩展码,可选字段,默认没有开通(需要填空) |
- 数组tel元素参数:
参数 | 必选 | 类型 | 描述 |
---|---|---|---|
mobile | 是 | string | 手机号码 |
nationcode | 是 | string | 国家码 |
注:
1、"msg"字段需要包含签名
如果您的模板是"【云大师】你的验证码是{1}",则"msg"字段可赋值为:"【云大师】你的验证码是xxxx"。(其中"xxxx"为下发的验证码)
2、"extend"字段的配置请联系 云大师工作人员
3、"sig"字段根据公式sha256(appkey=$appkey&random=$random&time=$time&mobile=$mobile)生成 伪代码如下:
string strMobile = "13788888888,13788888889"; //tel 的 mobile 字段的参数值以 "," 分割
string strAppKey = "5f03a35d00ee52a21327ab048186a2c4"; //sdkappid 对应的 appkey,需要业务方高度保密
string strRand = "7226249334"; //url 中的 random 字段的值
string strTime = "1457336869"; //unix 时间戳
string sig = sha256(appkey=5f03a35d00ee52a21327ab048186a2c4&random=7226249334&time=1457336869&mobile=13788888888,13788888889)
= be66bb4aeb54701ed0637d0996a0b75111d5b8eda9b3a71bdc579a3d26f3edfb;
3 应答包体
{
"result": 0,//0表示成功(计费依据),非0表示失败
"errmsg": "OK",//result非0时的具体错误信息
"ext": "",//用户的session内容,云大师server回包中会原样返回
"detail": [
{
"errmsg": "OK",
"fee": 1,//短信计费的条数
"mobile": "13788888888",
"nationcode": "86",
"result": 0,//0表示成功(计费依据),非0表示失败
"sid": "xxxxxxx"//标识本次发送id,标识一次短信下发记录
},
{
"errmsg": "OK",
"fee": 1,
"mobile": "13788888889",
"nationcode": "86",
"result": 0,
"sid": "xxxxxxx"
}
]
}