http://www.meetbse.com

                                                                  【大发电玩计划】php回调接口怎么写-PHP问题

                                                                  1、第三方回调API说明:

                                                                  接口地址:无[需在第三方后台配置]

                                                                  请求方法:无

                                                                  请求参数:无

                                                                  返回参数

                                                                  type:短信类型:1广告;2祝福

                                                                  count:本次推送的短信总数

                                                                  id:唯一标识

                                                                  mobile:短信号码

                                                                  userId:用户账号

                                                                  status:发送状态:0失败;1成功

                                                                  返回结果:[XML格式]

                                                                  相关推荐:《php基础教程》

                                                                  例如:

                                                                  <?xml version="1.0" encoding="utf-8"?>    <returnData>        <type>1</type>        <count>2</count>        <list>            <allRet>                <id>1529051684657847</id>                <)mobile>187********</mobile>                <status>0</status>                <userId>zzzppp</userId>            </allRet>            <allRet>                <id>1529051612347847</id>                <mobile>137********</mobile>                <status>1</status>                <userId>wwwhhh</userId>            </allRet>        </list>    </returnData>

                                                                  响应说明:客户端接收成功请返回:100或OK或SUCCESS

                                                                  2、php回调代码:

                                                                  //PHP接收回调地址操作public function backAction(){//模拟获取接收的数据$contents = $this->getData();    //本地模拟接口获取到的数据//$contents = file_get_contents('php://input');$data = $contents ? $this->_xmlToArray($contents) : array();//写回滚日志$filePath = APP_PATH."/data/log/";$this->createDirectory($filePath);    //目录不存在,则创建$fileName = $filePath."back.txt";file_put_contents( $fileName, date('Ymd H:i:s')."\r\n".(json_encode($data))."\r]\n", FILE_APPEND | LOCK_EX);//var_export($data);die;$cnt = 0;$result = $data['list']['allRet'];/**根据回调结果处理我们数据库的逻辑*///STARTforeach ($result as $k => $v){ //在循环中[根据唯一标识ID]处理自己数据了的逻辑    $userMobile = $v['mobile'];    if($v['status'] == 1 [){            }else{            }    $cnt ++;}//ENDif( $cnt == $data['count'] ){    file_put_contents( $fileName, date('Ymd H:i:s')."\r\n".(json_encode($data))."\r\n", FILE_APPEND | LOCK_EX);    //写结果日志    exit('SUCCESS');    //响应第三方[在回调中返回结果,告诉人家自己是否回调成功,否则人家可能会回调N次]}else{    file_put_contents( $fileName, date('Ymd H:i:s')."\r\n".(json_encode($data))."\r\n", FILE_APPEND | LOCK_EX);    //写结果日志    exit('ERROR');}}//XML格式化成数组function _xmlToArray($xml){libxml_disable_entity_loader(true);$xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);$val = json_decode(json_encode($xmlstring),true);ret,urn $val;}//递归创建目录[在linux下要有创建目录的权限才能创建目录 chmod -R 777 /var/data/log ]public function createDirectory( $dir ){return  is_dir ( $dir ) or $this->createDirectory(dirname( $dir )) and  mkdir ( $dir , 0777);}public function getData(){$xml = '<?xml version="1.0" encoding="utf-8"?>            <returnData>                <type>1</type>                <count>2</count>                <list>                    <allRet>                        <id>1529051684657847</id>                        <mobile>187********</mobile>                        <status>0</status>        (                <userId>zzzppp</userId>                    </allRet>                    <allRet>                        <id>1529051612347847</id>                        <mobile>137********</mobile>                        <status>1</status>                        <userId>wwwhhh</userId>                    </allRet>                </list>        </returnData>';return $xml;}
                                                                                  

                                                                  郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:PHP 中使用 TUS 协议来实现大文件的断点续传-php教程
                                                                  下一篇:没有了