查詢快遞免費api介面(PHP示例)
阿新 • • 發佈:2019-01-31
電商企業、微商使用者和ERP可以使用集中快遞查詢API介面獲取快遞物流資訊,相比於分別對接快遞公司介面,這種集中查詢介面的優勢是,減少對接難度,以及降低了介面維護難度。
一、快遞查件介面
快遞查件,有不少公司提供這種集中查件介面,比如:
快遞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
公共請求引數:
名稱 | 型別 | 是否必須 | 描述 |
---|---|---|---|
method | string | 是 | API介面名稱 |
app_id | string | 是 | 使用者ID(註冊開放平臺時分配,在控制檯中檢視) |
sign | string | 是 | 按照規則(md5(app_id + method + ts + api_key))生成的驗證合法性簽名 |
ts | string | 是 | 當前請求的時間戳 |
data | string | 是 | JSON格式請求引數設定 |
名稱 | 型別 | 是否必須 | 描述 |
---|---|---|---|
code | int | 是 | 響應狀態碼。0-成功,非0-失敗下載並檢視詳情 |
msg | string | 是 | 返回結果說明 |
uid | string | 是 | 本次請求唯一業務流水號 |
data | string | 是 | JSON格式響應資料 |
請求引數
名稱 | 型別 | 是否必輸 | 描述 |
waybill_no | string | 是 | 物流單號,多個單號之間用","隔開,最多支援10條 |
exp_company_code | string | 是 | 支援品牌簡稱 |
響應引數
名稱 | 型別 | 是否必須 | 描述 |
---|---|---|---|
code | int | 是 | 響應狀態碼。0-成功,非0-失敗 |
msg | string | 是 | 返回結果說明 |
data | string | 是 | JSON格式響應資料 |
$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 | 查詢暫無記錄 |