以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  ASP 与xml post 数据 问题请教  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=41589)


--  作者:vicio
--  发布时间:12/25/2006 12:00:00 PM

--  ASP 与xml post 数据 问题请教
一、 概述
通过接口的方式为代理账号增加短信
如果没有做特殊说明接口的调用采用POST ――XML数据得方式,参数名称区分大小写。
注:
所有的数据传输均用UTF-8的格式传送,否则会出现错误!!
二、 接口说明
入口URL: http://www.bizsms.cn/InterFace/InterFace.php
入口参数的格式

<?xml version='1.0' encoding='UTF-8'? >
<ROOT>
    第一节点
 <MDL>SMS</MDL> 
    规定的模块类型(关于短信为SMS)
    必须填写
 <ACT>SENDSMS</ACT>  
规定动作类型 (发送短信的动作SENDSMS)
必须填写
 <CHECKSUM TIMESTAMP=$TIMESTAMP>PASSWORD</CHECKSUM>
    $TIMESTAMP为时间的字符串 要14位的
    例如 2006年03月29日 15:12:08
    $TIMESTAMP=20060329151208
此处的PASSWORD为规定的验证参数,
PASSWORD=md5($MDL+$ACT+md5($pass+$TIMESTAMP))
$MDL模块类型 此处为SMS
$ACT动作类型 此处为SENDSMS
$pass双方商定的密码  bizsmsdns
$TIMESTAMP 就是上面得到的时间字符串
必须填写
  <SMSNAME>短信网址名称</SMSNAME>
     短信网址的名称:
     如 : 新网互联
必须填写
<KEY>短信网址密码以及时间MD5之后的验证码</KEY>
   就是短信网址的密码 加上当前时间字符串以后
进行MD5加密得到的值
例如:
短信网址密码:12345678
当前世间为: 2006年03月29日 15:12:08
那么就是
KEY=md5(“12345678”+”200603291512”)
必须填写
<MOBILE>发送的电话号码</MOBILE>
   手机号码 如果是多个手机号码 用( )空格分开
   如:
   13800000000 13900000000
必须填写
<MESSAGE>发送的短信内容</MESSAGE>
   发送短信内容
必须填写
<SENDTIME>发送的时间</SENDTIME>
   如果要设置成为定时发送,此处为定时发送的时间
   格式:
YYYY-mm-dd HH:ii:ss
   例如:
当前世间为: 2006年03月29日 15:12:08
SENDTIME=2006-03-29 15:12:08
<GROUPID>要发送短信组的ID</GROUPID>
   如果知道通讯录的组标识就可以在这里输入
   多个组用( )空格分开
<PUSHURL>要发送PUSH的URL</PUSHURL>
   如果要发送的是wappush的话 那么这里的url一定要填写
<TASKID>每次发送短信任务ID</TASKID>
   每次发送任务有一个固定的标识
为了用户回复短信的时候取回复信息 所以要发送一个任务ID
这个TASKID的格式是
TASKID=”HT”+14位随机数字
每次的任务ID不能重复
而且如果发送的信息过长的话 就不能指定任务ID
  <FUNC>发送信息的标识</FUNC>
     标准:
     短信 ---  SMS
     Wappush ---  WAP
     闪信 ---  FLASH
     必须填写
</ROOT>

 返回值说明

<?xml version='1.0' encoding='UTF-8'? >
< ROOT >
 <RESULT VALUE="返回值">信息</RESULT>
</ ROOT >

所有的返回值对应的信息都在返回值里面

三、 数据处理
特别注意的是 在数据处理的时候 相互之间传递的中文字 一定要用UTF-8来传递 接收回来的XML的数据也是UTF-8的数据 所以在数据处理前 要进行编码的转换

注意的是 如果在传递XMl数据中 如果含有"&"  "<"  ">"  "'"(单引号)   '"'(双引号)的时候要能够用下面这个转换规则 做一下转换例如:
http://www.sohu.com/test/test/com.php?asd=asd&tre=ter
这个时候 这个链接在传递的时候要进项一下转换 也就是说 应该写成
http://www.sohu.com/test/test/com.php?asd=asd&amp;tre=ter
这个是规则
&lt;  < 小于号
&gt;  > 大于号
&amp; & 和
&apos; ' 单引号
&quot; " 双引号

四、 错误代码表
3001 参数不完整
1001 电话号码为空
1002 发送信息为空
1003 发送短信内有禁用词
1004 手机号码只能是11位
1005 小灵通号码只能是11位或者12位
1006 小灵通号码只能北方网通的号码
1007 电话号码格式不合法
1008 给小灵通群发不能超过50个字
3001 参数不完整
2001 短信网址不存在
2002 短信网址已经过期
2003 短信网址密码不正确
2004 发送时间格式不正确
2005 达到每天最大发送量
2006 发送量大于剩余量
2007 如果发送信息过长的话,就不能指定TaskId
2008 TaskId不合法
2009 TaskId重复
0 成功
0000 未知错误

获取服务器时间的方法
<?xml version='1.0' encoding='UTF-8'? >
<ROOT>
 <MDL>TIMESTAMP</MDL>
 <ACT>GET</ACT>
</ROOT>
同样向这个链接POST这个XML数据 返回值就是时间字符串
格式为
<?xml version='1.0' encoding='UTF-8'? >
< ROOT >
 <TIMESTAMP>时间字符串</TIMESTAMP>
</ ROOT >
返回的这个字符串是14位的也就是说是  年月日时分秒 都有的 在本例中应用的时间字符串是不需要 “秒” 的 所以用的时候要截取一下

还有就是获取组标识的方法
<?xml version='1.0' encoding='UTF-8'? >
<ROOT>
    第一节点
  <MDL>SMS</MDL> 
    规定的模块类型(关于短信为SMS)
    必须填写
 <ACT>GETGROUP</ACT>  
规定动作类型 (得到通讯簿标识的的动作GETGROUP)
必须填写
 <CHECKSUM TIMESTAMP=$TIMESTAMP>PASSWORD</CHECKSUM>
    $TIMESTAMP为时间的字符串 要14位的
    例如 2006年03月29日 15:12:08
    $TIMESTAMP=20060329151208
此处的PASSWORD为规定的验证参数,
PASSWORD=md5($MDL+$ACT+md5($pass+$TIMESTAMP))
$MDL模块类型 此处为SMS
$ACT动作类型  此处为GETGROUP
$pass双方商定的密码  bizsmsdns
$TIMESTAMP 就是上面得到的时间字符串
必须填写
  <SMSNAME>短信网址名称</SMSNAME>
     短信网址的名称:
     如 : 新网互联
必须填写
<KEY>短信网址密码以及时间MD5之后的验证码</KEY>
   就是短信网址的密码 加上当前时间字符串以后
进行MD5加密得到的值
例如:
短信网址密码:12345678
当前世间为: 2006年03月29日 15:12:08
那么就是
KEY=md5(“12345678”+”200603291512”)
必须填写
</ROOT>


返回的格式:
<?xml version='1.0' encoding='UTF-8'? >
<ROOT>
 <RESULT VALUE="返回值">信息</RESULT>
 <GROUPINFO>GROUPID</GROUPINFO>
</ROOT>

GROUPID的格式是
通讯簿标识=通讯簿名称&通讯簿标识=通讯簿名称&通讯簿标识=通讯簿名称…….


--  作者:vicio
--  发布时间:12/25/2006 12:03:00 PM

--  
谁能帮我写一个asp 的源代码?  post 数据到 ttp://www.bizsms.cn/InterFace/InterFace.php
并且取得返回值!格式及接口标准如上面所述!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
8,062.500ms