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

绣文字

关注

阅读 154

2022-09-22

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

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

参数可以看下快递鸟的官方说明: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调用快递鸟接口实例代码_html_02

快递公司编码:

编码

名称

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


精彩评论(0)

0 0 举报