這篇文章主要介紹了關於快遞鳥查詢Api介面使用(PHP版),有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
專案開發中,有些需求難免會用到關於快遞的一些Api介面;本篇主要介紹的是快遞的查詢Api及與其他各家的不同之處;
常用的提供快遞Api介面的有:
#快遞鳥
等等
#如大家使用過,快遞100和愛查快遞等等網站提供的快遞查詢等介面時,你會發現,你所申請的帳號或key每天呼叫Api介面的次數都是被限制的,有的是2000次/天,有的是5000次/次;唯一讓你感到麻煩的是,要求用戶添加外鏈,而快遞鳥不需要使用者添加外鏈。對於無門戶網站的用戶,無非就是很苛刻的要求;並且,超出部分需付費才能使用。應用程式場景快遞鳥,請求Api介面是不限制次數的喲,並且永久免費
固然,對於你小小的需求的話,快遞100和愛查快遞都可滿足你的需求;但是,當萬一某天請求次數太多,你的查詢服務就得停止,影響你的產品體驗;所以,推薦你直接使用快遞鳥,一步就位。
查詢訂單的物流資訊可實現需求
http://www.kdniao.com/ServiceApply.aspx#依照你的訊息,依序填寫資訊,點擊提交申請即可。 登入成功後,就可以看到ID和key等訊息,有這些資訊就可以請求查詢等其他的介面Api
參數名稱 | 類型 | 必須要求 | 說明 |
---|---|---|---|
String | R | 請求內容,JSON或XML格式,須和DataType一致 | |
#String | R | 使用者ID | |
String | R | 請求指令類型:1002 | |
String | R | 資料內容簽章 | ##DataType |
應用層級輸入參數 | 參數名稱 | ||
---|---|---|---|
#說明 | OrderCode | ||
O | #訂單編號 | #ShipperCode | |
R | 快遞公司編碼 | LogisticCode |
參數名稱 | 類型 | 必須要求 | |
---|---|---|---|
#EBusinessID | Int | #R | 電商用戶ID |
Varchar(50) | O | 訂單編號 | |
##varchar(10) | R | 快遞公司編碼 | |
Varchar(50) | R | ||
Success | Bool | #R | |
Reason | Varchar(50) | O | #失敗原因
StateInt
Traces | Varchar(Max) | R | |
---|---|---|---|
物流軌跡詳情 | |||
###參數名稱######類型######必須要求#######說明################ ##AcceptTime######DateTime######R######時間#############AcceptStation######Varchar(50)### ###R######描述############Remark######Varchar(150)######O######備註## #############請求JSON參數###
{ "OrderCode" : "", "ShipperCode" : "SF", "LogisticCode" : "118650888018"}
{ "EBusinessID" : "1109259", "OrderCode" : "", "ShipperCode" : "SF", "LogisticCode" : "118461988807", "Success" : true, "State" : 3, "Reason" : null, "traces" : [{ "AcceptTime" : "2014/06/25 08:05:37", "AcceptStation" : "正在派件..(派件人:邓裕富,电话:18718866310)[深圳 市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 04:01:28", "AcceptStation" : "快件在 深圳集散中心 ,准备送往下一站 深圳 [深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 01:41:06", "AcceptStation" : "快件在 深圳集散中心 [深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/24 20:18:58", "AcceptStation" : "已收件[深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/24 20:55:28", "AcceptStation" : "快件在 深圳 ,准备送往下一站 深圳集散中心 [深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 10:23:03", "AcceptStation" : "派件已签收[深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 10:23:03", "AcceptStation" : "签收人是:已签收[深圳市]", "Remark" : null } ]}
<?php //电商ID defined('EBusinessID') or define('EBusinessID', '请到快递鸟官网申请http://kdniao.com/reg'); //电商加密私钥,快递鸟提供,注意保管,不要泄漏 defined('AppKey') or define('AppKey', '请到快递鸟官网申请http://kdniao.com/reg'); //请求url defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx'); //调用查询物流轨迹 //--------------------------------------------- $logisticResult=getOrderTracesByJson(); echo logisticResult; //--------------------------------------------- /** * Json方式 查询订单物流轨迹 */ function getOrderTracesByJson(){ $requestData= "{'OrderCode':'','ShipperCode':'YTO','LogisticCode':'12345678'}"; $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))); } ?>
以上是快遞鳥查詢Api介面使用(PHP版)的詳細內容。更多資訊請關注PHP中文網其他相關文章!