状态报告获取接口

请求

链接

http://ip:port/secure/getIMSReport

参数

Http头信息传输
参数 类型 传输方式 描述
appIdStringHttp头信息传输用户Appid(必填)
gzipString是否启用GZIP压缩【非必填】 on :是
encodeString字符集【非必填】如果不填,默认UTF-8编码集,此字符集必
须与实际传输数据字符集相同
requestTimelong请求时间(必填)
格式:时间毫秒数
安全验证字段,防止同一个请求重复提交;
短信平台根据requestTime与requestValidPeriod共同判
断请求是否有效,针对无效的请求,短信平台响应错误;
判断方法:请求时间 + 请求有效时间> 当前时间 ? 有效 : 无效;
requestValidPeriodint请求有效时间(必填)[单位:秒]
描述同上
numberint字获取数量(选填)
最多500个,默认500个

示例

1、将参数拼装成json串

  • {
    "number":300,
    "requestTime":1490588340964,
    "requestValidPeriod":30
    
    }
    
    

2、将json串转化为UTF-8编码的byte数组

  • Byte[] data = json.toBytes[“UTF-8”];

3、如果需要gzip压缩,则压缩数据,并放入标示,[非必需步骤]

  • data =gzip.com (data);
    http.setHead("gzip","on");

4、通过AES加密

  • data = AES. encryption (secretKey,data,算法);

5、将appId放入http head

  • http.setHead("appId",appId);

6、通过http post方法传输

  • Byte[] response = http.post(url,data);

响应

响应数据格式为Json

参数

参数 类型 传输方式 描述
resultStringHttp头信息传输请求状态码,详见本文档《3.接口状态码表》
当result不是SUCCESS时,不会响应下面参数数据。
mobileString手机号(必填)
imsIdString消息ID(选填)
customImsIdString自定义消息ID(选填)
stateString状态(必填),详见本文档《4.状态报告状态码表》
descString状态描述(选填)
receiveTimeString状态报告返回时间(必填)
格式:yyyy-MM-dd HH:mm:ss
submitTimeString信息提交时间(必填)
格式:yyyy-MM-dd HH:mm:ss

示例

1、从http头信息获取请求状态,如果code不是SUCCESS,不用进行下面几步

  • String code = http.getHead("result");

2、从响应流获取响应数据,并解密

  • Byte[] data = Response.getdata();
    data = AES. decryption (secretKey, data,算法);

3、如果请求信息中有压缩标示,返回的数据也是压缩过的,需要解压缩;[非必须步骤]

  • data = GZIP.dcom(data);

4、将数据转换成JSON串

  • String json = new String(data,"UTF-8");
  •  [
    	{
    	"mobile":"0061422118000",
    	"imsId":"20180392833833891100",
    	"customImsId":"1553885000011111",
    	"state":" DELIVRD",
    	"desc":"成功",
    	"receiveTime ":"2018-03-15 12:00:00",
    	"submitTime":"2018-03-15 12:00:00"
    	},{
    	"mobile":"0061422118001",
    	"imsId":"20180392833833891101",
    	"customImsId":"1553885000011112",
    	"state":" DELIVRD",
    	"desc":"成功",
    	"receiveTime ":"2018-03-15 12:00:00",
    	"submitTime":"2018-03-15 12:00:00"
    	}
    ]