php调用快递鸟接口实例代码

最近需要做一个物流信息查询,就去网上搜索一个快递鸟的API接口,返回值是以JSON格式,只需要返回是转成数组就能轻松实现各种实例了。下图是快递鸟API示意接口,博主怕有些小白(没有嘲笑的意思,博主也是从小白走过来的)不太清楚流程。
参数可以看下快递鸟的官方说明:www.kdniao.com/api-track
由于是免费的,所以限制很多,比如每天最多只能查询3000次和需要实名认证。
博主这里贴出博主的代码:
<?php
//电商ID
defined(‘EBusinessID’) or define(‘EBusinessID’, ‘电商ID’);
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined(‘AppKey’) or define(‘AppKey’, ‘电商加密私钥’);
//请求url
defined(‘ReqURL’) or define(‘ReqURL’, ‘api.kdniao.cc/Ebusiness/EbusinessOr...);
//调用查询物流轨迹
//———————————————
$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’].”
地址:”.$data[‘Traces’][$i][‘AcceptStation’].”
“;
}
echo “您查询的单号是:”.$data[‘LogisticCode’].”

物流信息:
“.$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)));
    }
    效果图:
    快递公司编码:
    编码 名称
    AJ 安捷快递
    ANE 安能物流
    AXD 安信达快递
    BQXHM 北青小红帽
    BFDF 百福东方
    BTWL 百世快运
    CCES CCES快递
    CITY100 城市100
    COE COE东方快递
    CSCY 长沙创一
    CDSTKY 成都善途速运
    DBL 德邦
    DSWL D速物流
    DTWL 大田物流
    EMS EMS
    FAST 快捷速递
    FEDEX FEDEX联邦(国内件)
    FEDEX_GJ FEDEX联邦(国际件)
    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 城际快递
    CNPEX CNPEX中邮快递
    HOTSCM 鸿桥供应链
    HPTEX 海派通物流公司
    AYCA 澳邮专线
    PANEX 泛捷快递
    PCA PCA Express
    UEQ UEQ Express
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2

你这广告文水平有待提高啊

2天前 评论

代码能不能贴代码块 你这样的无缩进无格式的代码跟让人看一大串字符串有啥区别 谁愿意看

1天前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!