1. 需求概述
1.1. 背景
新平台,阿里巴巴国际站对接
2. 功能设计
2.1. 来源渠道授权
2.1.1 需求说明
国际站使用OAuth2.0标准协议作为用户身份验证与授权协议,流程如下:
1、点击授权按钮,弹出国际站登录界面;
2、用户输入用户名和密码,点击登录,进入授权页面;
3、点击授权,即可授权成功


2.2. 订单下载
2.2.1 需求说明
获取订单列表
方法:alibaba.seller.order.list
接口地址:https://open.taobao.com/api.htm?docId=41047&docType=2&scopeId=15989
获取订单详情
方法:alibaba.seller.order.get
接口地址:https://developer.alibaba.com/doc.htm?spm=0.0.0.0.o1YyAq#?treeId=450&platformId=62&docType=2&docId=41148
请求以下类型的订单:
状态:undeliver(待卖家发货)
费用相关:
这里和方达华确认下,如果接口既可以通过订单下载时间同步,也可以根据订单修改时间同步,那订单下载是以下哪种逻辑:
1、首次下载和更新都通过订单更新时间同步;
2、首次下载通过下单时间同步,更新通过更新时间同步;
2.3. 订单更新
2.3.1 需求说明
获取订单列表
方法:alibaba.seller.order.list
接口地址:https://open.taobao.com/api.htm?docId=41047&docType=2&scopeId=15989
获取订单详情
获取订单详情
方法:alibaba.seller.order.get
接口地址:https://developer.alibaba.com/doc.htm?spm=0.0.0.0.o1YyAq#?treeId=450&platformId=62&docType=2&docId=41148
更新订单使用服务进行请求,通过订单修改时间获取,当检测到订单状态改变时,重新同步订单信息
2.4. 平台运输方式管理
2.4.1 需求说明
获取承运商列表接口
方法:alibaba.seller.order.shipping.channels
接口地址:https://developer.alibaba.com/doc.htm?spm=0.0.0.0.o1YyAq#?treeId=450&platformId=62&docType=2&docId=47280
请求接口后,分别保存物流商code和type

2.5. 平台标记发货规则
2.5.1 需求说明
操作位置:销售管理->通用订单设置->平台标记发货规则->设置->添加特殊规则
满足标发条件后,只显示【上传真实追踪号】和【自动标记发货_ERP不操作】两个选项
标记发货
方法:alibaba.seller.order.shipping
接口地址:https://developer.alibaba.com/doc.htm?spm=0.0.0.0.o1YyAq#?treeId=450&platformId=62&docType=2&docId=47112
通过获取承运商接口返回的code和type,以及追踪号进行标发

阿里巴巴国际站。中间表执行策略
获取中间表ItemStatus=normal的待处理订单,排除 delete
ERP与中间表映射逻辑如下:
订单维度
1.默认执行策略
2.平台单号ClientOrderCode--》中间表TradeId
3.发货状态默认【未发货】,如中间表TradeStatus状态是 "delivering"://发货中、"wait_confirm_receipt"://待确认收货、 "trade_success"://交易成功,则设置【全部发货】
4.订单状态默认【正常】,如中间表TradeStatus状态是"trade_close"://交易关闭、"charge_back"://拒付、"frozen"://冻结中设置为【作废】,在最后底层逻辑会改成【待审核】;如状态是"trade_unavailable"://交易不可用、"to_be_audited"://待审核 则设置状态【待审核】
5.标记发货状态默认【等待处理】,如中间表TradeStatus状态是 "delivering"://发货中、"wait_confirm_receipt"://待确认收货、 "trade_success"://交易成功,则设置【标记成功】
6.订单币种Currency-->中间表TotalAmountCurrency
7.是否支付默认【未支付】,如中间表TradeStatus状态是 "paid"://买家支付完成、"relating"://关联中、 "captured"://请款完成,到这步就代表资金会到账、 "undeliver"://待卖家发货、 "delivering"://发货中
、 "wait_confirm_receipt"://待确认收货、 "trade_success"://交易成功,完成、 "trade_close"://交易关闭,取消则设置为【已支付】
8.如订单是已支付,且中间表CreateDateTimestamp有返回值,则支付时间为CreateDateTimestamp时间戳转成北京时间显示
9.订单金额TotalPrice==》中间表TotalAmount
10.订单运费TransportPay--》中间表ShipmentFeeAmount
11.促销折扣PromotionDiscountAmount--》中间表DiscountAmount
12.产品总价ProductTotalPrice--》中间表ProductTotalAmount
13.如中间表ShipmentDateDuration有返回值,则最后发货时间LatestShipDate=CreateDateTimestamp时间戳转北京时间再加上(ShipmentDateDuration)返回值天数
14.FirstName+LastName--》中间表ShippingAddressContactPerson
15.国家Country--》中间表ShippingAddressCountryCode
16.省份Province--》中间表ShippingAddressProvince
17.城市City--》中间表ShippingAddressCity
18.邮编PostCode--》中间表ShippingAddressZip
19.电话Telephone--》如果ShippingAddressMobileNumber不为空,则优先区手机,格式ShippingAddressMobileArea+ShippingAddressMobileCountry+ShippingAddressMobileNumber;否则取座机
ShippingAddressTelephoneArea+ShippingAddressTelephoneCountry+ShippingAddressTelephoneNumber
20.地址1Address1-》中间表ShippingAddressAddress不为空则取ShippingAddressAddress,否则取备用地址ShippingAddressAlternateAddress
21.平台运输方式ShippingService--》如中间表CarrierName不为空,则格式为:CarrierName(ShipmentMethod)
22.如中间表Remark不为空,则订单备注显示:Remark
23.如中间表ListRemark不为空,则订单备注追加显示:ListRemark
24.如中间表订单状态TradeStatus是frozen或charge_back或trade_close,则订单设置作废(基类会设置待审),并添加订单日志和订单问题:检测订单状态:xxx,请确认;订单备注追加:检测订单状态:xxx,请确认
订单产品维度
1.渠道sku--》中间表SkuCode(如果返回空,则平台没有设置,需要设置后新订单返回,旧订单渠道sku为空,订单列表客户可以自己添加,该逻辑对接时与客户确认)
2.OrderItemId--》如中间表SkuId不为空则取SkuId,否则取中间表ProductId
3.产品名称ItemTitle-->中间表OrderProductNmae
4.数量ProductNum--》中间表Quantity
5.价格--》中间表UnitPriceAmount
6.产品备注ItemMemo-->中间表ModelNumber:{xxx};{中间表字段SkuAttributesJson解析,格式color:red;size:small;}
自测截图:
执行待处理后,中间表isprocess为已处理
订单列表、编辑
订单详情