業務流程java
第三方電商平臺與中外運訂單倉儲系統的數據交換按照業務的須要主要有如下幾個:推送採購單、取消採購單、採購單貨物清點回調、線下發送提貨單(保稅模式)、提貨單出庫回調、推送訂單、取消訂單、缺貨通知、打單回調、分揀回調、打包回調、打包回調、出庫回調、海關扣留通知、庫存查詢、盤庫結果回調、軌跡查詢。算法
詳細介紹sql
1.推送採購單
推送採購單是整個業務開始的第一步,採購單由第三方電商平臺推送給中外運訂單倉儲系統,告知中外運該電商平臺於什麼時候有何商品及件數到達某個倉庫,以便中外運倉庫展開後續收貨等操做。apache
2.取消採購單
取消採購單是指第三方電商平臺對以前已經推送過的採購單(中外運倉庫還沒有收貨)進行取消的操做。json
3.採購單貨物清點回調
採購單貨物清點回調是指中外運倉庫在收到第三方電商平臺指定採購單的貨物時,將貨物的數量及貨物的損壞狀況推送/反饋給第三方電商平臺,若倉庫方在入庫理貨時發現商品數量與採購單上標識的不符,會與第三方電商平臺先行線下溝通達成一致後,再調用採購單入庫接口推送入庫數據。api
該模式中外運方只負責將第三方電商平臺在中外運國外倉庫的商品按照提貨單發送到電商平臺國內指定保稅倉,不涉訂單及其餘後續流程。安全
1.線下發送提貨單
第三方電商平臺可經過事先約定好的模式告知中外運方須要提貨的商品及明細,以便中外運倉庫進行相應操做。bash
2.提貨單出庫回調
提貨單出庫回調是指中外運倉庫在將指定提貨單的商品進行出庫操做以後,將操做明細反饋給第三方電商平臺。markdown
訂單由第三方電商平臺按照中外運方指定的格式及內容發送給中外運方,中外運方按照訂單中的商品信息及收貨信息進行後續的發貨和申報操做。訂單的狀態按照操做的順序(已取消狀態不參與排序)有如下狀態:待處理、已打單、已分揀、已打包、已出庫、航空配載、已申報、海關扣留、已清關、轉交國內快遞、正在派送、已簽收、已取消。這些狀態分別對應操做流程中不一樣的環節。
1.推送訂單
推送訂單是指第三方電商平臺將客戶的訂單中的部分信息推送給中外運訂單倉儲系統,以便中外運倉庫進行訂單商品的打包出庫等後續操做。網絡
2.取消訂單
取消訂單是指第三方電商平臺將已發送的訂單取消的操做,當訂單的狀態在
已打包及後續的某個狀態時,該訂單將不可取消。
3.缺貨通知
缺貨通知是指中外運方在某個訂單對應的商品缺貨時發送給第三方電商平臺的通知,以便電商平臺進行後續的採購或者其餘操做。
4.打單回調
打單回調是指中外運方推送給第三方電商平臺,告知某個訂單已經開始在倉庫中進行處理了。
5.分揀回調
分揀回調是指中外運方推送給第三方電商平臺,告知某個訂單已經在倉庫中進行了分揀的操做以及分揀的商品的明細。
6.打包回調
打包回調是指中外運方推送給第三方電商平臺,告知某個訂單已經在倉庫中進行了打包的操做以及打包的商品的明細。
7.出庫回調
出庫回調是指中外運方推送給第三方電商平臺,告知某個訂單已經在倉庫中進行了出庫的操做、訂單的包裹信息(國內快遞單號)以及出庫的商品的明細,至此訂單在中外運國外轉運倉的操做結束。
8.海關扣留通知
海關扣留通知是指中外運方在訂單對應的包裹到運抵國內指定海關關口,進行申報以後海關反饋的狀態,扣留緣由會在反饋的信息中展現。
1.庫存查詢
庫存查詢是指第三方電商平臺查詢指定商品在中外運訂單倉儲系統中當前的庫存信息。
2.盤庫結果回調
盤庫結果回調是指中外運倉庫方根據第三方電商平臺的要求進行指定商品的盤庫,並將盤庫的結果反饋給電商平臺。
1.軌跡查詢
軌跡查詢是指第三方電商平臺根據訂單號從中外運訂單倉儲系統中獲取該訂單當前的軌跡信息。
驗證地址:https://efreight.cn/api/auth
Request數據:{‘appid’:AppID, ‘auth_token’:AuthCode}
測試系統: AppID:***** AuthCode: ***** Response數據:Auth_token
2.發送接收數據,將請求報文和身份驗證經過後獲取的Token同時發送給數據處理接口,咱們的平臺處理完成後會返回成功或失敗報文:
數據接口地址:https://efreight.cn/api/post Request數據: { ‘auth_token’: Auth_token, //上一步生成的token ‘platform’: ‘xxxx’,//xxxx:與訂單系統約定好的平臺名稱 ‘function’: ‘xxxxOrder’ , ‘type’: ‘1’ ‘data’: XML報文 }
參數說明:
auth_token 上一步生成的token
platform: 生產環境:xxxx,測試環境:xxxx(需提早溝通約定)
function 海淘訂單接口: HTOrder
直郵訂單接口: DMOrder
軌跡接口:LogisticTrace
身份證接口:IdentityUpload
商品備案信息接口:MerchantRegisterInfo
採購訂單接口: InboundPlan
取消採購單: CancelPurchase
取消用戶訂單: CancelOrder
庫存查詢: Inventory
(以上接口在實際過程當中可能根據接入用戶的需求不一樣而不一樣,需雙方提早約定)
type 0: JSON,1: XML data 報文格式見下文說明
Response數據:
對於不一樣的請求報文有不一樣的返回數據,下述爲默認狀況下的標準報文。
<ServiceResult> <ResultCode>1</ResultCode> <!—ResultCode爲1或2時成功,其餘爲失敗--> <ResultContent>服務調用成功</ResultContent> <!—若是失敗,則此節點爲失敗緣由--> <ResultData></ResultData> <!—成功後,返回的數據--> </ServiceResult>
1.推送採購單
{
"purchase_id": "purchase_id", // 採購單號;String類型,建議預留40位 "transport_service_code": "ems", // 物流供應商代號,非必填;String類型 "transport_order_id": "qaws12345", // 物流單號,非必填;String類型 "remark": "集裝箱號xxx,司機電話xxx", // String類型 "expect_arrival_time": "2014-11-06 16:16:20", // 預期抵達時間,非必填;String類型 "order_items": [// 物品列表 { "sku_id": "sku_id", // sku_id;String類型,建議預留40位 "product_no": "12345", // 自定義商品序列號 與sku一一對應 可打印成條形碼;String類型,建議預留40位 "goods_name": "飛利浦電飯煲", // 商品名;String類型 "sku_name": "飛利浦電飯煲(白金內膽)", // 規格名稱;String類型 "qty": 1000 // 數量;int類型 }, { "sku_id": "sku_id", "product_no": "12345", "goods_name": "飛利浦電飯煲", "sku_name": "飛利浦電飯煲(鋁合金內膽)", "qty": 1000 } ] }
2.取消採購單報文
{
"purchase_id":"test_purchase_id" // 採購單號 }
3.海淘訂單請求報文
<Order> <!--商品供應商:ABC,SINOTRANS--> <SupplyVendor>SINOTRANS</SupplyVendor> <!--轉運渠道:跨境我的物品,跨境直郵--> <SupplyChannel/> <!--清關口岸:廣州,成都,杭州--> <ClearPort/> <!--填電商企業名稱,需提早約定好--> <eStoreNo>電商企業編碼</eStoreNo> <!--第三方商城的訂單號--> <OrderNo>訂單編號</OrderNo> <!--可不填--> <PaymentNo>支付單號</PaymentNo> <!--提早約定好的快遞單號--> <ParcelCode>包裹單號</ParcelCode> <OrderTotalAmount>訂單總金額</OrderTotalAmount> <OrderTotalCount>總件數</OrderTotalCount> <!--可不填--> <FreightCharge>運費</FreightCharge> <!--可不填--> <TarrifCharge>關稅</TarrifCharge> <OrderTime>成交時間</OrderTime> <Note>訂單備註</Note> <Buyer> <BuyerID>購買人電商帳號</BuyerID> <BuyerName>購買人姓名</BuyerName> <BuyerEmail>購買人郵箱</BuyerEmail> <BuyerPhone>聯繫電話</BuyerPhone> <BuyerAddress>地址</BuyerAddress> <BuyerIdentityCardType>證件類型</BuyerIdentityCardType> <BuyerIdentityCardNo>證件號碼</BuyerIdentityCardNo> </Buyer> <Consignee> <!--必填--> <ConsigneeName>收件人姓名</ConsigneeName> <ConsigneeEmail>收件人郵箱</ConsigneeEmail> <!--必填--> <ConsigneePhone>收件人電話</ConsigneePhone> <ConsigneePost>收件人郵編</ConsigneePost> <!--必填--> <ConsigneeAddress>收件人地址</ConsigneeAddress> <!--必填,報關時使用--> <ConsigneeIdentityCardType>證件類型</ConsigneeIdentityCardType> <!--必填,報關時使用--> <ConsigneeIdentityCardNo>證件號碼</ConsigneeIdentityCardNo> </Consignee> <OrderDetailList> <OrderDetailItem> <!--此處請填寫約定好的商品ID--> <SKUCode>商品編號</SKUCode> <SKUName>商品名稱</SKUName> <SKUModel>規格型號</SKUModel> <SKUPrice>單價</SKUPrice> <SKUCount>數量</SKUCount> <NETWeight>淨重</NETWeight> </OrderDetailItem> <OrderDetailItem> <SKUCode>商品編號</SKUCode> <SKUName>商品名稱</SKUName> <SKUModel>規格型號</SKUModel> <SKUPrice>單價</SKUPrice> <SKUCount>數量</SKUCount> <NETWeight>淨重</NETWeight> </OrderDetailItem> </OrderDetailList> </Order>
4.直郵訂單報文
<Order> <!--商品供應商:ABC,SINOTRANS--> <SupplyVendor>SINOTRANS</SupplyVendor> <!--轉運渠道:跨境直郵,保稅--> <SupplyChannel/> <!--清關口岸:廣州,成都,杭州--> <ClearPort/> <!--填電商企業名稱,需提早約定好--> <eStoreNo>電商企業編碼</eStoreNo> <!--第三方商城的訂單號--> <OrderNo>訂單編號</OrderNo> <!--可不填--> <PaymentNo>支付單號</PaymentNo> <!--提早約定好的快遞單號--> <ParcelCode>包裹單號</ParcelCode> <OrderTotalAmount>訂單總金額</OrderTotalAmount> <OrderTotalCount>總件數</OrderTotalCount> <!--可不填--> <FreightCharge>運費</FreightCharge> <!--可不填--> <TarrifCharge>關稅</TarrifCharge> <OrderTime>成交時間</OrderTime> <Note>訂單備註</Note> <Buyer> <BuyerID>購買人電商帳號</BuyerID> <BuyerName>購買人姓名</BuyerName> <BuyerEmail>購買人郵箱</BuyerEmail> <BuyerPhone>聯繫電話</BuyerPhone> <BuyerAddress>地址</BuyerAddress> <BuyerIdentityCardType>證件類型</BuyerIdentityCardType> <BuyerIdentityCardNo>證件號碼</BuyerIdentityCardNo> </Buyer> <Consignee> <!--必填--> <ConsigneeName>收件人姓名</ConsigneeName> <ConsigneeEmail>收件人郵箱</ConsigneeEmail> <!--必填--> <ConsigneePhone>收件人電話</ConsigneePhone> <ConsigneePost>收件人郵編</ConsigneePost> <!--必填--> <ConsigneeAddress>收件人地址</ConsigneeAddress> <ConsigneeIdentityCardType>證件類型</ConsigneeIdentityCardType> <ConsigneeIdentityCardNo>證件號碼</ConsigneeIdentityCardNo> </Consignee> <OrderDetailList> <OrderDetailItem> <!--此處請填寫約定好的商品ID--> <SKUCode>商品編號</SKUCode> <SKUName>商品名稱</SKUName> <!--如Size:S、M、L或顏色等信息--> <SKUModel>規格型號</SKUModel> <!--申報須要用到的單價,不是大家商城的價格--> <SKUPrice>單價</SKUPrice> <SKUCount>數量</SKUCount> <NETWeight>淨重</NETWeight> <mailTaxNo>行郵稅號</mailTaxNo> <!--海關備案產生 --> <goodsItemNo>商品料號</goodsItemNo> <!--142:中國--> <productionMarketingCountry>產銷國編碼</productionMarketingCountry> <!--142:人民幣--> <bargainCurrency>幣種編碼</bargainCurrency> <!--申報數量--> <declareCount>1.00</declareCount> <!--011: 件--> <declareMeasureUnit>申報計量單位</declareMeasureUnit> <goodsRoughWeight>商品毛重</goodsRoughWeight> <firstUnit>第一單位</firstUnit> <firstCount>第一數量</firstCount> <secondUnit/> <secondCount/> </OrderDetailItem> <OrderDetailItem> <!--此處請填寫約定好的商品ID--> <SKUCode>商品編號</SKUCode> <SKUName>商品名稱</SKUName> <!--如Size:S、M、L或顏色等信息--> <SKUModel>規格型號</SKUModel> <!--申報須要用到的單價,不是大家商城的價格--> <SKUPrice>單價</SKUPrice> <SKUCount>數量</SKUCount> <NETWeight>淨重</NETWeight> <mailTaxNo>行郵稅號</mailTaxNo> <!--海關備案產生 --> <goodsItemNo>商品料號</goodsItemNo> <!--142:中國--> <productionMarketingCountry>產銷國編碼</productionMarketingCountry> <!--142:人民幣--> <