天天看点

ASP彩信接口开发经验及具体开发实现

一、头部配置调用

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

二、查询账户余额balance()

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

函数返回值:String(余额)

接口地址:http://sdk3.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()&"条短信") %>
           

三、群发彩信mdMmsSend(title,mobile,content,stime)

参数名称 说明 是否必须    备注
Sn 软件序列号 格式XXX-XXX-XXX-XXXXX
Pwd 密码 md5(sn+password) 32位大写密文
title 彩信主题 限制在30字符以内
Mobile 手机号 手机号码多个以英文逗号隔开
Content 内容 base64编码(文件名1,文件base64编码串;文件名2,文件base64编码串);实际发送文件小于等于50*1024 字节
stime 定时时间 例如:2010-12-29 16:27:03(非定时置空)

函数返回值:String。

content是您发送的彩信的内容:包含图片和声音及文本;

1.文件类型: 文本是.txt 图片是.jpg或者.gif 声音是.mid或者.amr

2.内容格式:

帧数_文件类型.扩展名 + 英文逗号 + 文件的base64编码字符串 + 分号 ;

例如:“1_1.txt,” + 文件base64编码字符串 + “;” + “1_2.jpg,” + 文件base64编码字符串+”;”+”1_3.mid”+文件base64编码字符串

文本是 n_1.txt  图片是 n_2.jpg 或者是 n_2.gif  声音是 n_3.mid ;

N表示当前第几帧,后缀不变,编码均为GB2312。

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

示例1

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

title:彩信测试

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

Content:测试

Stime: ""

输出结果:

XML格式:

ASP彩信接口开发经验及具体开发实现

具体函数ASP实现:

'mdMmsSend彩信发送
Function mdMmsSend(title,mobile,content,stime)
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>"& _
	"<mdMmsSend xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
	"<sn>"&sn&"</sn>"& _
	"<pwd>"&pwd&"</pwd>"& _
	"<title>"&title&"</title>"& _
	"<mobile>"&mobile&"</mobile>"& _
	"<content>"&content&"</content>"& _
	"<stime>"&stime&"</stime>"& _
	"</mdMmsSend>"& _
	"</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/mdMmsSend"
	xmlhttp.Send(SoapRequest)
	If xmlhttp.Status = 200 Then
	
	Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
	xmlDOC.load(xmlhttp.responseXML)
	mdMmsSend=xmlDOC.documentElement.selectNodes("//mdMmsSendResult")(0).text
	Set xmlDOC = nothing
	Else
	mdMmsSend=xmlhttp.Status&" "&xmlhttp.StatusText
	
	End if
	Set xmlhttp = Nothing

End Function
           

调用:

<%
'发送彩信的Demo
Dim img_base
'ImagesToBase64("1.gif") 图片base64编码函数 对同路径下图片1.gif进行base64编码
img_base=ImagesToBase64("baidu.gif")  '此文件同路径下的图片名
img_base="1_2.gif,"&replace(img_base,chr(10),"") '过滤换行

Response.write( mdMmsSend("彩信标题","18636924700",img_base,""))

Function ImagesToBase64(FileName)
Dim xml
Dim root
Dim fs
Dim FilePath
Dim objStream
Dim objXMLDoc
Dim Base64
''定义变量完结
'创建对像
FilePath=Server.MapPath(FileName)
getFileExt = Mid(FilePath, InstrRev(FilePath, ".") + 1)

Set objXMLDoc=Server.CreateObject("msxml2.FreeThreadedDOMDocument")
    '设定生成XML文档的根为 Base64Data
    objXMLDoc.loadXML "<?xml version='1.0'?><Base64Data />"

Set fs = Server.createObject("Scripting.FileSystemObject") ''服务器需要FSO组件
If fs.FileExists(FilePath) Then '判断File文件是否存在
    '用 stream 来读取数据
    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Type = 1
    objStream.Open
    objStream.LoadFromFile FilePath

    objXMLDoc.documentElement.dataType = "bin.base64"
    objXMLDoc.documentElement.nodeTypedvalue = objStream.Read
    '数据流读取结束.得到了值 objXMLDoc
    '创建XML文件
          Set xml = Server.CreateObject("msxml2.FreeThreadedDOMDocument")
          xml.load objXMLDoc
          If xml.ReadyState>2 Then
            Set root=xml.getElementsByTagName("Base64Data")
            Base64=root.Item(0).Text
          else
            Base64=""
          End If
          Set xml=Nothing
    Set objStream=Nothing
else
            Base64=""
End If

Set fs=Nothing
Set objXMLDoc=Nothing

ImagesToBase64=Base64

End Function

%>
           

四、webservice返回集合对照表:

返回值 返回值说明
1 没有数据需要接收
-2 帐号/密码不正确 
-3 重复登陆
-4 余额不足
-5 数据格式错误
-6 参数有误
-8 流量控制错误
-11 数据库错误
-12 序列号状态错误
-13 没有提交增值内容
-14 服务器写文件失败
-17 该接口禁止使用该方法
-18  等上一批提交结果返回再继续下一批提交
-15 内容长度长
-22 Ip绑定

五、附加说明:

1.彩信语音SDK地址:

常用接口地址:http://sdk3.entinfo.cn:8060/webservice.asmx

2.其它说明:

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

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

3. 郑重声明:

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

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

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

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

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

或者

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

六、示例Demo源代码下载:

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