一、头部配置调用
<!--#include file="md5.asp"-->
<% url=<a target=_blank href="http://sdk.entinfo.cn:8060/webservice.asmx">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实现:
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实现:
'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实现:
'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通用版接口文档 所有下载