发送短链短信接口

此接口为客户发送短链短信提供支持。

请求

链接

http://ip:port/inter/sendShortLinkSMS

参数

参数 类型 传输方式 描述
appId String http头信息传输 用户Appid(必填)
gzip String http头信息传输 是否启用GZIP压缩【非必填】
on :是
encode String http头信息传输 字符集【非必填】
如果不填,默认UTF-8编码集,此字符集必须与实际传输数据字符集相同
mobile String 13、将所有参数拼装成json串后;
14、将json串进行AES加密;
15、加密后的byte数组通过post直接传输;
手机号(必填)
多个,最多500个
customSmsId String 自定义消息ID(选填)
多个,与customSmsId一一对应
最长32位
content String 短信内容(必填)
url String 长连接
shortLinkRule String 值:1(普通规则),2(精确规则,能够定位到哪个手机号点击的)
timerTime String 定时发送时间(选填,定时时间在90天之内)
格式:yyyy-MM-dd HH:mm:ss
如果不填,则为即时发送多条,与手机号一一对应
extendedCode String 扩展码(选填)
最长支持12位,如果最终号码长度超长,会截取扩展码,请根据我司建议位数提交
多条,与手机号一一对应
requestTime long 请求时间(必填)
格式:时间毫秒数
安全验证字段,防止同一个请求重复提交;
短信平台根据requestTime与requestValidPeriod共同判断请求是否有效,针对无效的请求,短信平台响应错误;
判断方法:请求时间 + 请求有效时间> 当前时间 ? 有效 : 无效;
requestValidPeriod int 请求有效时间(必填)[单位:秒]
描述同上

示例

1、将参数拼装成json串

  • {
    "url": "http://wwww.baidu.com",
    "shortLinkRule": "1",
    "smses": [{
    "customSmsId": "1",
    "mobile": "12100000000"
    }, {
    "customSmsId": "2",
    "mobile": "12100000000"
    }],
    "content": "北京欢迎您,旅游详情请点击{#短网址#}",
    "timerTime": "2020-06-27 09:10:10",
    "extendedCode": "111",
    "requestTime": 1593653637281,
    "requestValidPeriod": 60
    }
    
    

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);
    

响应

参数

参数 类型 传输方式 描述
result String http头信息传输 请求状态码,详见本文档《接口状态码表》
当result不是SUCCESS时,不会响应下面参数数据。
mobile String 传输过来的数据是加密后的byte数组 手机号
多个
smsId String 消息ID
多个,与mobile一对一
customSmsId String 客户自定义SMSID
多个,与mobile一对一

示例

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":"15538850000",
    "smsId":"20170392833833891100",
    "customSmsId":"20170392833833891100"
    },{
    "mobile":"15538850001",
    "smsId":"20170392833833892100",
    "customSmsId":"20170392833833891100"
     }
    ]
    
TOP