推送状态报告
功能说明:
开通此接口后,我们将为您实时推送最新的状态报告。您需要提供一个 url 地址,接受 http post 请求。 该接口一次最多推送 100 个状态报告,为不影响推送速度,建议先接受数据后再做异步处理。
备注:
- 本功能默认不开启,如果开启请前往数据获取与推送页设置。
- 获取数据后,建议根据 sid 做去重。
HTTP 头信息:
Accept:application/json;charset=utf-8;
Content-Type:application/x-www-form-urlencoded;charset=utf-8;
请求
URL:http://your_receive_url_address
访问方式:POST
请求参数
参数名 | 类型 | 是否必须 | 描述 |
sms_status | string | 是 | 经过 urlencode 编码的数据形式如:sms_status=urlencode(json) |
具体详解:
推送的数据格式:
参数名=经过urlencode编码的数据
形式如:
sms_status=urlencode(json)
服务端推送数据形式如下:
curl --data "sms_status=url_encode_json" http://your_receive_url_address
推送 json 参数
名称 | 类型 | 描述 |
error_detail | string | 运营商反馈代码的中文解释,仅供参考(默认不推送此字段,如需推送,请联系客服开通) |
sid | long(64 位) | 短信 id,64 位整型, 对应 Java 和 C#的 long,不可用 int 解析 |
uid | string | 用户自定义 id |
user_receive_time | string | 用户接收时间 |
error_msg | string | 运营商返回的代码,如:"DB:0103" |
mobile | string | 接收手机号 |
report_status | string | 接收状态有:SUCCESS/FAIL |
其中 json 示例为:
[
{
"error_detail": "接收成功",
"sid": 9527,
"uid": null,
"user_receive_time": "2014-03-17 22:55:21",
"error_msg": "",
"mobile": "+93701234567",
"report_status": "SUCCESS"
},
{
"error_detail": "错误号码,不扣费",
"sid": 9528,
"uid": null,
"user_receive_time": "2014-03-17 22:55:23",
"error_msg": "YP:54",
"mobile": "+93701234566",
"report_status": "FAIL"
}
]
备注:
接收到数据后,请从参数 sms_status 中取值,取到值使用 urldecode 解码后为实际 json 格式数据(部分语言由于解码方式差异需要解码两次)。
处理成功请返回字符串"SUCCESS"或"0",其他返回值将被认为是失败。该接口失败重试次数为 3 次,每次间隔 5 分钟。