前兩天需要做一個快遞查詢的需求,由於也是第一次做,完全不懂,但是還是明白這必定是需要調用外部接口來實現,並且應該不是調用快遞公司所給的接口,於是便上網查詢了能夠提供快遞查詢接口的公司。
目前國內主流的快遞物流查詢API接口服務商目前只有三家,分別是菜鳥、快遞鳥、快遞100,這三家都分別獲得了融資,菜鳥是阿里投資的,爲淘系(淘寶和天貓)服務,快遞鳥是中銀粵財、東方富海、啓賦資本投資的,爲非淘系(拼多多、蘑菇街、網易考拉等)服務,快遞100是京東、國信弘盛投資的,爲京東、百度等服務。
還有一些像阿里雲是應用市場平臺,入駐這類的平臺的很多服務商都是用的快遞鳥免費物流接口(這家產品介紹用的都是快遞鳥官網的圖),因爲菜鳥和快遞100都是收費的(融資信息可以在投資界網站上查看)。
快遞API的應用場景與用途
最常見的應用場景如下:
(1)電商網站:例如B2C、團購、B2B、批發分銷站、C2C、本地生活交易等網站。
(2)管理系統:訂單處理平臺、訂貨平臺、發貨平臺、分銷系統、渠道管理系統、客戶管理系統、ERP等。
快遞API的用途如下:
(1)讓顧客登錄網站後,直接在“我的訂單”頁面內就能看到訂單的物流狀態。
(2)自動篩選出“已簽收”、“疑難件”等狀態的單號,減輕物流跟單人員的壓力。
(3)改變訂單的狀態和交易流程,例如單號變爲“已簽收”,就能讓訂單變爲可以確認退換貨等。
(4)評估選擇快遞公司,根據“已簽收”的運單數,可以算出銷售人員的業績,且便於應對貨到付款的結算。
(5)郵件、短信提醒用戶運單的最新狀態,可以安撫用戶,也可以利用郵件短信二次營銷。
如果自己的網站是非淘系京東系的話,這邊建議使用快遞鳥,所以就以快遞鳥作爲案例進行解說吧.
註冊快遞鳥賬號
註冊這裏就不演示了,註冊完成後登入,進入到個人中心,這裏需要進行一個實名認證,按公司產品的類型進行一個選擇,展示頁面如圖1,認證完成後在我的產品服務中選擇自己所需要的服務,當然對於初創型公司來說選擇免費版就夠了,等到業務做大時再選擇其他產品服務.還有就是在個人中心中如圖2所示,我們需要記住的是用戶ID,和API key(不要泄露),這將是我們進行接口調用時需要用到的,
- 接口規則
(1)、查詢接口支持按照運單號查詢(單個查詢,併發不超過10個/S)。
(2)、指定的物流運單號選擇相應的快遞公司編碼,格式不對或則編碼錯誤都會返失敗的信息。如EMS物流單號應選擇快遞公司編碼(EMS)
(3)、返回的物流跟蹤信息按照發生的時間升序排列。
(4)、接口指令1002。
(5)、請求地址:快遞鳥 - 系統級和應用級輸入參數
3.返回參數
請求示例:<br>{ "OrderCode": "", "ShipperCode": "SF", "LogisticCode": "118650888018"}//返回示例<br>//沒有物流軌跡的{ "EBusinessID": "1109259", "Traces": [], "OrderCode": "", "ShipperCode": "SF", "LogisticCode": "118461988807", "Success": true, "Reason": null}//有物流軌跡的{ "EBusinessID": "1109259", "OrderCode": "", "ShipperCode": "SF", "LogisticCode": "118461988807", "Success": true, "CallBack":"", "State": , "Reason": null, "Traces": [ { "AcceptTime": "2019/06/25 08:05:37", "AcceptStation": "正在派件..(派件人:鄧裕富,電話:18718866310)[深圳 市]", "Remark": null }, { "AcceptTime": "2019/06/25 04:01:28", "AcceptStation": "快件在 深圳集散中心 ,準備送往下一站 深圳 [深圳市]", "Remark": null }, { "AcceptTime": "2019/06/25 01:41:06", "AcceptStation": "快件在 深圳集散中心 [深圳市]", "Remark": null }, { "AcceptTime": "2019/06/24 20:18:58", "AcceptStation": "已收件[深圳市]", "Remark": null }, { "AcceptTime": "2019/06/24 20:55:28", "AcceptStation": "快件在 深圳 ,準備送往下一站 深圳集散中心 [深圳市]", "Remark": null }, { "AcceptTime": "2019/06/25 10:23:03", "AcceptStation": "派件已簽收[深圳市]", "Remark": null }, { "AcceptTime": "2019/06/25 10:23:03", "AcceptStation": "簽收人是:已簽收[深圳市]", "Remark": null } ]}
2接收接口
這個是用戶在訂閱單號成功且有物流軌跡更新後,快遞鳥的推送
客戶通過下單、訂閱接口,把運單號在快遞鳥系統訂閱。運單物流信息有更新,快遞鳥通過推送接口把更新的信息推送給客戶。推送接口由用戶按照快遞鳥規則實現。商戶開放接口,快遞鳥定時將最新的物流軌跡推送到商戶平臺。
優點:客戶不需要關注軌跡變化,一旦有更新,快遞鳥自動推送。
缺點:對客戶的服務器性能有所要求,快遞鳥定時請求接口,對客戶的服務器有一定的影響,客戶服務器異常將接受不到最新數據。
快遞鳥推送接口根據業務不同,會根據RequestType的分類推送不同的數據,用戶需對推送的數據進行分類保存。原推送接口無需變化,快遞鳥會根據推送版本進行推送。
- 接口規則
(1)、客戶服務器必須穩定,並且有一定的接受數據能力(需要在5S內給快遞鳥返回成功示例,超時會判斷推送失敗)。快遞鳥通過多線程推送物流信息給客戶。
(2)、客戶需要按快遞鳥要求開發接口,保證信息的正常接收。客戶接數據後,存儲並馬上返回接收響應。如果客戶對數據進行處理,再做出響應。這會造成網絡超時,傳輸效率低下。
(3)、主動推送時物流信息接收接口由客戶提供,接口必須按照快遞鳥的要求實現。
(4)、客戶提供接口地址,用戶登陸用戶管理後臺-----調試平臺-----推送接口進行測試---(成功返回示例後)纔可以配置。
(5)、接口只支持Json數據格式。
(6)、POST方式請求。
示例://快遞鳥請求接收接口示例<br>訂閱查詢結果示例: { "EBusinessID": "1109259", "Count": "2", "PushTime": "2015-03-11 16:21:06", "Data": [ { "EBusinessID": "1109259", "OrderCode": "", "ShipperCode": "EMS", "LogisticCode": "5042260908504", "Success": true, "Reason": "", "State": "2", "CallBack": "0", "Traces": [ { "AcceptTime": "2015-03-06 21:16:58", "AcceptStation": "深圳市橫崗速遞營銷部已收件,(攬投員姓名:鍾定基;聯繫電話:)", "Remark": "" }, { "AcceptTime": "2015-03-07 14:25:00", "AcceptStation": "離開深圳市 發往廣州市", "Remark": "" }, { "AcceptTime": "2015-03-08 00:17:00", "AcceptStation": "到達廣東速遞物流公司廣航中心處理中心(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-08 01:15:00", "AcceptStation": "離開廣州市 發往北京市(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-09 09:01:00", "AcceptStation": "到達北京黃村轉運站處理中心(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-09 18:39:00", "AcceptStation": "離開北京市 發往呼和浩特市(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-10 18:06:00", "AcceptStation": "到達 呼和浩特市 處理中心", "Remark": "" }, { "AcceptTime": "2015-03-11 09:53:48", "AcceptStation": "呼和浩特市郵政速遞物流分公司金川攬投部安排投遞(投遞員姓名:安長虹;聯繫電話:18047140142)", "Remark": "" } ] }, { "EBusinessID": "1109259", "OrderCode": "", "ShipperCode": "EMS", "LogisticCode": "5042260943004", "Success": true, "Reason": "", "State": "2", "CallBack": "0", "Traces": [ { "AcceptTime": "2015-03-07 15:26:09", "AcceptStation": "深圳市橫崗速遞營銷部已收件,(攬投員姓名:周宏彪;聯繫電話:13689537568)", "Remark": "" }, { "AcceptTime": "2015-03-08 16:32:00", "AcceptStation": "離開深圳市 發往廣州市", "Remark": "" }, { "AcceptTime": "2015-03-09 00:58:00", "AcceptStation": "到達廣東速遞物流公司廣航中心處理中心(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-09 01:15:00", "AcceptStation": "離開廣州市 發往北京市(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-10 05:20:00", "AcceptStation": "到達北京黃村轉運站處理中心(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-10 11:59:00", "AcceptStation": "離開北京市 發往廊坊市(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-10 14:23:00", "AcceptStation": "到達廊坊市處理中心(經轉)", "Remark": "" }, { "AcceptTime": "2015-03-11 08:55:00", "AcceptStation": "離開廊坊市 發往保定市(經轉)", "Remark": "" } ] } ] }
貨款狀態:
{
"EBusinessID": "1109259",
"Count": "2",
"PushTime": "2015/3/11 16:21:06",
"Data": [
{
"EBusinessID": "1109259",
"OrderCode": "",
"ShipperCode": "EMS",
"LogisticCode": "5042260908504",
"Success": true,
"Reason": "",
"State": "2",
"CallBack": "0",
"OrderState":"1",
"AccountName":"張三",
"AccountTel":"13800000000",
"AccountNum":"0321"
},
{
"EBusinessID": "1109259",
"OrderCode": "",
"ShipperCode": "EMS",
"LogisticCode": "5042260908522",
"Success": true,
"Reason": "",
"State": "2",
"CallBack": "0",
"OrderState":"1",
"AccountName":"張三",
"AccountTel":"13800000011",
"AccountNum":"0321"
}
]
}