短信接口怎么使用?

  • 回答 (2)
  • 关注 (0)
  • 查看 (246)

有没有调用接口的视频教程.

用户2914674用户2914674提问于
用户3803986回答于

建议多看下短信接口dome文档,在这给您看一下java短信接口对接的文档,是单条短信接口java语言的。

java短信文档
jva短信接口

单条短信接口:此接口为客户发送单条短信提供支持

接入指导

  • 步骤一:登录官网注册并获取客户标识(AppId)和客户密钥(secretKey)账号
  • 步骤二:参照接口文档和DEMO,对接接口并测试
  • 步骤三:测试通过,正式上线,充值使用

安全接口

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

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

数据加密方式:AES;

加密算法:AES/ECB/PKCS5Padding;

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

请求

链接

http://ip:port/inter/sendSingleSMS

参数

参数类型传输方式描述appIdStringhttp头信息传输用户Appid(必填)gzipStringhttp头信息传输是否启用GZIP压缩【非必填】

on :是encodeStringhttp头信息传输字符集【非必填】

如果不填,默认UTF-8编码集,此字符集必须与实际传输数据字符集相同mobileString1、将所有参数拼装成json串后;

2、将json串进行AES加密;

3、加密后的byte数组通过post直接传输;手机号(必填)contentString短信内容(必填)timerTimeString定时发送时间(选填,定时时间在90天之内)

格式:yyyy-MM-dd HH:mm:ss

如果不填,则为即时发送customSmsIdString自定义消息ID(选填)

最长32位extendedCodeString扩展码(选填)

最长支持12位,如果最终号码长度超长,会截取扩展码,请根据我司建议位数提交requestTimelong请求时间(必填)

格式:时间毫秒数

安全验证字段,防止同一个请求重复提交;

短信平台根据requestTime与requestValidPeriod共同判断请求是否有效,针对无效的请求,短信平台响应错误;

判断方法:请求时间 + 请求有效时间> 当前时间 ? 有效 : 无效;requestValidPeriodint请求有效时间(必填)[单位:秒]

描述同上示例

1、将参数拼装成json串

  • {
  •  "mobile":"15538850000",
  •  "content":"【清华大学】 i love you ! ",
  •  "timerTime":"2017-03-15 12:00:00",
  •  "extendedCode":"112",
  •  "customSmsId":"2017010709302911",
  •  "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);

响应

参数

参数类型传输方式描述resultStringhttp头信息传输请求状态码,详见本文档《接口状态码表》

当result不是SUCCESS时,不会响应下面参数数据。mobileString传输过来的数据是加密后的byte数组手机号smsIdString消息IDcustomSmsIdString客户自定义SMSID示例

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

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

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"

热门问答

腾讯会议共享屏幕,其他人收到的是黑屏?

腾讯云音视频 支持 移动端h5吗( 不是小程序的)?

shixin

腾讯 · 高级产品经理 (已认证)

推荐

实时音视频TRTC的Web版是基于WebRTC的方案,需要浏览器的对WebRTC的支持,支持WebRTC的浏览器就可以。但是,移动端浏览器对WebRTC支持的情况并不好,建议使用小程序版。

腾讯云IoT物联平台中如何自定义Topic?

DylanRichard

腾讯 · 产品经理 (已认证)

万物互联的时代,欢迎来到IoT的世界
推荐已采纳
第二个是物联网通信平台(IoT Hub)的,https://cloud.tencent.com/document/product/634/32546。目前物联网开发平台(IoT explorer)只支持基于数据模板协议的接入(文档 https://cloud.tencent.co...... 展开详请

如何用命令修改腾讯云解析目标ip?

氧化先生道可道 非常道 名可名 非常名
推荐
可以,参考: https://cns.api.qcloud.com/v2/index.php? &<公共请求参数> &Action=RecordCreate &domain=qcloud.com &subDomain=www &recordType=A &recordLine=默...... 展开详请

组队匹配完整流程是怎样的?感觉缺少API支持?

您好,matchgroup匹配成功后,小组成员会进入同一个房间和同一个队伍,这个API需要传玩家ID,通过邀请好友进房间就能拿到玩家的id,解散房间后再调用matchgroup,在没有解散房间不能调用matchGroup 接口。

SCF使用了k8s或docker容器技术吗?

Mason-Serverless

腾讯 · 产品经理 (已认证)

推荐

SCF的新架构使用的轻量化虚拟机技术,同时MVM里内嵌的有docker,但是没有使用K8S

关于作者

所属标签

扫码关注云+社区

领取腾讯云代金券