状态报告和上行的推送分为压缩加密推送和普通推送,其中压缩加密推送可以提高传输安全性以及减轻网络压力,客户选择哪一种推送方式请咨询亿美客服人员。
注意:推送的数据经过UTF-8编码,注意解析时编码选择。
Http Header 会传输appId , 客户根据此APPID在本地匹配密钥。
参数 | 类型 | 传输方式 | 描述 |
---|---|---|---|
appId | String | http头信息传输 | 用户Appid(必填) |
mobile | String | 传输过来的数据是加密后的byte数组 | 手机号(必填) |
smsId | String | 消息ID(选填) | |
customSmsId | String | 自定义消息ID(选填) | |
state | String | 状态(必填) ,详见本文档《状态报告状态码表》 | |
desc | String | 状态描述(选填) | |
receiveTime | String | 状态报告返回时间(必填) 格式:yyyy-MM-dd HH:mm:ss | |
submitTime | String | 信息提交时间(必填) 格式:yyyy-MM-dd HH:mm:ss | |
extendedCode | String | 扩展码(选填) |
由于客户接受数据为压缩加密后的byte数组,所以客户需要对数据进行解密以及解压缩操作,获取到请求的字节数组之后,进行一下操作
1、获取APPID
appId = http.getHeader("appId");
2、解密 (其中secretKey为特服号秘钥)
bytes = bytes = AES.encrypt(bytes, secretKey.getBytes(), 算法);
3、解压缩
bytes = GZIPUtils.decompress(bytes);
4、获取json传数据(获取到json数据后,json传为状态报告集合,之后进行业务处理)
String json = new String(bytes, "UTF-8");
5、状态报告解密解压后json串示例
[{ "mobile":"15538850000", "smsId":"20170392833833891100", "customSmsId":"1553885000011111", "state":"DELIVRD", "desc":"成功", "receiveTime ":"2017-03-15 12:00:00", "submitTime":"2017-03-15 12:00:00", "extendedCode":"123" },{ "mobile":"15538850001", "smsId":"20170392833833891101", "customSmsId":"1553885000011112", "state":"DELIVRD", "desc":"成功", "receiveTime ":"2017-03-15 12:00:00", "submitTime":"2017-03-15 12:00:00", "extendedCode":"123" }]
参数 | 类型 | 传输方式 | 描述 |
---|---|---|---|
appId | String | http头信息传输 | 用户Appid(必填) |
mobile | String | 传输过来的数据是加密后的byte数组 | 手机号(必填) |
content | String | 上行内容(必填) | |
moTime | String | 上行返回时间(必填) 格式:yyyy-MM-dd HH:mm:ss | |
extendedCode | String | 扩展码(选填) |
由于客户接受数据为压缩加密后的byte数组,所以客户需要对数据进行解密以及解压缩操作,获取到请求的字节数组之后,进行一下操作
1、获取APPID
appId = http.getHeader("appId");
2、解密(通道APPID的密钥【secretKey】解密)
bytes = bytes = AES.encrypt(bytes, secretKey.getBytes(), 算法);
3、解压缩
bytes = GZIPUtils.decompress(bytes);
4、获取json传数据(获取到json数据后,json传为上行集合,之后进行业务处理)
String json = new String(bytes, "UTF-8");
5、上行解密解压后json串示例
[{ "mobile":"15538850000", "content":"TD", "moTime":"2017-03-15 12:00:00", "extendedCode":"123" },{ "mobile":"15538850000", "content":"TD", "moTime":"2017-03-15 12:00:00", "extendedCode":"123" }]