一、工作方式
双方通过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操作格式:
/mt/?uid=用户账号&pwd=MD532位密码&mobile=号码&mobileids=消息编号&content=内容
接口参数说明:
参数名
参数字段
参数说明
uid
用户账号
登录名
pwd
用户密码
32位MD5加密md5(密码+uid)
如登录密码是:123123,uid是:test;
pwd=md5(123123test)
pwd=b9887c5ebb23ebb294acab183ecf0769
time
定时时间
可选项,及时发送时参数无格式:YYYY-MM-DDHH:MM如:"-05-2712:01"(年-月-日时:分),发送时间以北京时间为准
mid
子扩展号
可选项,根据用户账号是否支持扩展
encode
字符编码
可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数encode=utf8
mobile
接收号码
同时发送给多个号码时,号码之间用英文半角逗号分隔(,);小灵通需加区号
如:13972827282,13072827282,02185418874
GET方式每次最多可以提交50条号码
POST方式每次最多可以提交2000条号码[建议用POST方式提交]
mobileids
消息编号
可选项
该参数用于发送短信收取状态报告用,格式为消息编号+逗号;与接收号码一一对应,可以重复出现多次。
消息编号:全部由数字组成接收状态报告的时候用到,该消息编号的格式为目标号码+当前时间戳整数,精确到毫秒,确保唯一性。供收取状态报告用如:1590049111112869461937;
content
短信内容
发送内容需要进行URL字符标准化转码。{URL字符编码说明:返回字符串,此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)}
ASP:server.URLEncode("短信内容")
PHP:urlencode("短信内容")
JAVA:.URLEncoder.encode("短信内容")
例:
接收号:13900008888,13900009999,13100006666
发送内容:发送测试
发成功时响应状态码值:
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操作格式:
/st/?uid=用户账号&pwd=MD532位密码
接口参数说明:
参数名
参数字段
参数说明
uid
用户账号
pwd
用户密码
32位MD5加密md5(登录密码+用户账号)
例:
/st/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769
响应返回值:
18817660001,100,188176600011234556789,-03-1111:22:11
18817660002,100,188176600021234556311,-03-1111: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主动接收上行短信(回复)
操作的格式:
/rx/?uid=用户账号&pwd=MD532位密码
注:提取的回复短信不能在重复提取
接口参数说明:
参数
参数字段名
说明
uid
用户账号
pwd
用户密码
小写32位MD5加密
例:
响应结果为纯文本,每次可接收多条回复信息:
状态码{&}回复号码||回复内容||回复时间||回复网关号{&}回复号码||回复内容||回复时间||回复网关号…….
例响应结果值:
100{&}13912341234||短信测试回复||-05-2712:10:11||1068112227282{&}15912343333||短信测试回复2||-05-2713:11:11||106811222728200返回发送的状态码
无回复内容时返回空
注:对回复的内容中有||会自动转成全角||字符串
6.2推送接收上行短信(回复)
使用说明:由服务器平台发送上行回复短信到您的接口程序上,使用Http协议GET和POST方式发送,您需要提交一个http接口地址来接收如下格式参数值
操作的格式:
http://您服务器接口地址?cmd=res&uid=用户账号&mobileids=消息编号&mobile=接收号码&status=消息状态
接口参数说明:
参数
参数字段名
说明
cmd
操作命令
返回值:res
uid
用户账号
返回值:发送短信用户名
time
回复时间
返回值:YYYY-MM-DDHH:II:SS
mobile
接收号码
返回值:接收的号码
content
消息内容
返回值:GBK字符串
七、接口安全(绑定IP)
为了接口安全,请登录WEB平台在“系统设置”中绑定你服务器的IP地址,可绑定3个固定IP,绑定IP后只有通过你的服务器来发送短信,防止他人使用