证书( 安全 )
安全的证书的公钥算法(RSA2048位以上或ECC256位以上)
安全的证书签名算法(SHA2)
证书被 Apple ATS 信任(权威机构颁发)
证书与域名匹配(包含被检测的域名)
证书到期时间有效(未过期)
服务器( 安全 )
开启HTTPS
服务器配置符合ATS规范
支持TLS1.2
PFS(完全正向保密)
iOS 密码套件支持
短信API接口(短信接口文档开发)
一、短信接口工作方式
双方通过HTTP或HTTPS方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP或HTTPS的GET/POST方式交换。另外双方需要保证数据传输的完整性和安全性,每次发送请求都有响应(响应返回格式为纯文本),安全验证目前采用用户名、密码和IP绑定的方式。
1.1 短信接口密码验证方式
短信接口密码使用“登录密码”与“用户名”拼接字符串后能过md5加密进行验证如登录密码是:123123
如用户名是:test
接口密码(pwd)=md5(登录密码+用户名)
pwd=md5(123123test)
pwd=b9887c5ebb23ebb294acab183ecf0769
二、字符编码
服务器接收数据可以是GBK或UTF-8编码字符;默认接收数据是UTF-8编码,如提交的是GBK编码字符,需要添加参数encode=gbk。
三、响应格式
所为响应即每次向服务器提交请求后返回值响应值格式有:JSON、XML、纯文本
默认:JSON格式
- 短信接口发送
- 接收状态报告
- 接收回复短信
- 取剩余条数
- 已发送总条数
- 取发送记录
- 添加短信模板
- 修改密码
- 安全(绑定IP)
▲ 短信发送
去调试>>GET/POST操作格式:http://api.sms.cn/sms/?ac=send&uid=用户账号&pwd=MD532位密码&mobile=号码&content={"key":"内容"}
参数名 | 参数字段 | 参数说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 send |
uid | 用户账号 | 登录名 |
pwd | 用户密码 | 32位MD5加密md5(密码+uid) 如登录密码是:123123 ,uid是:test; pwd=md5(123123test) pwd=b9887c5ebb23ebb294acab183ecf0769 |
mobile | 接收号码 | 短信接口同时发送给多个号码时,号码之间用英文半角逗号分隔(,);小灵通需加区号 如:13972827282,13072827282 |
content | 短信内容 | JSON变量模板发送,传参规则{"key":"value"}JSON格式,key的名字须和申请模板中的变量名一致,多个变量之间以逗号隔开。示例:针对模板“短信验证码{$code},您正在进行{$product}身份验证,请在10分钟内完成操作!”,传参时需传入{"code":"352333","product":"电商平台"} |
template | 模板短信ID | 发送变量模板短信时需要填写对应的模板ID号,进入平台-》短信设置-》模板管理 |
time | 返回格式 | 可选项,格式:年月日时分,定时时间到分,共12个数字 如定时到2032-10-01 12:01发 time=203210011201 |
format | 返回格式 | 可选项,有三参数值:json,xml,txt 默认json格式 |
encode | 字符编码 | 可选项,默认接收数据是UTF-8编码,如提交的是GBK编码字符,需要添加参数 encode=gbk |
mobileids | 消息编号 | 可选项 该参数用于发送短信收取状态报告用,格式为消息编号+逗号;与接收号码一一对应,可以重复出现多次。 消息编号:全部由数字组成接收状态报告的时候用到,该消息编号的格式可就为目标号码+当前时间戳整数,精确到毫秒,确保唯一性。供收取状态报告用 如: 1590049111112869461937; |
你在平台添加了JSON变量模板如下:
短信验证码{$code},您正在进行{$product}身份验证,请在10分钟内完成操作!
模板ID:100001
接收号:13900008888
接口内容JSON格式:
{"key":"234336","product":"电商平台"}
http://api.sms.cn/sms/?ac=send&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&mobile=13900008888&content= {"key":"234336","product":"电商平台"}&template=100001
注:发送内容content需要进行URL字符标准化转码。
响应结果值:
json格式
{"stat":"100","message":"发送成功"}
xml格式
<result><stat>100</stat><message>发送成功</message></result>
txt 文本字符格
sms&stat=100&message=发送成功
stat 状态码
message 状态说明
返回发送的状态码
状态码 说明
100 发送成功
101 验证失败
102 短信不足
103 操作失败
104 非法字符
105 内容过多
106 号码过多
107 频率过快
108 号码内容空
109 账号冻结
112 号码错误
113 定时出错
116 禁止接口发送
117 绑定IP不正确
161 未添加短信模板
162 模板格式不正确
163 模板ID不正确
164 全文模板不匹配
166 模板内容重复
167 模板审核中
168 模板审核不通过
GET/POST操作格式:http://api.sms.cn/sms/?ac=send&uid=用户账号&pwd=MD532位密码&mobile=号码&content=内容
参数名 | 参数字段 | 参数说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 send |
uid | 用户账号 | 登录名 |
pwd | 用户密码 | 32位MD5加密md5(密码+uid) 如登录密码是:123123 ,uid是:test; pwd=md5(123123test) pwd=b9887c5ebb23ebb294acab183ecf0769 |
mobile | 接收号码 | 短信接口同时发送给多个号码时,号码之间用英文半角逗号分隔(,);小灵通需加区号 如:13972827282,13072827282 |
content | 短信内容 | 发送内容需要进行URL字符标准化转码。 {URL字符编码说明:返回字符串,此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)} ASP:server.URLEncode("短信内容") PHP:urlencode("短信内容") JAVA:java.net.URLEncoder.encode("短信内容") |
time | 返回格式 | 可选项,格式:年月日时分,定时时间到分,共12个数字 如定时到2032-10-01 12:01发 time=203210011201 |
format | 返回格式 | 可选项,有三参数值:json,xml,txt 默认json格式 |
mobileids | 消息编号 | 可选项 该参数用于发送短信收取状态报告用,格式为消息编号+逗号;与接收号码一一对应,可以重复出现多次。 消息编号:全部由数字组成接收状态报告的时候用到,该消息编号的格式可就为目标号码+当前时间戳整数,精确到毫秒,确保唯一性。供收取状态报告用 如: 1590049111112869461937; |
encode | 字符编码 | 可选项,默认接收数据是UTF-8编码,如提交的是GBK编码字符,需要添加参数 encode=gbk |
你在平台添加了全文变量模板内容如下:
你好!{**},您的验证码:{**}。如非本人操作,可不用理会!【公司签名】
接 收 号:13900008888
短信接口发送内容:
你好!testuser,您的验证码:234346。如非本人操作,可不用理会!【公司签名】
http://api.sms.cn/sms/?ac=send&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&mobile=13900008888&content=你好!testuser,您的验证码:234346。如非本人操作,可不用理会!【公司签名】
注:发送内容content需要进行URL字符标准化转码。
响应结果值:
json格式
{"stat":"100","message":"发送成功"}
xml格式
<result><stat>100</stat><message>发送成功</message></result>
txt 文本字符格
sms&stat=100&message=发送成功
stat 状态码
message 状态说明
返回发送的状态码
状态码 说明
100 发送成功
101 验证失败
102 短信不足
103 操作失败
104 非法字符
105 内容过多
106 号码过多
107 频率过快
108 号码内容空
109 账号冻结
112 号码错误
113 定时出错
116 禁止接口发送
117 绑定IP不正确
161 未添加短信模板
162 模板格式不正确
163 模板ID不正确
164 全文模板不匹配
▲ 接收状态报告
去调试>>GET/POST操作格式:http://api.sms.cn/sms/?ac=status&uid=用户账号&pwd=MD532位密码
参数名 | 参数字段 | 参数说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 status |
uid | 用户账号 | |
pwd | 用户密码 | 32位MD5加密 md5(登录密码+用户账号) |
响应返回值:
json格式
{"stat":"100","total":"50","values":
[
{"retime":"2010-11-14 18:04:19","mobile":"13900008888","mobileids":"1390000888800001","resultcode":"100","status":"DELIVRD"},
{"retime":"2010-11-14 18:09:19","mobile":"13900008888","mobileids":"1390000888800001","resultcode":"100","status":"DELIVRD"}
]
}
xml格式
<result>
<stat>100</stat>
<total>300</total>
<values>
<value0><retime>2016-04-11 11:04:35</retime><mobile>14778557233</mobile><mobileids>147785572331460343857</mobileids><resultcode>100</resultcode><status>DELIVRD</status></value0>
<value1><retime>2016-04-11 11:04:31</retime><mobile>13914455766</mobile><mobileids>139144557669924723</mobileids><resultcode>100</resultcode><status>DELIVRD</status></value1>
</values>
</result>
参数 | 说明 |
---|---|
stat | 接口状态 100 成功 |
total | 当前总记录数量 |
retime | 状态返回时间 |
mobile | 手机号 |
mobileids | 发送唯一编号 |
resultcode | 状态码: 100 //成功 130 //失败 131 //空号 132 //停机 133 //关机 134 //无状态 |
status | 运营网关状态 |
发送状态报告请求消息
使用说明:
由服务器平台发送状态报告到您的接口程序上,使用Http协议GET和POST方式发送,您需要提交一个http接口地址来接收如下格式参数值
操作的格式:
http://您服务器接口地址?cmd=stat&uid=用户账号&mobileids=消息编号&mobile=接收号码&status=消息状态
参数名 | 参数字段名 | 说明 |
---|---|---|
cmd | 操作命令 | 返回值:stat |
uid | 用户账号 | 返回值:发送短信用户名 |
mobileids | 消息编号 | 返回值:消息编号 |
mobile | 接收号码 | 返回值:接收的号码 |
resultcode | 状态码 | 100 //成功 130 //失败 131 //空号 132 //停机 133 //关机 134 //无状态 |
▲ 接收上行回复短信接口
去调试>>操作的格式:http://api.sms.cn/sms/?ac=reply&uid=用户账号&pwd=MD532位密码。注:提取的回复短信不能在重复提取
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 传入值请填写 status |
format | 返回格式 | 有三参数值:json,xml 默认json格式 |
uid | 返回格式 | 有三参数值:json,xml 默认json格式 |
pwd | 用户密码 | 小写32位MD5加密 |
encode | 字符编码 | 可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8 |
响应结果为JSON和XML
JSON
{"stat":"100","total":"100","values":[
{"retime":"2012-04-13 10:00:23","mobile":"15900001111","content":"谢谢你!"},{"retime":"2012-04-13 09:59:50","mobile":"15900001111","content":"收到"}
]}
XML
<result>
<stat>100</stat>
<total>100</total>
<values>
<value0><retime>2012-04-13 10:00:23</retime><mobile>15900001111</mobile><content>谢谢你!</content></value0>
<value1><retime>2012-04-13 09:59:50</retime><mobile>15900001111</mobile><content>收到</content></value1>
</values>
</result>
参数 | 说明 |
---|---|
stat | 接口状态 100 成功 |
total | 当前总记录数量 |
retime | 回复时间 |
mobile | 回复手机号 |
content | 回复内容 |
使用说明:由服务器平台发送上行回复短信到您的接口程序上,使用Http协议GET和POST方式发送,您需要提交一个http接口地址来接收如下格式参数值
操作的格式:http://您服务器接口地址?cmd=res&uid=用户账号&mobileids=消息编号&mobile=接收号码&status=消息状态
参数名 | 参数字段名 | 说明 |
---|---|---|
cmd | 操作命令 | 返回值:res |
uid | 用户账号 | 返回值:发送短信用户名 |
time | 回复时间 | 返回值:YYYY-MM-DD HH:II:SS |
mobile | 接收号码 | 返回值:接收的号码 |
content | 消息内容 | 返回值:UTF-8字符串 |
▲ 取剩余短信条数
去调试>>操作格式:http://api.sms.cn/sms/?ac=number&uid=用户账号&pwd=MD5位32密码
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 传入值请填写 number |
format | 返回格式 | 有三参数值:json,xml 默认json格式 |
uid | 用户账号 | |
pwd | 用户密码 | 32位MD5加密 |
响应结果:
JSON
{"stat":"100","number":"2123432"}
XML
<result>
<stat>100</stat>
<number>2123432</number>
</result>
sms&stat=100&remain=100
▲ 取已发送总条数
去调试>>操作格式:http://api.sms.cn/sms/?ac=number&uid=用户账号&pwd=MD5位32密码&cmd=send
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 传入值请填写 number |
uid | 用户账号 | |
pwd | 用户密码 | 32位MD5加密 |
cmd | send | 取已发送条数 |
响应结果:
JSON
{"stat":"100","number":"2123432"}
XML
<result>
<stat>100</stat>
<number>2123432</number>
</result>
▲ 取发送记录
去调试>>操作的格式:http://api.sms.cn/sms/?ac=query&uid=用户账号&pwd=MD532位密码
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 传入值请填写 nquery |
uid | 用户账号 | |
pwd | 用户密码 | 小写32位MD5加密 |
date | 日期 | 可选项,取指定日期记录(2011-12-12) |
key | 查询号码 | 可选项,取指定手机号记录 |
encode | 字符编码 | 可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8 |
响应结果为JOSN或XML格式
返回如下格式:
JSON格式
{"stat":100,"total":"1896397","page_size":"50","total_page":"37928",
"values":[
{"sendtime":"2013-11-14 18:04:19","mobile":"13900008888","content":"我的发送记录1【云信】","status":"1"},
{"sendtime":"2013-11-14 18:04:19","mobile":"13900008888","content":"我的发送记录2【云信】","status":"1"}
]}
无回复内容时返回空
{"total":"0","page_size":"0","total_page":"0"}
XML格式
<result>
<stat>100</stat>
<total>1896347</total>
<page_size>50</page_size>
<total_page>37928</total_page>
<values>
<value0>
<sendtime>2013-11-14 18:04:19</sendtime>
<mobile>13900008888</mobile>
<content>发送的内容1</content>
<status>1</status>
</value0>
<value1>
<sendtime>2013-11-14 18:04:19</sendtime>
<mobile>13900008888</mobile>
<content>发送的内容2</content>
<status>1</status>
</value1>
</values>
</result>
无回复内容时返回空
<result>
<total>0</total><page_size>0</page_size><total_page>0</total_page>
</result>
参数 | 说明 |
---|---|
stat | 接口状态 100 成功 |
total | 总记录数量 |
page_size | 当前记录数量 |
total_page | 总页数 |
sendtime | 发送时间 |
mobile | 手机号 |
content | 发送的内容 |
status | 提交状态[status:发送状态 1 提交成功 0 提交失败] |
▲ 短信模板
GET/POST操作格式:http://api.sms.cn/sms/?ac=template&uid=用户名&pwd=32位MD5加密&title=短信模板标题&content=要添加的模板内容
参数名 | 参数字段 | 参数说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 template |
uid | 用户账号 | 登录名 |
pwd | 用户密码 | 32位MD5加密md5(密码+uid) 如登录密码是:123123 ,uid是:test; pwd=md5(123123test) pwd=b9887c5ebb23ebb294acab183ecf0769 |
title | 模板标题 | 模板标题名称用于备注查询[选填] |
content | 模板内容 | 模板内容包含短信内容和签名。全文变量模板的变量用{**}代替,JSON变量模板的变量用源码中相应的变量参数代替。 |
type | 模板类型 | 1.验证码 2.通知 3.推广 |
dataformat | 模板格式 | 1.全文变量模板 2.JSON变量模(不填写默认为全文变量模板)[选填] |
templateid | 模板ID | 修改JSON变量模板时,需添加相应的模板ID,根据模板ID来修改已申请过的模板内容,空就是添加,填写对应模板ID就是修改。[选填] |
delete | 删除模板 | delete=1 删除指定模板ID模板 [选填] |
添加全文模板内容:
您好,您的验证码是:{**}【公司签名】
格式:
http://api.sms.cn/sms/?ac=template&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&&content=您好,您的验证码是:{**}【公司签名】
注:发送内容content需要进行URL字符标准化转码。
添加JSON模板内容:
您好,您的验证码是:{$code}【公司签名】
格式:
http://api.sms.cn/sms/?ac=template&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&dataformat=2&content=您好,您的验证码是:{$code}【公司签名】
注:发送内容content需要进行URL字符标准化转码。
响应结果值:
json格式
{"stat":"100","templateid":"383533","message":"添加成功"}
xml格式
<result><stat>100</stat><templateid>383533</templateid><message>添加成功</message></result>
txt 文本字符格
sms&stat=100&templateid=383533&message=添加成功
stat 状态码
message 状态说明
返回发送的状态码
状态码 说明
100 模板添加成功
118 无法添加没有签名
161 模板ID不存在
166 模板内容重复
操作格式:http://api.sms.cn/sms/?ac=templatestatus&uid=用户账号&pwd=MD5位32密码&templateid=模板ID
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 templatestatus |
format | 返回格式 | 可选项,参数值:json,xml 默认json格式 |
uid | 用户账号 | |
pwd | 用户密码 | 32位MD5加密 |
templateid | 模板ID | 请填写要查询的模板ID |
响应结果:
JSON
{"stat":"100","message":"模板成功通过"}
{"stat":"168","message":"模板不通过","question":"模板里没有添加签名如:【公司名称】签名建议为用户真实应用名/网站名/公司名。"}
XML格式
<result>
<stat>100</stat>
<message>模板成功通过</message>
</result>
操作格式:http://api.sms.cn/sms/?ac=templatequery&uid=用户账号&pwd=MD532位密码
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 templatequery |
format | 返回格式 | 可选项,参数值:json,xml 默认json格式 |
uid | 用户账号 | |
pwd | 用户密码 | 32位MD5加密 |
page | 取第几页 | 可选项,默认1(第一页) |
encode | 字符编码 | 可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8 |
响应结果:
JSON
{"stat":100,"total":"1000","page_size":"100","total_page":"10","page":"1",
"values":[
{"type":"1","dataformat":"2","addtime":"2013-11-14 18:04:19","templateid":"13900008888","content":"验证码:{$code},请及时完成验证。【公司签名】","question":"","status":"1"},
{"type":"1","dataformat":"1","addtime":"2013-11-14 18:04:19","templateid":"13900008888","content":"您的登录验证码:{**},请及时完成验证。【公司签名】","question":"模板里没有添加签名","status":"2"}
]}
无模板时返回
{"total":"0","page_size":"0","total_page":"0"}
XML格式
<result>
<stat>100</stat>
<total>1000</total>
<page_size>100</page_size>
<total_page>10</total_page>
<page>1</page>
<values>
<value0>
<type>1</type>
<dataformat>2</dataformat>
<addtime>2013-11-14 18:04:19</addtime>
<templateid>322542</templateid>
<content>验证码:{$code},请及时完成验证。【公司签名】</content>
<question></question>
<status>0</status>
</value0>
<value1>
<type>1</type>
<dataformat>1</dataformat>
<addtime>2013-11-14 18:04:19</addtime>
<templateid>322545</templateid>
▲ 修改密码
去调试>>操作格式:http://api.sms.cn/sms/?ac=pass&uid=用户账号&pwd=MD5位32密码&newpass=新密码
参数名 | 参数字段名 | 说明 |
---|---|---|
ac | 接口功能 | 接口功能,传入值请填写 pass |
format | 返回格式 | 可选项,参数值:json,xml 默认json格式 |
uid | 用户账号 | |
pwd | 用户密码 | 32位MD5加密 |
newpass | 新密码 | 新密码 |
响应结果:
JSON
{"stat":"100","message":"修改成功"}
XML格式
<result>
<stat>100</stat>
<message>修改成功</message>
</result>
▲ 接口安全(绑定IP)
短信接口示例DEMO下载
短信接口优势
安全架构
服务器集全,支持大容量、高并发,日发放亿级无忧可绑定您服务器的IP地址
金牌服务
7×24小时服务支持,为您保驾护航百倍故障
赔偿,让您使用舒心
全能力
移动、联通、电信三网合一短信接口双向收发
发送速度快,使命必达
SDK接口
支持Android、iOS、Windows、Linux、
PC、Web多语言的 SDK开发文档轻松接入使用