短信API接口(短信接口文档开发)
一、短信接口工作方式
双方通过HTTP方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP的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 全文模板不匹配
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 提交失败] |
▲ 修改密码
去调试>>操作格式: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开发文档轻松接入使用