注册送短信

接口对接常见问题


基础

点击问题自动跳转
1.如何选择短信接口2.短信是否可以不报备下发?
3.短信一对一发送和用群发方式只发一个人,有没有什么区别?4.接口对接报 101 错误
5.接口对接报 102 错误6.接口对接报 108 错误
7.接口对接报 109 错误8.接口对接报 252 错误
9.邮件报 206 错误10.接口对接报 411 错误
11.接口对接返回 420 错误12.接口报 901 错误
13.接口报 902 、903、904 错误14.接口报 113 错误
15.PHP 请求接口,无报错,无任何返回或返回 NULL16.JAVA 请求,返回 xxxxx.....SSL....xxxxxxx, C# 返回 无法在证书存储区中找到清单签名证书
17.请求接口超时 或者请求丢数据



1.如何选择短信接口

在对接过程中,用户常常会遇到一个问题:send和xsend接口都是单发API我该如何选择使用哪个接口呢?针对这个问题,这边我们列下各个接口优缺点以及使用场景。

API优点缺点应用场景
Message/send方便、快速对接使用,免模板,可直接提交任意内容(需要符合短信发送规范,短信签名前置)并发效率不高(并发效率低指高于每秒 1000 的并发,低于这个并发需求请无视)适用于并发小,内容变动或模板变动较多的场景
Message/xsend高稳定性,低延迟,高并发接入时需要提前创建模板,并指定模板 ID适用验证码类要求低延迟,高请求效率的场景
Message/multisend接入方便,免模板,可直接提交任意内容(需要符合短信发送规范,短信签名前置),支持大批量群发效率低于 multixsend,如果每小时的发送量低于百万级,请无视此缺点适用单小时发送量低于百万级且自定义内容短信群发
Message/multixsend高效,高稳定性,低延迟,超高并发接入时需要提前创建模板,并指定模板 ID适用大批量群发场景( 50 个号码 /API,100 线程并发,每分钟可处理 15 万左右的群发需求)



2.短信是否可以不报备下发?

所有在线下发短信都需要进行报备模板后才可下发;如接口可以使用 send api 异步审核报备。



3.短信一对一发送和用群发方式只发一个人,有没有什么区别?

短信有专门的 multi/xsend API 群发的,和 xsend 相比,multi/xsend API 效率上翻大约 100 倍以上,但是如果量特别大,我们建议使用进行分包多线程提交。



4.接口对接报 101 错误

A:最常见的原因是,接口没有设置请求。

解决办法:设置 Content-Type: multipart/form-data; 或者 Content-Type: application/x-www-form-urlencoded

第二种: 接口请求地址和参数不匹配。

如: 使用国内的 APPID 请求国际接口,或者使用国际短信 APPID 请求国内接口。

解决办法:创建对应的 APPID



5.接口对接报 102 错误

这种只会出现在请求 send 接口或者 multisend 接口。原因是,早期生成的 APPID 不具备使用 send 接口的权限。

解决办法:

(1)提供 APPID ,在审核后台:短信—》短信应用列表,输入 APPID ,将 SEND API 的参数改成 1。

(2)创建一个新的 APPID ,使用新的 APPID 请求 send 接口。



6.接口对接报 108 错误

签名加密异常,可以将 sign_type 设置成 normal, signature 参数直接传 APPKEY 。



7.接口对接报 109 错误

传入的 APPKEY 值不正确, 请确认 APPKEY 值



8.接口对接报 252 错误

传入的号码不正确。

在国际短信确认号码是正确的情况下,一般是有“+”的编码引起的,建议客户用 urlencode 方法指定下 body 参数为 utf-8 编码。每个语言的方法不一致,以 java 为列:UrlEncode.encode(“xxxx”,“utf-8”);



9.邮件报 206 错误

检查域名解析是否成功, 如果域名解析成功,则检查发件人是否正确创建。

如果发件人正确创建,需要检查代码内,发件人是否正确传入。



10.接口对接报 411 错误

1.content 参数没有传入短信签名(公司名或者产品名).

2.content 参数编码问题,让客户 urlencode 处理下参数编码为 utf-8



11.接口对接返回 420 错误

send 接口自动创建的模板被驳回

解决办法: 登录用户的后台,在模板列表内删除没有通过的模板,然后重新提交一次。



12.接口报 901 错误

APPID 设置了每日发送上限

解决办法: 在 APPID 页面修改上限,或设置为 0, 0 为无限制



13.接口报 902 、903、904 错误

账户内余额不足,需充值



14.接口报 113 错误

APPID 设置了 IP 白名单。非白名单IP无法请求

解决办法: 在 APPID 页面添加请求服务器的 IP ,如果是在线发送,需要添加我们的服务器 IP 为白名单, 具体 IP 可以在报错信息内查看。



15.PHP 请求接口,无报错,无任何返回或返回 NULL

本地没有装 SSL 扩展

解决办法:把请求地址的 HTTPS 换成 HTTP。



16.JAVA 请求,返回 xxxxx.....SSL....xxxxxxx, C# 返回 无法在证书存储区中找到清单签名证书

本地没有装 SSL 扩展

解决办法:把请求地址的 HTTPS 换成 HTTP。



17.请求接口超时 或者请求丢数据

询问用户的服务器是否在国内,如果不在国内,则提供相应的节点。

节点区域请求域名
美国https://us-api.mysubmail.com
日本https://jp-api.mysubmail.com
德国https://de-api.mysubmail.com
中国香港https://hk-api.mysubmail.com

HTTPS 和 HTTP 通用。