推送状态报告和上行

状态报告和上行的推送分为压缩加密推送和普通推送,其中压缩加密推送可以提高传输安全性以及减轻网络压力,客户选择哪一种推送方式请咨询亿美客服人员。

压缩加密推送

注意:推送的数据经过UTF-8编码,注意解析时编码选择。

Http Header 会传输appId , 客户根据此APPID在本地匹配密钥。

状态报告压缩加密推送

数据结构:状态报告的json数据,结构如下表

参数 类型 传输方式 描述
appIdStringhttp头信息传输用户Appid(必填)
mobileString传输过来的数据是加密后的byte数组手机号(必填)
smsIdString消息ID(选填)
customSmsIdString自定义消息ID(选填)
stateString状态(必填) ,详见本文档《状态报告状态码表》
descString状态描述(选填)
receiveTimeString状态报告返回时间(必填)
格式:yyyy-MM-dd HH:mm:ss
submitTimeString信息提交时间(必填)
格式:yyyy-MM-dd HH:mm:ss
extendedCodeString扩展码(选填)

示例

由于客户接受数据为压缩加密后的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":"DELIVERED",
      "desc":"成功",
      "receiveTime ":"2017-03-15 12:00:00",
      "submitTime":"2017-03-15 12:00:00",
      "extendedCode":"123"
    },{
      "mobile":"15538850001",
      "smsId":"20170392833833891101",
      "customSmsId":"1553885000011112",
      "state":"DELIVERED",
      "desc":"成功",
      "receiveTime ":"2017-03-15 12:00:00",
      "submitTime":"2017-03-15 12:00:00",
      "extendedCode":"123"
    }]
    

上行加密压缩推送

数据结构:状态报告的json数据,结构如下表

参数 类型 传输方式 描述
appIdStringhttp头信息传输用户Appid(必填)
mobileString传输过来的数据是加密后的byte数组手机号(必填)
contentString上行内容(必填)
moTimeString上行返回时间(必填)
格式:yyyy-MM-dd HH:mm:ss
extendedCodeString扩展码(选填)

示例

由于客户接受数据为压缩加密后的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"
    }]
    
TOP