php短信接口开发经验及具体开发实现
来源:互联网 发布:数据分析师与公务员 编辑:程序博客网 时间:2024/05/22 03:37
参数名称
说明
是否必须
备注
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格式:
具体函数PHP实现:
<?PHP //改demo的功能是群发短信和发单条短信。(传一个手机号就是发单条,多个手机号既是群发)//您把序列号和密码还有手机号,填上,直接运行就可以了//如果您的系统是utf-8,请转成GB2312 后,再提交、//请参考 'content'=>iconv( "UTF-8", "gb2312//IGNORE" ,'您好测试短信[XXX公司]'),//短信内容$flag = 0; //要post的数据 $argv = array( 'sn'=>'SDK-SSD-010-00009', ////替换成您自己的序列号 'pwd'=>strtoupper(md5('SDK-SSD-010-00001'.'XXX')), //此处密码需要加密 加密方式为 md5(sn+password) 32位大写 'mobile'=>'18636924700',//手机号 多个用英文的逗号隔开 post理论没有长度限制.推荐群发一次小于等于10000个手机号 'content'=>'用户您好,您的校验码是123456,十分钟输入有效。[雷雨科技]',//短信内容 'ext'=>'', 'stime'=>'',//定时时间 格式为2011-6-29 11:09:21 'rrid'=>'' ); //构造要post的字符串 foreach ($argv as $key=>$value) { if ($flag!=0) { $params .= "&"; $flag = 1; } $params.= $key."="; $params.= urlencode($value); $flag = 1; } $length = strlen($params); //创建socket连接 $fp = fsockopen("sdk.entinfo.cn",8060,$errno,$errstr,10) or exit($errstr."--->".$errno); //构造post请求的头 $header = "POST /webservice.asmx/mt HTTP/1.1\r\n"; $header .= "Host:sdk.entinfo.cn\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Length: ".$length."\r\n"; $header .= "Connection: Close\r\n\r\n"; //添加post的字符串 $header .= $params."\r\n"; //发送post的数据 fputs($fp,$header); $inheader = 1; while (!feof($fp)) { $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 if ($inheader && ($line == "\n" || $line == "\r\n")) { $inheader = 0; } if ($inheader == 0) { // echo $line; } } //<string xmlns="http://tempuri.org/">-5</string> $line=str_replace("<string xmlns=\"http://tempuri.org/\">","",$line); $line=str_replace("</string>","",$line); $result=explode("-",$line); // echo $line."-------------"; if(count($result)>1)echo '发送失败返回值为:'.$line.'。请查看webservice返回值对照表';elseecho '发送成功 返回值为:'.$line; ?>
二、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 SDK通用版接口文档 所有下载
- php短信接口开发经验及具体开发实现
- asp短信接口开发经验及具体开发实现
- VC短信接口开发经验及具体开发实现
- VB短信接口开发经验及具体开发实现
- DELPHI短信接口开发经验及具体开发实现
- C#短信接口开发经验及具体开发实现
- Java短信接口开发经验及具体开发实现
- Android短信接口开发经验及具体开发实现
- Http通用短信接口开发经验及具体开发实现
- PHP彩信接口开发经验及具体开发实现
- PHP语音SDK接口开发经验及具体开发实现
- 短信回复上行功能开发经验及具体开发实现
- 【国际短信】功能开发经验及具体开发实现
- ASP彩信接口开发经验及具体开发实现
- C#彩信接口开发经验及具体开发实现
- Java彩信接口开发经验及具体开发实现
- VC、C++彩信接口开发经验及具体开发实现
- C#语音SDKSDK接口开发经验及具体开发实现
- 打开editor的接口讨论
- 从QProcess说开来(一)
- Android开发周报:锤子新品发布、实战解析Android架构
- MySQL二进制日志
- android 照相
- php短信接口开发经验及具体开发实现
- Spring文件上传
- Spring MVC之@RequestMapping 详解
- devmemdata.loadfromstream使用方法
- 从QProcess说开来(二)
- android高仿酷狗音乐播放器源码下载
- Android FoldingLayout 折叠布局 原理及实现(一)
- jQuery-强大的jQuery选择器
- Java transient关键字使用小记