1、秒嘀科技 - 短信接口、短信验证码、语音验证码、短信平台
最低充值120,单价0.048元/条;一次性充值36000时,单价0.036/条
2、容联云通讯_提供通话、短信、视频、呼叫中心、IM、流量等通讯能力
基础价0.06元/条;当一年期帐内余额达到30000时,单价0.45/条
3、创蓝-253.com为您的每一条短信验证码负责!
最低充值3600,单价0.06元/条;一次性充值50000时,单价0.05/条
对java接口文档的支持,三家都还不错;短信接收速度都在十秒之内(测试期间),可以接受;由于是个人开发者,对于价格就很敏感了,一开始就充个万把千,顶不住啊。权衡之下,选择了秒嘀科技,价格相对便宜的多,短信接收速度也在伯仲之间。
下载 java 短信接口 DEMO,了解了下文档结构,短信接口是通过POST提交URL的形式对接的。
-
请求地址:
- https://api.miaodiyun.com/20150822/industrySMS/sendSMS
-
请求方式:
- POST
-
编码格式:
- UTF-8
-
响应格式:
- JSON,XML
-
请求包头:
- Content-type:application/x-www-form-urlencoded
请求参数说明
参数名称 | 类型 | 约束 | 说明 |
---|---|---|---|
accountSid | String | 必选 | 开发者主账号ID(ACCOUNT SID)。由32个英文字母和阿拉伯数字组成的开发者账号唯一标识符。 |
smsContent | String | 必选 | 短信内容。(短信签名+短信内容。如【秒嘀科技】您的验证码是345678,30分钟输入有效。) |
to | String | 必选 | 短信接收端手机号码集合。用英文逗号分开,每批发送的手机号数量不得超过100个。 |
portNumber | String | 可选 | 平台分配给开发者的端口号,暂不支持。 |
timestamp | String | 必选 | 时间戳。当前系统时间(24小时制),格式"yyyyMMddHHmmss"。时间戳有效时间为5分钟。 |
sig | String | 必选 | 签名。MD5(ACCOUNT SID + AUTH TOKEN + timestamp)。共32位(小写)。 注意:MD5中的内容不包含”+”号。 |
respDataType | String | 可选 | 响应数据类型,JSON 或 XML 格式。默认为JSON。 |
请求示例:
url:
https://api.miaodiyun.com/20150822/industrySMS/sendSMS
post数据:
accountSid=a14f6bfd43ce44c9b019de57f4e2de4b&smsContent=【秒嘀科技】】您的验证码是345678,30分钟输入有效。
&to=13896543210×tamp=20150821100312&sig=a14f6bfd43ue44c9b019du57f4e2ee4r&respDataType=JSON
返回参数说明
参数名称 | 类型 | 约束 | 说明 |
---|---|---|---|
respCode | String | 必选 | 请求状态码,取值00000(成功: 此步响应只表明客户的短信请求发送成功,不表明短信通道已经发送短信成功。) 具体可参照《附:返回状态码列表》 |
failCount | String | 必选 | 表示验证码通知短信发送失败的条数。 |
failList | String | 可选 | 失败列表,包含失败号码、失败原因。 |
smsId | String | 必选 | 短信标识符。一个由32个字符组成的短信唯一标识符。 |
返回示例:
JSON返回包体:
{
"respCode":"00000",
"failCount":"1",
"failList":
[
{
"phone":"13896543210",
"respCode":"00111"
}
],
"smsId":"913945fec0204b1e94baa75a5c013f59"
}
XML返回包体:
<?xml version="1.0" encoding="utf-8"?>
<result>
<respCode>00000</respCode>
<smsId>913945fec0204b1e94baa75a5c013f59</smsId>
<failCount>1</failCount>
<failList>
<phone>13896543210 </phone>
<respCode>00111 </respCode>
</failList>
</result>
最核心的类是IndustrySMS
- package com.miaodiyun.httpApiDemo;
- import com.miaodiyun.httpApiDemo.common.Config;
- import com.miaodiyun.httpApiDemo.common.HttpUtil;
- /**
- * 验证码通知短信接口
- *
- * @ClassName: IndustrySMS
- * @Description: 验证码通知短信接口
- *
- */
- public class IndustrySMS
- {
- private static String operation = "/industrySMS/sendSMS";
- private static String accountSid = Config.ACCOUNT_SID;
- private static String to = "1361305****";
- private static String smsContent = "【秒嘀科技】您的验证码是345678,30分钟输入有效。";
- /**
- * 验证码通知短信
- */
- public static void execute()
- {
- String url = Config.BASE_URL + operation;
- String body = "accountSid=" + accountSid + "&to=" + to + "&smsContent=" + smsContent
- + HttpUtil.createCommonParam();
- // 提交请求
- String result = HttpUtil.post(url, body);
- System.out.println("result:" + System.lineSeparator() + result);
- }
- }