php調(diào)用快遞鳥接口實例代碼
博主最近需要做一個物流信息查詢,就去網(wǎng)上搜索一個快遞鳥的API接口,返回值是以JSON格式,只需要返回是轉(zhuǎn)成數(shù)組就能輕松實現(xiàn)各種實例了。下圖是快遞鳥API示意接口,博主怕有些小白(沒有嘲笑的意思,博主也是從小白走過來的)不太清楚流程。

快遞鳥流程圖
參數(shù)可以看下快遞鳥的官方說明:http://www.kdniao.com/api-track
由于是免費的,所以限制很多,比如每天最多只能查詢3000次和需要實名認(rèn)證。
博主這里貼出博主的代碼:
<?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');
//調(diào)用查詢物流軌跡
//---------------------------------------------
$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);
//根據(jù)公司業(yè)務(wù)處理返回的信息......
return $result;
}
/**
* post提交數(shù)據(jù)
* @param string $url 請求Url
* @param array $datas 提交的數(shù)據(jù)
* @return url響應(yīng)返回的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 內(nèi)容
* @param appkey Appkey
* @return DataSign簽名
*/
function encrypt($data, $appkey) {
return urlencode(base64_encode(md5($data.$appkey)));
}
?>
效果圖:

php調(diào)用快遞鳥接口示意圖
快遞公司編碼:
| 編碼 | 名稱 |
| AJ | 安捷快遞 |
| ANE | 安能物流 |
| AXD | 安信達(dá)快遞 |
| BQXHM | 北青小紅帽 |
| BFDF | 百福東方 |
| BTWL | 百世快運 |
| CCES | CCES快遞 |
| CITY100 | 城市100 |
| COE | COE東方快遞 |
| CSCY | 長沙創(chuàng)一 |
| CDSTKY | 成都善途速運 |
| DBL | 德邦 |
| DSWL | D速物流 |
| DTWL | 大田物流 |
| EMS | EMS |
| FAST | 快捷速遞 |
| FEDEX | FEDEX聯(lián)邦(國內(nèi)件) |
| FEDEX_GJ | FEDEX聯(lián)邦(國際件) |
| FKD | 飛康達(dá) |
| GDEMS | 廣東郵政 |
| GSD | 共速達(dá) |
| GTO | 國通快遞 |
| GTSD | 高鐵速遞 |
| HFWL | 匯豐物流 |
| HHTT | 天天快遞 |
| HLWL | 恒路物流 |
| HOAU | 天地華宇 |
| hq568 | 華強物流 |
| HTKY | 百世快遞 |
| HXLWL | 華夏龍物流 |
| HYLSD | 好來運快遞 |
| JGSD | 京廣速遞 |
| JIUYE | 九曳供應(yīng)鏈 |
| JJKY | 佳吉快運 |
| JLDT | 嘉里物流 |
| JTKD | 捷特快遞 |
| JXD | 急先達(dá) |
| JYKD | 晉越快遞 |
| JYM | 加運美 |
| JYWL | 佳怡物流 |
| KYWL | 跨越物流 |
| LB | 龍邦快遞 |
| LHT | 聯(lián)昊通速遞 |
| MHKD | 民航快遞 |
| MLWL | 明亮物流 |
| NEDA | 能達(dá)速遞 |
| PADTF | 平安達(dá)騰飛快遞 |
| QCKD | 全晨快遞 |
| QFKD | 全峰快遞 |
| QRT | 全日通快遞 |
| RFD | 如風(fēng)達(dá) |
| SAD | 賽澳遞 |
| SAWL | 圣安物流 |
| SBWL | 盛邦物流 |
| SDWL | 上大物流 |
| SF | 順豐快遞 |
| SFWL | 盛豐物流 |
| SHWL | 盛輝物流 |
| ST | 速通物流 |
| STO | 申通快遞 |
| STWL | 速騰快遞 |
| SURE | 速爾快遞 |
| TSSTO | 唐山申通 |
| UAPEX | 全一快遞 |
| UC | 優(yōu)速快遞 |
| WJWL | 萬家物流 |
| WXWL | 萬象物流 |
| XBWL | 新邦物流 |
| XFEX | 信豐快遞 |
| XYT | 希優(yōu)特 |
| XJ | 新杰物流 |
| YADEX | 源安達(dá)快遞 |
| YCWL | 遠(yuǎn)成物流 |
| YD | 韻達(dá)快遞 |
| YDH | 義達(dá)國際物流 |
| YFEX | 越豐物流 |
| YFHEX | 原飛航物流 |
| YFSD | 亞風(fēng)快遞 |
| YTKD | 運通快遞 |
| YTO | 圓通速遞 |
| YXKD | 億翔快遞 |
| YZPY | 郵政平郵/小包 |
| ZENY | 增益快遞 |
| ZHQKD | 匯強快遞 |
| ZJS | 宅急送 |
| ZTE | 眾通快遞 |
| ZTKY | 中鐵快運 |
| ZTO | 中通速遞 |
| ZTWL | 中鐵物流 |
| ZYWL | 中郵物流 |
| AMAZON | 亞馬遜物流 |
| SUBIDA | 速必達(dá)物流 |
| RFEX | 瑞豐速遞 |
| QUICK | 快客快遞 |
| CJKD | 城際快遞 |
| CNPEX | CNPEX中郵快遞 |
| HOTSCM | 鴻橋供應(yīng)鏈 |
| HPTEX | 海派通物流公司 |
| AYCA | 澳郵專線 |
| PANEX | 泛捷快遞 |
| PCA | PCA Express |
| UEQ | UEQ Express |
相關(guān)文章
php獲取數(shù)據(jù)庫中數(shù)據(jù)的實現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp獲取數(shù)據(jù)庫中數(shù)據(jù)的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Zend?Framework框架實現(xiàn)發(fā)送郵件的方法
這篇文章主要介紹了Zend?Framework框架實現(xiàn)發(fā)送郵件的方法,實例分析了Zend?Framework使用smtp郵件類實現(xiàn)郵件發(fā)送的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12
Laravel5.4簡單實現(xiàn)app接口Api Token認(rèn)證方法
這篇文章主要介紹了Laravel5.4簡單實現(xiàn)app接口Api Token認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

