安全接口

安全接口的数据传输经过加密、压缩,能够保障数据传输安全,如果有安全性要求,建议选用安全接口;

安全接口所接收、响应的数据,均经过AES加密,在数据加密前允许使用gzip算法压缩数据。

数据加密方式:AES;

加密算法:AES/ECB/PKCS5Padding;

压缩算法:gzip 【建议进行数据压缩】;

状态报告获取接口

此接口为客户获取状态报告提供支持

请求

链接

http://ip:port/fms/secure/getFMSReport

参数

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

详见闪推接口demo

响应

响应数据格式为Json

参数

参数 类型 传输方式 描述
result String http头信息传输 请求状态码,详见本文档《接口状态码表》
当result不是SUCCESS时,不会响应下面参数数据。
mobile String 手机号(必填)
fmsId String 消息ID(选填)
customFmsId String 自定义消息ID(选填)
state String 状态(必填),详见本文档《4.状态报告状态码表》
desc String 状态描述(选填)
receiveTime String 状态报告返回时间(必填)
格式:yyyy-MM-dd HH:mm:ss
submitTime String 信息提交时间(必填)
格式: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":"159xxxxxxxx ",
    		"fmsId":"20180392833833891100",
    		"customFmsId":"1553885000011111",
    		"state":" DELIVRD",
    		"desc":"成功",
    		"receiveTime ":"2018-03-15 12:00:00",
    		"submitTime":"2018-03-15 12:00:00"
    		},{
    		"mobile":"159xxxxxxxx ",
    		"fmsId":"20180392833833891101",
    		"customFmsId":"1553885000011112",
    		"state":" DELIVRD",
    		"desc":"成功",
    		"receiveTime ":"2018-03-15 12:00:00",
    		"submitTime":"2018-03-15 12:00:00"
    	}
    ]
    
TOP