Http通用短信接口开发经验及具体开发实现

来源:互联网 发布:js confirm 是否 编辑:程序博客网 时间:2024/06/05 09:41

支持所有开发语言的调用,苹果IOS操作系统和WindowsPhone手机操作系统可参考执行。

一、Webservice接口

1.webservice返回集合对照表:

返回值

返回值说明

问题描述

-2 

帐号/密码不正确

1.序列号未注册2.密码加密不正确3.密码已被修改4.序列号已注销

-4

余额不足支持本次发送(或者修改密码长度不正确)

余额不足(或者修改密码长度不在6位到10位之间)

-5

数据格式错误

只能自行调试了。或与技术支持联系

-6

参数有误

看参数传的是否均正常,请调试程序查看各参数

-7

权限受限

该序列号是否已经开通了调用该方法的权限

-8

流量控制错误

-9

扩展码权限错误

该序列号是否已经开通了扩展子号的权限,把ext这个参数置空。

-10

内容长度长

单字节不能超过1000个字符,双字节不能超过500个字符

-11

内部数据库错误

-12

序列号状态错误

序列号是否被禁用

-14

服务器写文件失败

-17

没有权限

如发送彩信仅限于SDK3

-19

禁止同时使用多个接口地址

每个序列号提交只能使用一个接口地址

-20

相同手机号,相同内容重复提交

-22

Ip鉴权失败

提交的IP不是所绑定的IP

-23

缓存无此序列号信息

-601

序列号为空,参数错误

-602

序列号格式错误,参数错误

-603

密码为空,参数错误

-604

手机号码为空,参数错误

-605

内容为空,参数错误

-606

ext长度大于9,参数错误

-607

参数错误 扩展码非数字 

-608

参数错误 定时时间非日期格式

-609

rrid长度大于18,参数错误 

-610

参数错误 rrid非数字

-611

参数错误 内容编码不符合规范

-623

手机个数与内容个数不匹配

-624

扩展个数与手机个数数

-644 

rrid个数与手机个数不一致

注:以上返回值针对个别方法.请具体参看每个用到方法的详细说明。

2.Register注册(信息必须真实, 短信出现问题联系不上使用者后果自负.)

参数名称

说明

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX 由商务处获得

Pwd

密码

6-8位 明文

Province

必填

City

必填

Trade

行业

必填

Entname

公司名称

必填

Linkman

联系人

必填

Phone

电话

必填

Mobile

移动电话

必填

Email

邮件地址

必填

Fax

传真

必填

Address

地址

必填

Postcode

邮政编码

必填

Sign

企业签名

必填

注:使用序列号的第一步即激活序列号的状态.和使用者进行绑定.如不注册便发送短信会返回相应的返回值-2.除sign参数可为空其它均为必填项.请认真对待这些参数的真实性.短信出现问题联系不上使用者后果自负.

返回结果:

XML格式:

文本格式: 0 成功。

3.balance 查询余额

参数名称

说明

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

Pwd

密码

md5(sn+password) 32位大写 密文 +表示连接

函数返回值:String(余额)

示例:序列号SDK-SSD-010-00001 密码 123456

参数输入:

SN= SDK-SSD-010-00001

PWD= 3B5D3C427365F40C1D27682D78BB31E0

返回结果:

XML格式:

文本格式:

79109

4.ChargUp充值

参数名称

说明

备注

Sn

软件序列号

XXX-XXX-XXX-XXXXX

pwd

密码

123456 此处为明文

cardno

充值卡号

充值卡号 由商务处获得

cardpwd

充值卡密码

充值密码 由商务处获得

函数返回值:string

返回结果:

XML格式:

文本格式:

0 成功。

5.mt 普通群发送短信

参数名称

说明

是否必须   

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

Pwd

密码

md5(sn+password) 32位大写密文

Mobile

手机号

必填(支持10000个手机号,建议<=5000)多个英文逗号隔开

Content

内容

支持长短信(详细请看长短信扣费说明)

Ext

扩展码

例如:123(默认置空)

stime

定时时间

例如:2010-12-29 16:27:03(非定时置空)

Rrid

唯一标识

最长18位,只能是数字或者 字母 或者数字+字母的组合

函数返回值:String(唯一标识,即当前发送短信批次的唯一标识,和rrid对应,如为空则返回系统生成的rrid)此方法推荐用于大量群发.内容相同手机号多个

示例1

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

Mobile:139***404,138***213…………….

Content:测试

Ext: ""

Stime: ""

Rrid: ""

输出结果:

XML格式:

文本格式:

201012300908160937。

示例2:

输入参数:

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

Mobile:139***404,138***213…………….

Content:测试

Ext:21(默认,请置空)

Stime: 2009-10-19 16:34:00 (如果不需要定时,请置空)

Rrid:123456 (如果填写则系统返回填写内容,如果置空,返回系统生成的rrid)

输出结果:

XML格式:

文本格式:

123456

6.mo接收短信

参数名称

说明

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

Pwd

密码

md5(sn+password) 32位大写密文

函数返回值:Stirng 

返回值说明:mo ID,特服号,手机号,内容(对内容进行gb2312解码),时间 

如有多条回车换行隔开 \n,一次最多返回999条短信

返回结果:

XML格式:

文本格式:

12323666,47512,15201692834,%b2%e2%ca%d41,2010-12-30 9:15:56

注:拆分形式为 先\n拆分成数组,然后逗号拆分成数组.根据索引读出需要的数据.内容要GB2312解码。

如果发送时ext=3 用子号3发送了 那么调用mo之后 第二个参数47512 就变成了475123了由此可以判断用户是回复的那条短信或者哪个应用!

上行只能取一次,即客户的回复内容只能取一次。

或者

用户提供接收上行的URL,我公司采用post方式推送,有且仅有一个args参数,用户不得添加其他参数

http://www.url.com/mo.aspx?args=XXXXX

Post 接收部分示例:

Php : $_POST[''args"]

C# : Request["args"]

Java : request.getParameter("args")

XXXX格式如下:

固定值(123456)特服号(与序列号唯一对应,在我公司内部使用),手机号,内容(经过URLgb2312编码的) ,时间。如果有多条,以英文的";"隔开,我公司采用多线程推送,一个线程最多1000条

123456,132710,15388650501,%b2%e2%ca%d4%b6%cc%d0%c51,2012-5-23 11:38:46;

123456,132710,15321858155,%b2%e2%ca%d4%b6%cc%d0%c52,2012-5-23 11:38:49

返回:您接收成功后,返回0.您不返回值,或返回其他值,我们的程序都会认为推送失败了,会缓存5分钟后,再次请求。但最多会请求10次,即50分钟后,您还没有返回0,我们就会停止推送(会删掉这个失效链接)。

7.gxmt 个性群发短信

参数名称

说明

是否必须   

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

Pwd

密码

md5(sn+password)32位大写密文

Mobile

手机号

必填(建议一次最多提交1000个)

Content

内容

支持长短信(详细请看长短信扣费说明)

Ext

扩展码

例如:123(默认置空)

Stime

定时时间

例如: 2010-12-30 9:23:20(非定时置空)

Rrid

唯一标识

最长18位

函数返回值:String (唯一标识,即当前发送短信批次的唯一标识,和rrid对应,如为空则返回系统生成的rrid,此处的rrid和mt发送的rrid用法相同,此方法用于发送多条内容不相同手机号多个的情况)

需要注意:

1、手机号以英文逗号隔开

2、发送内容若含有小逗号,整条内容URLGB2312编码后,以英文逗号隔开,个数和手机号个数一致

3、扩展码可以为空,单个,或多个(以英文逗号隔开,个数和手机号个数一致)

4、定时时间可以为空,单个,或多个(以英文逗号隔开,个数和手机号个数一致)

返回结果:

XML格式:

示例1:

输入参数:

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

Mobile:139***404,138***213

Content: %B2%E2%CA%D41, %B2%E2%CA%D42

Ext:(默认,请置空)

Stime: (如果不需要定时,请置空)

Rrid:123456 (如果填写则系统返回填写内容,如果置空,返回系统生成的rrid)

输出结果:

XML格式:

文本格式:

123456

示例2

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

Mobile:139***404,138***213…………….

Content: %B2%E2%CA%D41, %B2%E2%CA%D42

Ext: 

Stime: 

Rrid: 此处为空

输出结果:

XML格式:

文本格式:

201012300908160937。

8.UDPPwd修改密码

参数名称

说明

是否必须   

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

Pwd

旧密码

明文

newpwd

新密码

明文,新密码不得小于6位

http://sdk.entinfo.cn:8060/webservice.asmx?op=UDPPwd

二、多线程Webservice接口

1.多线程群发普通短信

http://sdk2.entinfo.cn:8061/mdsmssend.ashx?sn=SN&pwd=MD5(sn+password)&mobile=mobile&content=content&ext=&stime=&rrid=&msgfmt=

参数名称

说明

是否必须有值   

备注

sn

软件序列号

格式XXX-XXX-XXX-XXXXX

pwd

密码

md5(sn+password) 32位大写密文

mobile

手机号

必填(支持10000个手机号,建议<=5000)多个英文逗号隔开

Content

内容

支持长短信(详细请看长短信扣费说明),URLUTF8编码

Ext

扩展码

例如:123(默认置空)

stime

定时时间

例如:2010-12-29 16:27:03(置空表示立即发送)

Rrid

唯一标识

最长18位,支持数字。

msgfmt

内容编码

0:ASCII串。3:短信写卡操作。4:二进制信息。空或15:含GB汉字

函数返回值:String(唯一标识,即当前发送短信批次的唯一标识,和rrid对应,如为空则返回系统生成的rrid)

sn即您注册时的序列号,pwd需要MD5(SN+pwd)加密,取32位大写。

示例:

http://sdk2.entinfo.cn:8061/mdsmssend.ashx?sn=SDK-SSD-010-XXXXX&pwd=D86555F4EA11EFFA57E8F7DF7AAFFD3F&mobile=137****1021&content=测试&ext=&stime=&rrid=&msgfmt=

2.多线程群发个性短信

http://sdk2.entinfo.cn:8061/mdgxsend.ashx?sn=SN&pwd=MD5(sn+password)&mobile=mobile&content=content&ext=&stime=&rrid=&msgfmt=

参数名称

说明

是否必须 有值  

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

pwd

密码

md5(sn+password)32位大写密文

mobile

手机号

必填(建议一次最多提交1000个)

Content

内容

内容通过小逗号与手机号一一对应好URLUTF8编码

Ext

扩展码

例如:123(默认置空)

Stime

定时时间

例如: 2010-12-30 9:23:20(置空表示立即发送)

Rrid

唯一标识

最长18位

msgfmt

内容编码

0:ASCII串。3:短信写卡操作。4:二进制信息。空或15:含GB汉字

函数返回值:String (唯一标识,即当前发送短信批次的唯一标识,和rrid对应,如为空则返回系统生成的rrid,此处的rrid和mdsmssend发送的rrid用法相同,此方法用于发送多条内容不相同手机号不同多个的情况)

示例:

http://sdk2.entinfo.cn:8061/mdgxsend.ashx?sn=SDK-SSD-010-XXXXX&pwd=D86555F4EA11EFFA57E8F7DF7AAFFD3F&mobile=137****1021,137****1022&content=测试1,测试2&ext=&stime=&rrid=&msgfmt=

三、附加说明:

1.号码编程注意事项:

(1)手机号以英文逗号隔开

(2)发送内容若含有小逗号,整条内容URLUTF8编码编码后,以英文逗号隔开,个数和手机号个数一致

(3)扩展码可以为空,单个,或多个(以英文逗号隔开,个数和手机号个数一致)

(4)定时时间可以为空,单个,或多个(以英文逗号隔开,个数和手机号个数一致)

2.长短信扣费说明:

如果一次提交小于等于70字符 系统会默认为一条短信发出 扣费一条

如果大于70字符 系统会默认为长短信处理 此时根据长短信前边会加(1/2) 或者(2/2)的标志 此时扣费按67字符扣一条  (内容不超过500字符) 纯单字节是140一条,超过140个字符后,按普通长短信收费,即67个字符每条收费。

3.接口地址:

常用接口地址:http://sdk.entinfo.cn:8060/webservice.asmx (一般调用)

多线程接口地址:http://sdk.entinfo.cn:8061/webservice.asmx (java、andriod使用)

4.其它说明:

(1)开发使用的帐号必须为SDK开头,如SDK-SSD-010-00001,帐号第一次需要调用Register方法注册一次.仅需注册一次即可,信息必须真实

(2)UnRegister与Register配合使用, 连续使用不得超过10次/天;

(3)群发推荐使用接口方法 mt或者mdSmsSend (仅方法名不同);

5. 郑重声明:

(1)禁止相同的内容多个手机号连续一条一条提交. 否则禁用帐号,由此带来损失由客户自行负责.

(2)请客户提供外网服务器IP以便于绑定IP发送,提高账号的安全性!

(3)在程序里最好有配置文件,程序自动判断当某个接口连接超时提交速度变慢时.程序可以自动切换其它的接口以下是推荐的几个服务器,仅接口地址不同而已.方法全部相同;

地址1:http://sdk.entinfo.cn:8060/webservice.asmx

地址2:http://sdk2.entinfo.cn:8060/webservice.asmx

这些地址都是标准的webservice地址,C#,Java客户可以按照自己熟悉的方式去解析String   

或者

地址1:http://sdk.entinfo.cn:8060/webservice.asmx?wsdl

地址2:http://sdk2.entinfo.cn:8060/webservice.asmx?wsdl

四、示例Demo源代码下载:

  SDK通用版接口文档  所有下载

0 0
原创粉丝点击