推送回复短信
功能说明:开通此接口后,我们将为您实时推送最新的回复短信。您需要提供一个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_reply | string | 是 | 经过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参数
名称 | 类型 | 描述 |
---|---|---|
id | string | 唯一序列号,无特别含义及用途 |
mobile | string | 回复短信的手机号 |
reply_time | string | 回复短信的时间 |
text | text | 回复的短信内容 |
extend | string | 您发送时传入的扩展子号,未申请扩展功能或者未传入时为空串 |
base_extend | string | 系统分配的扩展子号 |
_sign | string | 签名字段 |
其中json示例为:
{
"id": "2a70c6bb4f2845da816ea1bfe5732747",
"mobile": "15205201314",
"reply_time": "2014-03-17 22:55:21",
"text": "收到了,谢谢!",
"extend": "01",
"base_extend": "8888",
"_sign": "393d079e0a00912335adfe46f4a2e10f"
}