天天看点

asp短信接口开发经验及具体开发实现

一、头部配置调用

<!--#include file="md5.asp"-->
           
<% url=<a target=_blank href="http://sdk.entinfo.cn:8060/webservice.asmx" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >http://sdk.entinfo.cn:8060/webservice.asmx</a>
           
host="sdk.entinfo.cn:8060"
           
sn="SDK-SSD-010-00009" '替换成您自己的序列号
           
password="xxxxx"  '替换成您自己的密码 
           
pwd=MD5(sn & password) %>
           

二、查询短信余额balance()

参数名称 说明 备注
Sn 软件序列号 格式XXX-XXX-XXX-XXXXX
Pwd 密码 md5(sn+password) 32位大写 密文 +表示连接

函数返回值:String(余额)

接口地址:http://sdk.entinfo.cn:8060/webservice.asmx?op=balance

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

参数输入:

SN= SDK-SSD-010-00001

PWD= 3B5D3C427365F40C1D27682D78BB31E0

示例返回结果: 余额79109条短信

XML格式:

asp短信接口开发经验及具体开发实现

具体函数ASP实现:

function balance()
	SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _
	"<soap:Envelope xmlns:xsi="&CHR(34)&"http://www.w3.org/2001/XMLSchema-instance"&CHR(34)&" "& _
	"xmlns:xsd="&CHR(34)&"http://www.w3.org/2001/XMLSchema"&CHR(34)&" "& _
	"xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"& _
	"<soap:Body>"& _
	"<balance xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
	"<sn>"&sn&"</sn>"& _
	"<pwd>"&pwd&"</pwd>"& _
	"</balance>"& _
	"</soap:Body>"& _
	"</soap:Envelope>"
	Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
	xmlhttp.Open "POST",url,false
	xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
	xmlhttp.setRequestHeader "HOST",host
	xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
	xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/balance"
	xmlhttp.Send(SoapRequest)
	If xmlhttp.Status = 200 Then
	Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
	xmlDOC.load(xmlhttp.responseXML)
	balance=xmlDOC.documentElement.selectNodes("//balanceResult")(0).text
	Set xmlDOC = nothing
	Else
	balance=xmlhttp.Status&" "&xmlhttp.StatusText
	End if
	Set xmlhttp = Nothing
end function 
           

调用:

<% Response.Write("当前账户余额为"&balance()&"条短信") %>
           

三、普通群发短信mt(mobile,content,ext,stime,rrid)

参数名称 说明 是否必须    备注
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),此方法推荐用于大量群发.内容相同手机号多个的情况。

接口地址:http://sdk.entinfo.cn:8060/webservice.asmx?op=mt

示例1

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

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

Content:测试

Ext: ""

Stime: ""

Rrid: ""

输出结果:

XML格式:

asp短信接口开发经验及具体开发实现

具体函数ASP实现:

'mt群发短信
function mt(mobile,content,ext,stime,rrid)
	SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _
	"<soap:Envelope xmlns:xsi="&CHR(34)&"http://www.w3.org/2001/XMLSchema-instance"&CHR(34)&" "& _
	"xmlns:xsd="&CHR(34)&"http://www.w3.org/2001/XMLSchema"&CHR(34)&" "& _
	"xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"& _
	"<soap:Body>"& _
	"<mt xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
	"<sn>"&sn&"</sn>"& _
	"<pwd>"&pwd&"</pwd>"& _
	"<mobile>"&mobile&"</mobile>"& _
	"<content>"&content&"</content>"& _
	"<ext>"&ext&"</ext>"& _
	"<stime>"&stime&"</stime>"& _
	"<rrid>"&rrid&"</rrid>"& _
	"</mt>"& _
	"</soap:Body>"& _
	"</soap:Envelope>"
	
	Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
	xmlhttp.Open "POST",url,false
	xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
	xmlhttp.setRequestHeader "HOST",host
	xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
	xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/mt"
	xmlhttp.Send(SoapRequest)
	If xmlhttp.Status = 200 Then
	
	Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
	xmlDOC.load(xmlhttp.responseXML)
	mt=xmlDOC.documentElement.selectNodes("//mtResult")(0).text
	Set xmlDOC = nothing
	Else
	mt=xmlhttp.Status&" "&xmlhttp.StatusText
	End if
	Set xmlhttp = Nothing
end function 
           

调用:

<% 
	dim mobile,content
	mobile=trim(request.Form("mobile"))
	stime=trim(request.Form("stime"))
	content=trim(request.Form("content"))		
	Verify=mt(mobile,content&"[雷雨科技]","",stime,"")
	if left(Verify,1)="-" then%>
	发送失败,请查看webservice返回值对照表。返回值为:
	<%
	Response.Write(Verify)
	%>
	<% else %>
	发送成功
	<%	end if  %>
           

四、个性群发短信gxmt(mobile,content,ext,stime,rrid)

参数名称 说明 是否必须    备注
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用法相同,此方法用于发送多条内容不相同手机号多个的情况)

接口地址:http://sdk.entinfo.cn:8060/webservice.asmx?op=gxmt

需要注意:

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:此处为空(如果填写则系统返回填写内容)

输出结果:

XML格式:

asp短信接口开发经验及具体开发实现

具体函数ASP实现:

'gxmt群发短信
function gxmt(mobile,content,ext,stime,rrid)
	SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _
	"<soap:Envelope xmlns:xsi="&CHR(34)&"http://www.w3.org/2001/XMLSchema-instance"&CHR(34)&" "& _
	"xmlns:xsd="&CHR(34)&"http://www.w3.org/2001/XMLSchema"&CHR(34)&" "& _
	"xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"& _
	"<soap:Body>"& _
	"<gxmt xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
	"<sn>"&sn&"</sn>"& _
	"<pwd>"&pwd&"</pwd>"& _
	"<mobile>"&mobile&"</mobile>"& _
	"<content>"&content&"</content>"& _
	"<ext>"&ext&"</ext>"& _
	"<stime>"&stime&"</stime>"& _
	"<rrid>"&rrid&"</rrid>"& _
	"</gxmt>"& _
	"</soap:Body>"& _
	"</soap:Envelope>"
	
	Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
	xmlhttp.Open "POST",url,false
	xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
	xmlhttp.setRequestHeader "HOST",host
	xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
	xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/gxmt"
	xmlhttp.Send(SoapRequest)
	If xmlhttp.Status = 200 Then
	
	Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
	xmlDOC.load(xmlhttp.responseXML)
	gxmt=xmlDOC.documentElement.selectNodes("//gxmtResult")(0).text
	Set xmlDOC = nothing
	Else
	gxmt=xmlhttp.Status&" "&xmlhttp.StatusText
	End if
	Set xmlhttp = Nothing
end function 
           

调用:

<%   Response.Write(gxmt("18636800125,18636924700","张三您好,您本月实发工资3999元。[雷雨科技],李四您好,您本月实发工资4999元。[雷雨科技]","","",""))  %>
           

五、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个数与手机个数不一致

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

六、附加说明:

1.接口地址:

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

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

2.其它说明:

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

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

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

3. 郑重声明:

(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源代码下载:

DEMO  ASP版md5加密文件  SDK通用版接口文档  所有下载

继续阅读