1. 程式人生 > >查詢快遞免費api介面(PHP示例)

查詢快遞免費api介面(PHP示例)

電商企業、微商使用者和ERP可以使用集中快遞查詢API介面獲取快遞物流資訊,相比於分別對接快遞公司介面,這種集中查詢介面的優勢是,減少對接難度,以及降低了介面維護難度。

一、快遞查件介面

快遞查件,有不少公司提供這種集中查件介面,比如:

快遞100

快遞100每天可查詢兩千次,當日查詢次數超過,將不在可查;快寶開放平臺,完全免費開放,無查詢次數限制,並且對接起來很方便。

二、申請流程

申請流程大同小異,以快寶開放平臺為例:

1.註冊,並獲得開發者賬號(ID,及API Key),註冊地址:http://open.kuaidihelp.com/register

2.選擇物流查詢API對接,並在工程師的協助下完成技術除錯

3.將物流查詢API整合到你的軟體中

三、呼叫案例

快寶開放平臺他們支援6中開發語言(JAVA、C#、PHP、Python、Curl、Node.js),根據你的軟體開發語言,參照不同的程式碼案例,下面以PHP為例。

介面名稱:express.info.get
正式地址:https://kop.kuaidihelp.com/api
請求方式:HTTP POST

請求方法編碼格式:utf-8

公共請求引數:

名稱型別是否必須描述
methodstringAPI介面名稱
app_idstring使用者ID(註冊開放平臺時分配,在控制檯中檢視)
signstring按照規則(md5(app_id + method + ts + api_key))生成的驗證合法性簽名
tsstring當前請求的時間戳
datastringJSON格式請求引數設定
公共響應引數
名稱型別是否必須描述
codeint響應狀態碼。0-成功,非0-失敗下載並檢視詳情
msgstring返回結果說明
uidstring本次請求唯一業務流水號
datastringJSON格式響應資料

請求引數

名稱   型別是否必輸描述
waybill_nostring物流單號,多個單號之間用","隔開,最多支援10條
exp_company_codestring支援品牌簡稱

響應引數

名稱型別是否必須描述
codeint響應狀態碼。0-成功,非0-失敗
msgstring返回結果說明
datastringJSON格式響應資料
請求程式碼示例  ↓
$host = "https://kop.kuaidihelp.com/api";
$method = "POST";
$headers = array();
//根據API的要求,定義相對應的Content-Type
array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
$querys = "";
$bodys = [
"app_id"=>'50001',
"method"=>'express.info.get',
"sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79",
"ts"=>'1524209949',
"data"=>'{ "waybill_no":"物流單號多個的以英文逗號分隔", "exp_company_code":"品牌簡稱"}'
];
$bodys = http_build_query($bodys);
$url = $host;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
if (1 == strpos("$".$host, "https://"))
{
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
var_dump(curl_exec($curl));

成功響應示例  ↓

{
"code":int0
"msg":string"查詢成功"
"data":[
0:{
"no":string"3339809700595"
"brand":string"sto"
"status":string"signed"
"data":[
0:{
"time":string"2017-10-03 19:11:00"
"context":string"已簽收,簽收人是代簽"
}
1:{
"time":string"2017-10-03 08:14:33"
"context":string"快件已到達 浙江浦江公司"
}
2:{
"time":string"2017-10-03 01:09:41"
"context":string"由浙江義烏中轉部 發往 浙江浦江公司"
}
]
"order":string"desc"
}
]
}

失敗響應示例  ↓

{
"code":string"錯誤程式碼"
"msg":string"錯誤資訊"
"data":{
}
}

錯誤碼  ↓

錯誤碼描述
201102請求引數錯誤
201103不支援的快遞品牌
201101查詢暫無記錄