个人博客 > 学无止境 > PHP > php调用快递鸟接口实例

php调用快递鸟接口实例

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

快递鸟流程图

参数可以看下快递鸟的官方说明:http://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', '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城市100
COECOE东方快递
CSCY长沙创一
CDSTKY成都善途速运
DBL德邦
DSWLD速物流
DTWL大田物流
EMSEMS
FAST快捷速递
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 Express
UEQUEQ Express

本文出自:琅枫个人博客。如需转载请注明出处!

本文出处:"https://www.phpfeng.cn/learn/php/203.html"

如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~

微信打赏

琅枫博客微信号

支付宝打赏

琅枫博客个人支付宝
本文关键词: 快鸟 实例 接口



你想在庞大的互联网上留下一丝足迹?

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

点我了解如何搭建个人博客?