为保证及时有效的将短信状态信息回传给客户,需要客户提供一个接收短信状态回传的HTTP接口地址,在客户接入秒信平台的时候,将此接口地址注册到秒信平台当中,也可以将接口地址随时提交给客户经理进行修改。也可以登录秒信云控制台自行设定。
秒信平台把短信状态组装成json格式字符串,作为“reports”的参数名的值,传送给客户预设的HTTP回调地址。 数据字符串,格式如下: 示例如下:
{
"total":2,
"reports":
[
{
"order_id":"1839347820929302091",
"mobile":"18600000001",
"status":0,
"msg":"信息提示",
"received_time":"2016-12-22 23:11:40",
"done_time":"2016-12-22 23:11:40",
"pieces":1,
"ext":"123",
"ref":"",
"account":"10000a"
},
{
"order_id":"1839347820929302093",
"mobile":"18600000000",
"status":0,
"msg":"信息提示",
"received_time":"2016-12-22 23:11:40",
"done_time":"2016-12-22 23:11:40",
"pieces":1,
"ext":"123",
"ref":"",
"account":"10000a"
}
]
}
| 变量名 | 必返 | 类型 | 含义 |
|---|---|---|---|
| total | √ | int | 代表本次返回多少个信息状态 |
| reports | √ | array | 汇报内容是一个数组,会对每一个订单的下发请求做单独的详情汇报 |
| reports.order_id | √ | string | 短信提交成功后的订单id |
| reports.mobile | √ | string | 发送的目标客户手机号码 账号开启加密后手机号则为加密后的密文。 |
| reports.status | √ | int | 状态报告: 负数代表平台驳回,详见错误代码对应表 0代表平台收到消息,还在处理 1代表最终发送成功 2代表测试状态模拟成功 3代表正在发送中(未回状态) 大于3代表运营商反馈发送失败 |
| reports.msg | √ | string | reports.status对应的中文解释 |
| reports.received_time | √ | string | 秒信收到客户提交发送短信的时间 |
| reports.done_time | √ | string | 秒信收到运营商反馈状态时间(正常情况下等同于用户接收到短信时间,如果运营商推送服务出现宕机,此时间会滞后) |
| reports.pieces | √ | int | 计费条数 |
| reports.ext | √ | string | 扩展号 |
| reports.ref | √ | string | reference参数(如果有则返回) |
| reports.account | √ | string | 客户账号,一般是 6 位字母数字混合构成 |
当客户收到异步推送后,要求接口在内容正文中返回包含success字样,如果没有此字样,秒信平台认为本次装填推送没有完成,秒信平台会在1分钟、3分钟、15分钟、30分钟、60分钟、180分钟后分别尝试再次推送,如果尝试后还无法成功推送,则不再推送