接口说明
用户在遵循 HTTP协议的前提下,可通过GET和POST方式提交短信发送请求
短信提交地址
短信可以提交不超过 5000个手机号码,每个号码用英文逗号间隔。 (一次提交发送超过200个手机号码,请使用POST请求)
URL 地址为: http://116.62.212.142/msg/HttpBatchSendSM (群发接口) 或 http://116.62.212.142/msg/HttpSendSM (单发接口) |
参数定义
序号 |
参数 |
说明 |
1 |
account |
必填参数。用户账号 |
2 |
ts |
可选参数,时间戳,格式 yyyyMMddHHmmss |
3 |
pswd |
必填参数。用户密码, ts 参数为空时填明文密码, ts 参数不为空时填 md5 ( 账号 + 密码 + 时间戳 ) ,对账号密码时间戳拼接的字符串进行 md5 加密 |
4 |
mobile |
必填参数。合法的手机号码,号码间用英文逗号分隔 |
5 |
msg |
必填参数。短信内容,长度不能超过 700 个字符。使用 URL 方式编码为 UTF-8 格式。短信内容超过 70 个字符时,会被拆分成多条,然后以长短信的格式发送。 内容格式:内容【自定义签名】 |
6 |
needstatus |
必填参数。是否需要状态报告,取值 true 或 false , true ,表明需要状态报告; false 不需要状态报告 |
7 |
product |
可选参数。用户订购的产品 id ,不填写时使用用户的默认产品,用户订购多个产品时必填,否则会发生计费错误。 |
8 |
extno |
可选参数,扩展码,用户自定义扩展码 |
9 |
resptype |
可选参数,响应格式,默认返回文本格式,填 json 返回 json 格式 |
短信提交响应
用户短信通过 http请求提交到服务器后,服务器返回响应码,响应码的格式如下:
resptime,respstatus msgid |
格式说明
短信提交响应分为两行(每行以换行符 (0x0a,即\n)分割),第一行为响应时间和状态,第二行为服务器给出提交msgid,一个发送请求只返回一个msgid。如果响应的状态不是“0”,或者提交时needstatus不等于true,则没有msgid,即第二行数据为空。
示例
提交成功
20110725160412,0 1234567890100 |
响应时间为 20110725160412,响应状态为0 表明成功提交到服务器;1234567890100为返回的msgid,供状态报告匹配时使用。
提交失败
20110725160412,101 |
本示例表明用户提交失败,返回错误码为 101,服务器端并未返回messageid。
响应状态值说明
代码 |
说明 |
0 |
提交成功 |
101 |
无此用户 |
102 |
密码错 |
103 |
提交过快(提交速度超过流速限制) |
104 |
系统忙(因平台侧原因,暂时无法处理提交的短信) |
105 |
敏感短信(短信内容包含敏感词) |
106 |
消息长度错(>700或<=0) |
107 |
包含错误的手机号码 |
108 |
手机号码个数错(群发>50000或<=0;单发>200或<=0) |
109 |
无发送额度(该用户可用短信数已使用完) |
110 |
不在发送时间内 |
111 |
超出该账户当月发送额度限制 |
112 |
无此产品,用户没有订购该产品 |
113 |
extno格式错(非数字或者长度不对) |
114 |
可用参数组个数错误(小于最小设定值或者大于1000) |
115 |
自动审核驳回 |
116 |
签名不合法,未带签名(用户必须带签名的前提下) |
117 |
IP地址认证错,请求调用的IP地址不是系统登记的IP地址 |
118 |
用户没有相应的发送权限 |
119 |
用户已过期 |
120 |
内容不在白名单模板中 |
注意事项
用户群发短信如果有审核的限制,则客户的短信必须经过管理人员的审核,审核通过后才能被提交到网关进行短信实际发送。
用户群发短信必须满足手机号码最低个数的限制,低于系统设定的群发最小手机号码数,则该提交请求会被拒绝,响应码为 108。
短信发送例子
【您的签名】您的发送内容 Ø 短信单发 http://116.62.212.142/msg/HttpSendSM?account=111111&pswd=123456&mobile=18900000000,13800138000&msg=test【自定义签名】 &needstatus=true&product=99999 Ø 短信群发 http://116.62.212.142/msg/HttpBatchSendSM?account=test01&pswd=123456&mobile=18900000000,13800138000&msg=test【自定义签名】 &needstatus=true&product=274463133 |
状态报告推送
如果管理员设置用户账户需要状态报告,并且也配置了账户的状态报告接收地址,则用户可以接收到其发送短信的状态报告。用户侧启动一个 HTTP服务用于接收状态报告。(使用HTTP GET方式推送状态,每次一条)
参数定义
序号 |
参数 |
说明 |
1 |
receiver |
接收状态报告验证的用户名(不是账户名),是按照用户要求配置的名称,可以为空 |
2 |
pswd |
接收状态报告验证的密码,可以为空 |
3 |
msgid |
提交短信时平台返回的msgid,参见 普通短信发送 - 参数定义 |
4 |
reportTime |
格式YYMMDDhhmm,其中YY=年份的最后两位(00-99),MM=月份(01-12),DD=日(01-31),hh=小时(00-23),mm=分钟(00-59) |
5 |
mobile |
单一的手机号码 |
6 |
status |
状态报告数值 |
状态报告值
状态报告的值即, status后面的数据,如下
状态值(字符串) |
说明 |
MBBLACK |
黑名单号码 |
NOROUTE |
无通道 |
ROUTEERR |
通道异常 |
REJECT |
审核驳回 |
DISTURB |
手机号码发送次数过多 |
EMSERR |
长短信不完整 |
SIGNERR |
签名错 |
KEYWORD |
敏感词 |
其他 |
网关内部状态 |
示例
http://pushUrl?receiver=admin&pswd=12345&msgid=12345&reportTime=1012241002&mobile=13900210021&status=DELIVRD |
其中, pushUrl为用户启动的服务地址。
在收到状态报告后需要自己写个方法去做处理收到的参数。
短信接收
参数定义
序号 |
参数 |
说明 |
1 |
receiver |
接收信息验证的用户名(不是账户名),是按照用户要求配置的名称,可以为空 |
2 |
pswd |
接收信息服务需验证的密码,可以为空 |
3 |
moTime |
格式YYMMDDhhmm,其中YY=年份的最后两位(00-99),MM=月份(01-12),DD=日(01-31),hh=小时(00-23),mm=分钟(00-59) |
4 |
mobile |
单一的手机号码 |
5 |
msg |
MO短信内容,文字内容使用UTF-8编码 |
6 |
destcode |
用户上行的目的号码 |
7 |
isems |
是否为长短信的一部分,1:是,0,不是。不带该参数,默认为普通短信 |
8 |
emshead |
Isems为1时,本参数以ASCII码形式显示长短信的头信息。用“,”隔开,分为三个部分,第一部分标识该条长短信的ID(该ID为短信中心生成);第二部分,表明该长短信的总条数(pk_total);第三部分,该条短信为该长短信的第几条(pk_number)。 例如:234,4,1,该短信的ID为234,该长短信的总长度为4条,1,当前为第一条。 |
示例
普通短信:
http://pushMoUrl?receiver=admin&pswd=12345&moTime=1208212205&mobile=13800210021&msg=hello&destcode=10657109012345 |
其中, pushUrl为用户启动的服务地址。
在收到短信上行后需要自己写个方法去做处理收到的参数。
额度查询接口
接口地址
URL 地址为: http://116.62.212.142/msg/QueryBalance |
参数定义
序号 |
参数 |
说明 |
1 |
account |
必填参数。用户账号 |
2 |
pswd |
必填参数。用户密码 |
提交响应
20130303180000,0 1234567,1000 1234531,2000 |
第一行显示返回额度时的时间,提交响应值。
第二行开始,每一行显示一个产品 ID及其额度,有多少个产品显示多少行。
提交响应值
代码 |
说明 |
0 |
成功 |
101 |
无此用户 |
102 |
密码错误 |
103 |
查询过快(30秒查询一次) |
示例
http://116.62.212.142/msg/QueryBalance?un=111111&pw=123456 |