一、工作方式
双方通过HTTP方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP的GET/POST方式交换。
另外双方需要保证数据传输的完整性和安全性,每次发送请求都有响应(响应返回格式为纯文本),安全验证目前采用用户名、密码和IP绑定的方式。
1.1 密码验证方式
接口密码使用“登录密码”与“用户名”拼接字符串后能过md5加密进行验证
如登录密码是:123123
如用户名是:test
接口密码(pwd)=md5(登录密码+用户名)
pwd=md5(123123test)
pwd=b9887c5ebb23ebb294acab183ecf0769
二、字符编码
服务器接收数据可以是GBK或UTF-8编码字符,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数encode=utf8。
请求响应返回内容是GBK编码。
三、响应格式
所为响应即每次向服务器提交请求后返回值
响应值格式为纯文本
四、短信发送(单条,多条发送)
GET/POST操作格式:
http://api.sms.cn/mt/?uid=用户账号&pwd=MD532位密码&mobile=号码&mobileids=消息编号&content=内容
接口参数说明:
参数名 |
参数字段 |
参数说明 |
uid |
用户账号 |
登录名 |
pwd |
用户密码 |
32位MD5加密md5(密码+uid) 如登录密码是:123123 ,uid是:test; pwd=md5(123123test) pwd=b9887c5ebb23ebb294acab183ecf0769 |
time |
定时时间 |
可选项,及时发送时参数无 格式:YYYY-MM-DD HH:MM 如:"2010-05-27 12:01" (年-月-日 时:分),发送时间以北京时间为准 |
mid |
子扩展号 |
可选项,根据用户账号是否支持扩展 |
encode |
字符编码 |
可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8 |
mobile |
接收号码 |
同时发送给多个号码时,号码之间用英文半角逗号分隔(,);小灵通需加区号 如:13972827282,13072827282,02185418874 GET 方式每次最多可以提交50条号码 POST 方式每次最多可以提交2000条号码[建议用POST方式提交] |
mobileids |
消息编号 |
可选项 该参数用于发送短信收取状态报告用,格式为消息编号+逗号;与接收号码一一对应,可以重复出现多次。 消息编号:全部由数字组成接收状态报告的时候用到,该消息编号的格式为目标号码+当前时间戳整数,精确到毫秒,确保唯一性。供收取状态报告用 如: 1590049111112869461937;
|
content |
短信内容 |
发送内容需要进行URL字符标准化转码。 ASP:server.URLEncode("短信内容") PHP:urlencode("短信内容") JAVA:java.net.URLEncoder.encode("短信内容") |
例:
接 收 号:13900008888,13900009999,13100006666
发送内容:发送测试
http://api.sms.cn/mt/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&mobile=13900008888,13900009999,13100006666&mobileids=1390000888812869461937,1390000999912869461937,1310000666612869461937&content= %B7%A2%CB%CD%B2%E2%CA%D4
发成功时响应状态码值:
sms&stat=100&message=发送成功
stat 状态码
message 状态说明
返回发送的状态码
状态码 说明
100 发送成功
101 验证失败
102 短信不足
103 操作失败
104 非法字符
105 内容过多
106 号码过多
107 频率过快
108 号码内容空
109 账号冻结
110 禁止频繁单条发送
112 号码错误
113 定时时间格式不对
114 账号被锁,10分钟后登录
116 禁止接口发送
117 绑定IP不正确
120 系统升级
五、接收状态报告
5.1 主动获取状态
GET/POST操作格式:
http://api.sms.cn/st/?uid=用户账号&pwd=MD532位密码
接口参数说明:
参数名 |
参数字段 |
参数说明 |
uid |
用户账号 |
|
pwd |
用户密码 |
32位MD5加密 md5(登录密码+用户账号) |
例:
http://api.sms.cn/st/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769
响应返回值:
18817660001,100,188176600011234556789, 2011-03-11 11:22:11
18817660002,100,188176600021234556311, 2011-03-11 11:28:22
说明:
手机号,状态,发送唯一编号,状态返回时间+换行
每条状态记录以换行分隔,一行一条状态记录
5.2 推送接收状态报告
发送状态报告请求消息
使用说明:由服务器平台发送状态报告到您的接口程序上,使用Http协议GET和POST方式发送,您需要提交一个http接口地址来接收如下格式参数值
操作的格式:
http://您服务器接口地址?cmd=stat&uid=用户账号&mobileids=消息编号&mobile=接收号码&status=消息状态
接口参数说明:
参数 |
参数字段名 |
说明 |
cmd |
操作命令 |
返回值:stat |
uid |
用户账号 |
返回值:发送短信用户名 |
mobileids |
消息编号 |
返回值:消息编号 |
mobile |
接收号码 |
返回值:接收的号码 |
status |
消息状态 |
100 //成功 130 //失败 131 //空号 132 //停机 133 //关机 134 //无状态 |
例:
http://您服务器接口地址?cmd=stat&uid=test&mobileids=1590049111112869461937&mobile=15900491111&status=100
六、接收上行短信(回复)
6.1 主动接收上行短信(回复)
操作的格式:
http://api.sms.cn/rx/?uid=用户账号&pwd=MD5 32位密码
注:提取的回复短信不能在重复提取
接口参数说明:
参数 |
参数字段名 |
说明 |
uid |
用户账号 |
|
pwd |
用户密码 |
小写32位MD5加密 |
例:
http://api.sms.cn/rx/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769
响应结果为纯文本,每次可接收多条回复信息:
状态码{&}回复号码||回复内容||回复时间||回复网关号{&}回复号码||回复内容||回复时间||回复网关号…….
例响应结果值:
100{&}13912341234||短信测试回复||2008-05-27 12:10:11||1068112227282{&}15912343333||短信测试回复2||2008-05-27 13:11:11||106811222728200
返回发送的状态码
无回复内容时返回空
注:对回复的内容中有||会自动转成全角||字符串
6.2 推送接收上行短信(回复)
使用说明:由服务器平台发送上行回复短信到您的接口程序上,使用Http协议GET和POST方式发送,您需要提交一个http接口地址来接收如下格式参数值
操作的格式:
http://您服务器接口地址?cmd=res&uid=用户账号&mobileids=消息编号&mobile=接收号码&status=消息状态
接口参数说明:
参数 |
参数字段名 |
说明 |
cmd |
操作命令 |
返回值:res |
uid |
用户账号 |
返回值:发送短信用户名 |
time |
回复时间 |
返回值:YYYY-MM-DD HH:II:SS |
mobile |
接收号码 |
返回值:接收的号码 |
content |
消息内容 |
返回值:GBK字符串 |
七、接口安全(绑定IP)
为了接口安全,请登录WEB平台在“系统设置”中绑定你服务器的IP地址,可绑定3个固定IP,绑定IP后只有通过你的服务器来发送短信,防止他人使用