普通接口提供基础的发送方式,数据以明文传输,并不能保障数据安全,如果有安全性需求,请选用安全接口。
普通接口所有参数均通过post或get参数提交,注意:部分参数如内容需要进行URLENCODE转码保证数据能够正常传输。
字符集:普通接口传出数据仅支持UTF-8字符集编码;
此接口为用户使用不同手机号发送不同内容提供支持。
http://ip:port/fms/normal/sendBatchFMS
参数 | 类型 | 描述 |
---|---|---|
appId | String | 用户Appid(必填) |
mobile | String | 手机号(必填) 多条,最多300个 |
templateId | String | 模板ID |
content | String | 闪推模板变量内容.固定内容模板此处为空.个性时{code:xxx,name:xxx} |
customFmsId | String | 自定义消息ID(选填) 最长32位 多条,与手机号一一对应 |
requestTime | long | 请求时间(必填) 格式:时间毫秒数 安全验证字段,防止同一个请求重复提交; 闪推平台根据requestTime与requestValidPeriod共同判断请求是否有效,针对无效的请求,闪推平台响应错误; 判断方法:请求时间 + 请求有效时间> 当前时间 ? 有效 : 无效; |
requestValidPeriod | int | 请求有效时间(必填)[单位:秒] 描述同上 |
sign | String | 签名(必填)格式:md5(appId+ secretKey + requestTime) |
1、将参数拼装成json串
{ "appId":"EUCP-EMY-TEST-XXXX", "requestTime":1490588340964, "requestValidPeriod":30, "sign":"f9f025756424b5c1a96363630a49dd89", "templateId":"7883922", "fmses":[ { "mobile":"159xxxxxxxx", "customFmsId":"2018010709302911", "content": { "name":"小明", "age":"10" } },{ "mobile":"137xxxxxxxx", "customFmsId":"2018010709302912", "content": { "name":"小红", "age":"10" } } ] }
2、将json串转化为UTF-8编码的byte数组
Byte[] data = json.toBytes[“UTF-8”];
3、通过http post方法传输
Byte[] response = http.post(url,data);
详见闪推接口demo
响应数据格式为Json
参数 | 类型 | 传输方式 | 描述 |
---|---|---|---|
result | String | http头信息传输 | 请求状态码,详见本文档《接口状态码表》 当result不是SUCCESS时,不会响应下面参数数据。 |
mobile | String | 手机号多个 | |
fmsId | String | 消息ID多个,与mobile一对一 | |
customFmsId | String | 客户自定义FMSID多个,与mobile一对一 |
1、从http头信息获取请求状态,如果code不是SUCCESS,不用进行下面几步
String code = http.getHead("result");
2、从响应流获取响应数据
Byte[] data = Response.getdata();
3、将数据转换成JSON串
String json = new String(data,"UTF-8"); [ { "mobile":"159xxxxxxxx", "fmsId":"2018010709302911", "customFmsId":"2018010709302911" }, { "mobile":"137xxxxxxxx", "fmsId":"2018010709302912", "customFmsId":"2018010709302912" } ]