中国专业短信平台运营服务商网 sms.cn 博好云信官网

接口使用流程

01

注册账号

注册成功登录后台

02

提交资质认证

提交资质客服在线审核

03

提交模板

提交需要发送的短信内容

04

短信接口接入

根据文档示例开发测试发送

短信接口 SMS API

短信接口开发文档

一、短信接口工作方式
双方通过HTTP或HTTPS方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP或HTTPS的GET/POST方式交换。
另外双方需要保证数据传输的完整性和安全性,为了更安全验证建议采用secret签名验证和IP绑定的方式。
1.1 secret签名验证
注:签名验证方式(tokenkey)=md5(用户名+secretkey+timestamp时间戳)
  secretkey:登录后台-》短信设置-》接口密码-》获取secretkey
  时间戳 :timestamp(yyyyMMddHHmmss)确保现在北京时间的准确性,左右不能差5分钟时间,超过报错“超过验证时效”;
  接口参数:https://api.sms.cn/sms/?ac=send&uid=90010&tokenkey=67da3bb4523ce538ff9adec57dc25162&timestamp=20120102102033
1.2 登录密码验证
短信接口密码使用“登录密码”与“用户名”拼接字符串后能过md5加密进行验证
如登录密码是:123123
如用户名是:test
接口密码(pwd)=md5(登录密码+用户名)
pwd=md5(123123test)
pwd=b9887c5ebb23ebb294acab183ecf0769
二、字符编码
服务器接收数据可以是GBK或UTF-8编码字符;
默认接收数据是UTF-8编码,如提交的是GBK编码字符,需要添加参数encode=gbk。
三、响应格式
所为响应即每次向服务器提交请求后返回值
响应值格式有:JSON、XML、纯文本
默认:JSON格式

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(登录密码+用户账号)

例:http://api.sms.cn/sms/?ac=status&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769


响应结果值说明:

参数 说明
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://您服务器接口地址?cmd=stat&uid=test&mobileids=1590049111112869461937&mobile=15900491111&status=100


操作的格式: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

例:http://api.sms.cn/sms/?ac=reply&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769


响应结果为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>


使用说明:由服务器平台发送上行回复短信到您的接口程序上,使用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加密

例:http://api.sms.cn/sms/?ac=reply&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769


响应结果为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>


操作的格式:http://api.sms.cn/sms/?ac=number&uid=用户账号&pwd=MD5位32密码&cmd=send


参数名 参数字段名 说明
ac 接口功能 传入值请填写 number
uid 用户账号
pwd 用户密码 32位MD5加密
cmd send 取已发送条数


响应结果为JSON和XML

JSON

{"stat":"100","number":"2123432"}


XML

<result>
<stat>100</stat>
<number>2123432</number>
</result>


操作的格式:http://api.sms.cn/sms/?ac=query&uid=用户账号&pwd=MD532位密码


短信接口参数说明:每次最多取50条记录,记录只能取一次,取过的记录不能在取


参数名 参数字段名 说明
ac 接口功能 传入值请填写 nquery
uid 用户账号
pwd 用户密码 小写32位MD5加密
date 日期 可选项,取指定日期记录(2011-12-12)
key 查询号码 可选项,取指定手机号记录
encode 字符编码 可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8

例:http://api.sms.cn/sms/?ac=query&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769


响应结果为JSON和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>


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模板 [选填]

例如1:添加全文模板内容:您好,您的验证码是:{**}【公司签名】
格式:
http://api.sms.cn/sms/?ac=template&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&&content=您好,您的验证码是:{**}【公司签名】
注:发送内容content需要进行URL字符标准化转码。


例如2: 添加JSON模板内容: 您好,您的验证码是:{$code}【公司签名】
格式:
http://api.sms.cn/sms/?ac=template&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&dataformat=2&content=您好,您的验证码是:{$code}【公司签名】
注:发送内容content需要进行URL字符标准化转码。


响应结果为JSON和XML

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

例:http://api.sms.cn/sms/?ac=templatestatus&uid=test&pwd=5f6a3e3ace0262caabc42a9618a78c68&templateid=232311


响应结果:

JSON

{"stat":"100","templateid":"383533","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

例:http://api.sms.cn/sms/?ac=templatequery&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&page=1


响应结果:

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 新密码 新密码

例:http://api.sms.cn/sms/?ac=pass&uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&newpwd=123123


响应结果为JSON和XML

JSON

{"stat":"100","message":"修改成功"}


XML

<result>
<stat>100</stat>
<message>修改成功</message>
</result>


为了接口更加的安全,请登录WEB云平台在“短信设置”中绑定你服务器的IP地址,可绑定100个固定IP,绑定IP后只有通过你的服务器来发送短信,防止他人使用