EMS快遞查詢
調用快遞鳥提供的快遞查詢API標准接口,快速對接100多家快遞公司的物流軌跡查詢,本篇文章實現<EMS>的快遞單號查詢。
首先我們准備好需要用到的資源,
這里推薦大家去愛奇藝查看視頻教程:
https://www.iqiyi.com/v_19rxcwtwk0.html(如何從注冊到認證,最快1小時完成上百家物流軌跡查詢)
測試商戶ID:
test1617571
測試API key:
554343b2-7252-439b-b4eb-1af42c8f2175(此Key僅限測試環境使用)
API測試地址:
http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json
接下來,我們講解一下請求參數
一、接口描述/說明
請求系統級參數說明:
參數名稱 |
類型 |
說明 |
必須要求 |
RequestData |
String |
請求內容需進行URL(utf-8)編碼。請求內容JSON格式,須和DataType一致。 |
R |
EBusinessID |
String |
商戶ID,請在我的服務頁面查看。 |
R |
RequestType |
String |
請求指令類型:1002 |
R |
DataSign |
String |
數據內容簽名:把(請求內容(未編碼)+AppKey)進行MD5加密,然后Base64編碼,最后 進行URL(utf-8)編碼。詳細過程請查看Demo。 |
R |
DataType |
String |
請求、返回數據類型:2-json; |
O |
備注:R-必填(Required),O-可選(Optional),C-報文中該參數在一定條件下可選(Conditional)
這里提到了系統級參數,也相當於是公用參數,這些參數是調用每個接口都是必須要傳參的。
二、接口參數
請求內容字段定義:
參數名稱 |
類型 |
說明 |
必須要求 |
OrderCode |
String |
訂單編號 |
O |
ShipperCode |
String |
快遞公司編碼 |
R |
LogisticCode |
String |
物流單號 |
R |
CustomerName |
String |
寄件人或收件人的手機號后四位數字 |
R |
接口參數,也叫業務參數,請求的業務接口不同,參數的字段,內容也不同,是跟着業務變化的,這里我們實現的是即時查詢接口,請求指令類型:1002,快遞鳥官網要求必須傳遞快遞公司編碼和物流單號 ,EMS快遞的編碼是EMS
如要查看其他快遞公司的編碼,點擊此鏈接:
http://www.kdniao.com/documents
我們用真實單號(1160001630231)來完成軌跡接口調用,
請求 JSON
{'OrderCode':'','ShipperCode':'EMS','LogisticCode':' 1160001630231'}
請求的完整報文(URL編碼以后):
RequestData=%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27EMS%27%2c%27LogisticCode%27%3a%271160001630231%27%7d%0d%0a++++++++&EBusinessID=1264783&RequestType=1002&DataSign=NDlmMDAzZTYwYmYyY2FmZjRjOTNhZDAwYjVkNDVjODM%3d&DataType=2
未編碼的請求報文:
RequestData={'OrderCode':'','ShipperCode':'EMS','LogisticCode':'1160001630231'} &EBusinessID=1264783&RequestType=1002&DataSign=NDlmMDAzZTYwYmYyY2FmZjRjOTNhZDAwYjVkNDVjODM=&DataType=2
返回參數定義:
參數名稱 |
類型 |
說明 |
必須要求 |
EBusinessID |
String |
用戶ID |
R |
OrderCode |
String |
訂單編號 |
O |
ShipperCode |
String |
快遞公司編碼 |
R |
LogisticCode |
String |
物流運單號 |
O |
Success |
Bool |
成功與否 |
R |
Reason |
String |
失敗原因 |
O |
State |
String |
物流狀態:2-在途中,3-簽收,4-問題件 |
R |
Traces |
|||
AcceptTime |
String |
時間 |
R |
AcceptStation |
String |
描述 |
R |
Remark |
String |
備注 |
O |
返回報文信息
{
"LogisticCode": "1160001630231",
"ShipperCode": "EMS",
"Traces": [{
"AcceptStation": "[莆田市]【莆田電商營業部】已收件,攬投員:鄭美停,電話:15260903325",
"AcceptTime": "2020-02-06 20:12:56"
}, {
"AcceptStation": "[莆田市]離開【莆田電商營業部】,下一站【莆田市郵區中心】",
"AcceptTime": "2020-02-06 20:15:50"
}, {
"AcceptStation": "[莆田市]到達【莆田市郵區中心】",
"AcceptTime": "2020-02-06 20:17:26"
}, {
"AcceptStation": "[莆田市]離開【莆田市郵區中心】,下一站【福州旗山處理中心】",
"AcceptTime": "2020-02-06 23:59:31"
}, {
"AcceptStation": "[福州市]到達【福州旗山處理中心】(經轉)",
"AcceptTime": "2020-02-07 17:40:37"
}, {
"AcceptStation": "[福州市]離開【福州旗山處理中心】,下一站【長沙郵件處理中心】(經轉)",
"AcceptTime": "2020-02-08 04:56:41"
}, {
"AcceptStation": "[長沙市]到達【長沙郵件處理中心】(經轉)",
"AcceptTime": "2020-02-08 16:05:58"
}, {
"AcceptStation": "[長沙市]離開【長沙郵件處理中心】,下一站【益陽郵件處理中心】(經轉)",
"AcceptTime": "2020-02-08 20:28:47"
}, {
"AcceptStation": "[益陽市]到達【益陽郵件處理中心】",
"AcceptTime": "2020-02-09 00:25:22"
}, {
"AcceptStation": "[益陽市]離開【益陽郵件處理中心】,下一站【益陽市資陽攬投部】",
"AcceptTime": "2020-02-09 06:22:33"
}, {
"AcceptStation": "[益陽市]到達【益陽市資陽攬投部】",
"AcceptTime": "2020-02-09 08:56:06"
}, {
"AcceptStation": "[益陽市]【益陽市資陽攬投部】安排投遞,投遞員:龍飛躍,電話:15898401808,攬投部電話:17773770736",
"AcceptTime": "2020-02-09 09:26:09"
}, {
"AcceptStation": "[益陽市]已簽收,收發室,投遞員:龍飛躍,電話:15898401808",
"AcceptTime": "2020-02-09 15:03:48"
}],
"State": "3",
"EBusinessID": "1264783",
"Success": true
}
這里根據我們的實際業務需求來選擇免費套餐或者收費套餐。
實名認證和免費套餐申請的方法在愛奇藝視頻教程里有詳細說明。
愛奇藝視頻教程:
https://www.iqiyi.com/v_19rxcwtwk0.html
附上詳細的接口文檔給大家:
http://www.kdniao.com/documents
提供源碼下載:
https://download.csdn.net/download/yanghanwen/12139326
調用第三方物流接口,替換自己的key就能直接使用,主要實現了物流在線軌跡查詢,訂單訂閱,軌跡推送,支持上百家家的快遞查詢接口,包括主流的四通一達,支持上門取件服務,其他接口調用,修改調用指令和參數就能實現。
演示截圖: