-- 作者: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&tre=ter 这个是规则 < < 小于号 > > 大于号 & & 和 ' ' 单引号 " " 双引号 四、 错误代码表 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的格式是 通讯簿标识=通讯簿名称&通讯簿标识=通讯簿名称&通讯簿标识=通讯簿名称…….
|