首页 > 编程 > PHP > 正文

php如何调用快递鸟接口的实例

2020-03-22 18:43:36
字体:
来源:转载
供稿:网友
博主最近需要做一个物流信息查询,就去网上搜索一个快递鸟的API接口,返回值是以JSON格式,只需要返回是转成数组就能轻松实现各种实例了。下图是快递鸟API示意接口,博主怕有些小白(没有嘲笑的意思,博主也是从小白走过来的)不太清楚流程。

快递鸟流程图

由于是免费的,所以限制很多,比如每天最多只能查询3000次和需要实名认证。

博主这里贴出博主的代码:

<?php//电商IDdefined('EBusinessID') or define('EBusinessID', '电商ID');//电商加密私钥,快递鸟提供,注意保管,不要泄漏defined('AppKey') or define('AppKey', '电商加密私钥');//请求urldefined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');//调用查询物流轨迹//---------------------------------------------$kgs = "STO";//快递公司简称,官方有文档$number = "3335800028275";//快递单号//$logisticResult = getOrderTracesByJson($kgs,$number);$data = json_decode($logisticResult,true);if($data['Success'] == true){//返回信息成功$str = "";for($i=0;$i<count($data['Traces']);$i++){$str .= "时间:".$data['Traces'][$i]['AcceptTime']."<br/>地址:".$data['Traces'][$i]['AcceptStation']."<br/>";}echo "您查询的单号是:".$data['LogisticCode']."<br/>物流信息:<br/>".$str."";}//---------------------------------------------/** * Json方式 查询订单物流轨迹 *$kgs string 快递公司 *$number string 快递单号 */function getOrderTracesByJson($kgs,$number){$requestData= "{'OrderCode':'','ShipperCode':'$kgs','LogisticCode':'$number'}";$datas = array(    'EBusinessID' => EBusinessID,    'RequestType' => '1002',    'RequestData' => urlencode($requestData) ,    'DataType' => '2',  );  $datas['DataSign'] = encrypt($requestData, AppKey);$result=sendPost(ReqURL, $datas);//根据公司业务处理返回的信息......return $result;}/** * post提交数据  * @param string $url 请求Url * @param array $datas 提交的数据  * @return url响应返回的html */function sendPost($url, $datas) {  $temps = array();  foreach ($datas as $key => $value) {    $temps[] = sprintf('%s=%s', $key, $value);  }  $post_data = implode('&', $temps);  $url_info = parse_url($url);if(empty($url_info['port'])){$url_info['port']=80;}  $httpheader = "POST " . $url_info['path'] . " HTTP/1.0/r/n";  $httpheader.= "Host:" . $url_info['host'] . "/r/n";  $httpheader.= "Content-Type:application/x-www-form-urlencoded/r/n";  $httpheader.= "Content-Length:" . strlen($post_data) . "/r/n";  $httpheader.= "Connection:close/r/n/r/n";  $httpheader.= $post_data;  $fd = fsockopen($url_info['host'], $url_info['port']);  fwrite($fd, $httpheader);  $gets = "";$headerFlag = true;while (!feof($fd)) {if (($header = @fgets($fd)) && ($header == "/r/n" || $header == "/n")) {break;}}  while (!feof($fd)) {$gets.= fread($fd, 128);  }  fclose($fd);   return $gets;}/** * 电商Sign签名生成 * @param data 内容   * @param appkey Appkey * @return DataSign签名 */function encrypt($data, $appkey) {  return urlencode(base64_encode(md5($data.$appkey)));}?>

效果图:

php调用快递鸟接口示意图

快递公司编码:

编码名称AJ安捷快递ANE安能物流AXD安信达快递BQXHM北青小红帽BFDF百福东方BTWL百世快运CCESCCES快递CITY100城市100COECOE东方快递CSCY长沙创一CDSTKY成都善途速运DBL德邦DSWLD速物流DTWL大田物流EMSEMSFAST快捷速递FEDEXFEDEX联邦(国内件)FEDEX_GJFEDEX联邦(国际件)FKD飞康达GDEMS广东邮政GSD共速达GTO国通快递GTSD高铁速递HFWL汇丰物流HHTT天天快递HLWL恒路物流HOAU天地华宇hq568华强物流HTKY百世快递HXLWL华夏龙物流HYLSD好来运快递JGSD京广速递JIUYE九曳供应链JJKY佳吉快运JLDT嘉里物流JTKD捷特快递JXD急先达JYKD晋越快递JYM加运美JYWL佳怡物流KYWL跨越物流LB龙邦快递LHT联昊通速递MHKD民航快递MLWL明亮物流NEDA能达速递PADTF平安达腾飞快递QCKD全晨快递QFKD全峰快递QRT全日通快递RFD如风达SAD赛澳递SAWL圣安物流SBWL盛邦物流SDWL上大物流SF顺丰快递SFWL盛丰物流SHWL盛辉物流ST速通物流STO申通快递STWL速腾快递SURE速尔快递TSSTO唐山申通UAPEX全一快递UC优速快递WJWL万家物流WXWL万象物流XBWL新邦物流XFEX信丰快递XYT希优特XJ新杰物流YADEX源安达快递YCWL远成物流YD韵达快递YDH义达国际物流YFEX越丰物流YFHEX原飞航物流YFSD亚风快递YTKD运通快递YTO圆通速递YXKD亿翔快递YZPY邮政平邮/小包ZENY增益快递ZHQKD汇强快递ZJS宅急送ZTE众通快递ZTKY中铁快运ZTO中通速递ZTWL中铁物流ZYWL中邮物流AMAZON亚马逊物流SUBIDA速必达物流RFEX瑞丰速递QUICK快客快递CJKD城际快递CNPEXCNPEX中邮快递HOTSCM鸿桥供应链HPTEX海派通物流公司AYCA澳邮专线PANEX泛捷快递PCAPCA ExpressUEQUEQ Express

以上就是php如何调用快递鸟接口的实例的详细内容,更多请关注 其它相关文章!

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表