推送状态报告


功能说明:开通此接口后,我们将为您实时推送最新的状态报告。您需要提供一个callback url地址,接受http post请求。 该接口一次最多推送100个状态报告,为不影响推送速度,建议先接受数据后再做异步处理。


备注:


  • 本功能默认不开启,如需开启请前往“系统设置-数据获取与推送”页设置。您可以设置固定的callback url 地址,也可以在每次发送请求中携带callback url 地址。我们会优先向发送请求中携带的callback url 地址推送。
  • 所有带+86前缀的号码都会去掉+86
  • 接收到数据后,请从参数sms_status中取值,取到值使用urldecode解码后为实际json格式数据(部分语言由于解码方式差异需要解码两次)处理成功请返回字符串"SUCCESS"或"0",其他返回值将被认为是失败。该接口失败重试次数为3次,每次间隔5分钟。
  • 获取数据后,建议根据sid做去重。


HTTP头信息:


Accept:application/json;charset=utf-8;
Content-Type:application/x-www-form-urlencoded;charset=utf-8;


请求


URL:http://your_receive_url_address


注意:海外服务器地址 us.yunpian.com


访问方式: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“


重要说明


请按照如下顺序使用参数


  1. 请先使用 report_status 判断接收状态;如果是"SUCCESS",为接收成功;如果是"FAIL",为接收失败;
  1. 如果接收状态失败,可以参考error_detail 以及 error_msg 来获取更详细信息;特别注意,这两个字段为解释型字段,请不要依据这两个字段判断接收状态;
  1. 请妥善保存推送信息;
  1. 如果您的系统接收推送信息失败,请及时联系我们。


其中json示例


[
    {
        "error_detail": "接收成功",
        "sid": 9527,
        "uid": "1234567",
        "user_receive_time": "2014-03-17 22:55:21",
        "error_msg": "DELIVRD",
        "mobile": "15205201314",
        "report_status": "SUCCESS"
    },
    {
        "sid": 9528,
        "user_receive_time": "2014-03-17 22:55:23",
        "error_msg": "DELIVRD",
        "mobile": "15212341234",
        "report_status": "SUCCESS"
    },
    {
        "error_detail": "接收成功",
        "sid": 9529,
        "uid": "abcdefg",
        "user_receive_time": "2014-03-17 22:55:23",
        "error_msg": "DELIVRD",
        "mobile": "15212341234",
        "report_status": "SUCCESS"
    }
]