推送回复短信


功能说明:
开通此接口后,我们将为您实时推送最新的回复短信。您需要提供一个 url 地址,接受 http post 请求。


备注:
该接口为高级接口,默认不开放,可以在云片用户后台开启并配置。


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_replystring经过 urlencode 编码的数据形式如:sms_reply=urlencode(json)


推送的数据格式:


参数名=经过 urlencode 编码的数据


形式如:


sms_reply=urlencode(json)


服务端推送数据形式如下:


curl --data "sms_reply=url_encode_json" http://your_receive_url_address


备注:


接收到数据后,请从参数 sms_reply 中取值,取到值使用 urldecode 解码后为实际 json 格式数据处理成功请返回字符串"SUCCESS"或"0",其他返回值将被认为是失败。该接口失败重试次数为 5 次,每次间隔 1 分钟。


添加签名字段是为了防止恶意推送,签名校验方式如下:把接收到的 json 字段以 key 的字母顺序,将值组合起来(签名字段除外),以英文逗号隔开,形成的字符串和用户的 apikey 连接,同样在之间插入英文逗号,得到最终字符串,然后使用 md5 加密转换成 32 位小写字符,即为签名字段,签名字段和接收到的签名对比,如果一致,说明数据来自我们推送,否则可能来自恶意推送。


如以上数据,把 key 按序排列为,base_extend、extend、id、mobile、reply_time、text,假设用户的 apikey 为 0000,那么按照以上规则拼接得到的字符串为:“8888,01,2a70c6bb4f2845da816ea1bfe5732747,15205201314,2014-03-17 22:55:21,收到了,谢谢!,0000”,经过md5转换得到32位小写字符为“393d079e0a00912335adfe46f4a2e10f”,接收端计算出来的签名字段和接收到的签名应当一致,不一致,则数据存在问题。


推送 json 参数

名称类型描述
idstring唯一序列号,无特别含义及用途
mobilestring回复短信的手机号
reply_timestring回复短信的时间
texttext回复的短信内容
extendstring您发送时传入的扩展子号,未申请扩展功能或者未传入时为空串
base_extendstring系统分配的扩展子号
_signstring签名字段


其中 json 示例为:


{
  "id": "2a70c6bb4f2845da816ea1bfe5732747",
  "mobile": "15205201314",
  "reply_time": "2014-03-17 22:55:21",
  "text": "收到了,谢谢!",
  "extend": "01",
  "base_extend": "8888",
  "_sign": "393d079e0a00912335adfe46f4a2e10f"
}