业务流程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:人民币--> <