1.预约
function kuaidi100Yuyue($company,$number){ $post_data = array(); $post_data["schema"] = \'json\' ; //callbackurl请参考callback.php实现,key经常会变,请与快递100联系获取最新key $json_data=array( \'company\'=>$company, \'number\'=>$number, \'key\'=>\'key\', \'parameters\'=>array( \'callbackurl\'=>\'http://www.bellevplus.com/callback/\' ) ); $post_data["param"] = json_encode($json_data); $url=\'http://www.kuaidi100.com/poll\'; $o=""; foreach ($post_data as $k=>$v) { $o.= "$k=".urlencode($v)."&"; //默认UTF-8编码格式 } $post_data=substr($o,0,-1); $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $result = curl_exec($ch); //返回提交结果,格式与指定的格式一致(result=true代表成功) curl_close($ch); $res=json_decode($result,true); return $res; }
2.接受数据
header("Content-Type:text/html;charset=utf-8"); $param=isset($_POST[\'param\']) && !empty($_POST[\'param\'])?$_POST[\'param\']:\'\'; if($param!=\'\'){ $res=json_decode(stripslashes($param),true); $odd_num=$res[\'lastResult\'][\'nu\']; if(insetLoistics($param,$odd_num)){ //$param包含了文档指定的信息,...这里保存您的快递信息,$param的格式与订阅时指定的格式一致 echo \'{"result":"true","returnCode":"200","message":"成功"}\'; //要返回成功(格式与订阅时指定的格式一致),不返回成功就代表失败,没有这个30分钟以后会重推 }else{ echo \'{"result":"false","returnCode":"500","message":"失败"}\'; //保存失败,返回失败信息,30分钟以后会重推 } } function insetLoistics($content,$odd_num){ global $wpdb; $data[\'logistics_content\']=$content; $data[\'create_time\']=date("Y-m-d H:i:s",time()); $table=$wpdb->prefix.\'order_logistics\'; $res=$wpdb->query("UPDATE $table set logistics_content=\'$content\' WHERE odd_num=\'$odd_num\'"); if($res){ return true; }else{ return false; } }