短信下行
1. 请求
(1) 请求地址:
https://u.smsyun.cc/sms-partner/access/{用户帐号}/sendsms
注意:为了确保数据隐私和安全,用户需要通过Https Post方式请求,消息格式:json表达式。
(2) Https标准包头字段:
Accept:application/json;
Content-Type:application/json;charset=utf-8;
(3) 请求包体:
属性 | 类型 | 约束 | 说明 |
clientid | String | 必选 | 帐号,6位, 如:a00012,b00012 |
password | String | 必选 | 密码,8-12位,MD5加密后32位,小写, 如:1bbd886460827015e5d605ed44252251 |
mobile | String | 必选 | 发送手机号码, 国内短信不要加前缀,国际短信号码前须带相应的国家区号,如日本:0081, 支持多号码,号码之间用英文逗号隔开,最多100个。 国内手机号码如:18612341234 国际号码如:0085265656565 |
smstype | String | 必选 | 短信类型, "0":通知短信,"4":验证码短信,"5":营销短信 |
content | String | 必选 | 【签名】+ 短信内容,UTF-8编码, 短信内容最长500个字(包括英文字母),其中签名2-12个字(包括英文字母) |
sendtime | String | 可选 | 定时发送时间, 为空表示立即发送,定时发送格式2016-11-11 09:00:00 (未生效) |
extend① | String | 可选 | 自扩展端口, 1-4位,只能为数字,可以为空 (注:请先询问配置的通道是否支持自扩展端口,如果不支持,请填空) |
uid② | String | 可选 | 用户透传ID, 随状态报告返回,最长60位 |
注:
① extend字段用于客户传送由客户自行分配给子客户的扩展端口,用于上行短信回来与之对应。
如:某客户下有A、B、C三个子客户,并且该客户获得某通道两位自扩展,分别对其子客户自行分配的扩展端口依次为子客户A:01,子客户B:02,子客户C:03。
若子客户A在发送下行短信时将该扩展端口01填入此字段即可,上行短信将会把此字段的扩展端口01发给客户,用于客户区分哪个子客户的上行短信,子客户A可根据上行短信中的电话号码对应之前的下行手机号码;
② uid字段用户在单、群发短信时,由用户生成并下发到平台的序列号(最长不超过60位),该uid将在应答、状态报告中返回给客户,用于客户区分或对应单、群发短信的批次。
群发一次最多100个号码(目前不支持多内容组发)。
(4) JSON请求示例:
{
"clientid":"test",
"password":"6918d0046aab6a1ee290f751e02bd0b2",
"mobile":"13800138000,13800138001,19800138002,19800138003",
"smstype":"4",
"content":"【云通讯】您的验证码为:1234",
"sendtime":"2016-11-11 09:00:00",
"extend":"00",
"uid":"00"
}
包头/包体 | 实例 | 备注 |
Header | POST /sms-partner/access/test/sendsms HTTP/1.1 Accept-Encoding:identity Content-Length:191 Host:172.16.5.20:9999 Accept:application/json Content-Type:application/json;charset=utf-8 | 蓝色字体为可变部分, 保证路径正确,采用HTTPS的POST方式发送; |
Body | {"clientid":"test","password":"6918d0046aab6a1ee290f751e02bd0b2","mobile":"13800138000,13800138001,19800138002,19800138003","smstype":"4","content":"【云通讯】您的验证码为1234","sendtime":"2016-11-11 09:00:00","extend":"00","uid":"00"} | 蓝色字体为可变部分 |
2. 响应
(1) 响应包体:
属性 | 类型 | 约束 | 说明 |
total_fee | Int | 必选 | 短信发送的计费总条数 |
data | 每个手机号发送的详细情况 | ||
code | Int | 必选 | 短信请求响应返回码,参考“请求响应返回码”定义的返回码 (详见第九章第1节) |
msg | String | 必选 | 短信请求响应返回中文描述,参考“请求响应返回码”定义的中文描述(详见第九章第1节) |
fee | Int | 必选 | 成功发送的短信计费条数,计费规则如下:70个字一条,超出70个字时按每67字一条计费(英文按字母个数计算) |
mobile | String | 必选 | 接收短信的手机号码 |
sid | String | 必选 | 短信标识符(用于匹配状态报告),一个手机号对应一个sid |
uid | String | 可选 | 用户透传ID,随状态报告返回 |
注:
① total_fee表示单(群)发短(长)短信总共计费的条数,该条数等于data域中各个fee字段数量之和;
② fee表示每个短信接收的手机号码收到短信的计费条数(长短信按照短信计费规则进行计费,长短信拆分最大不超过10条);
③ sid是短信平台产生的唯一标示,与后面返回的状态报告中的sid一一对应,用于下发短息与状态报告相对应;
④ uid字段返回内容和第一章第1节请求中的“用户透传ID”一致,用于客户区分或对应单、群发短信的批次;
(2) JSON响应示例
{
"total_fee":2,
"data":[
{
"code":0,
"msg":"发送成功",
"fee":1,
"mobile":"13800138000",
"sid":"08faf6-5728-438d-95ed-e0e0cec4fd37",
"uid":"1234"
},
{
"code":0,
"msg":"发送成功",
"fee":1,
"mobile":"13800138001",
"sid":"09faf6-5728-838d-95ed-e0e0cec4fd39",
"uid":"1234"
},
{
"code":-7,
"msg":"手机号码格式错误"
"fee":0,
"mobile":"19800138002",
"sid":"753af6-5728-838d-95ed-e0e0cec4fd39",
"uid":"1234"
},
{
"code":-7,
"msg":"手机号码格式错误"
"fee":0,
"mobile":"19800138003",
"sid":"95sw6-5728-838d-95ed-e0e0cec4fd39",
"uid":"1234"
}
]
}
包头/包体 | 实例 | 备注 |
Header | HTTP/1.1 200 OK Accept-Encoding:identity Content-Length:424 Host:172.16.5.21:45302 Accept:application/json Content-Type:application/json;charset=utf-8 | 蓝色字体为可变部分 |
Body | {"total_fee":2,"data":[{"code":0,"msg":"发送成功","fee":1,"mobile":"13800138000","sid":"08faf6-5728-438d-95ed-e0e0cec4fd37"},{"code":0,"msg":"发送成功","fee":1,"mobile":"13800138001","sid":"09faf6-5728-838d-95ed-e0e0cec4fd39"},{"code":-7,"msg":"手机号码格式错误","fee":0, "mobile":"19800138002", "sid":"753af6-5728-838d-95ed-e0e0cec4fd39"}, {"code":-7,"msg":"手机号码格式错误","fee":0, "mobile":"19800138003","sid":"95sw6-5728-838d-95ed-e0e0cec4fd39","uid":"1234"}]} | 蓝色字体为可变部分 |