对接亚马逊 SP-API(Amazon Selling Partner API) 第六章:Fulfillment Inbound 模块
1. API 对比
MWS操作 | SP-API操作 | 简短说明 |
---|---|---|
CreateInboundShipmentPlan |
createInboundShipmentPlan |
返回创建 入库货件所需的信息。 |
CreateInboundShipment |
createInboundShipment |
创建入库货件。 |
UpdateInboundShipment |
updateInboundShipment |
更新现有入库货件。 |
PutTransportContent |
putTransportDetails |
向亚马逊发送入库货件的运输信息。 |
EstimateTransportRequest |
estimateTransport |
请求入库货件的预计运费。 |
GetTransportContent |
getTransportDetails |
返回入库货件的当前运输信息。 |
ConfirmTransportRequest |
confirmTransport |
确认您接受亚马逊合作承运人的预计运费,并请求亚马逊合作承运人配送您的入库货件。 |
VoidTransportRequest |
voidTransport |
取消之前确认的使用亚马逊合作承运人配送入库货件的请求。 |
GetPackageLabels |
getLabels |
返回用于打印入库货件包裹标签的 PDF 文档数据。 |
GetBillOfLading |
getBillOfLading |
返回用于打印入库货件提单的 PDF 文档数据。 |
ListInboundShipments |
getShipments |
根据您指定的条件返回入库货件列表 |
ListInboundShipmentsByNextToken | 使用 NextToken 参数返回下一页入库货件。 | |
ListInboundShipmentItems |
getShipmentItems getShipmentItemsByShipmentId |
返回指定入库货件的商品列表或在指定时间段内更新的商品列表。 |
ListInboundShipmentItemsByNextToken | 使用 NextToken 参数返回下一页入库货件商品。 | |
GetServiceStatus | 返回 “配送入库货件 API”部分 的运行状态。 | |
getInboundGuidance getPreorderInfo confirmPreorder getPrepInstructions |
2. MWS 流程
- 步骤 1 - 创建商品信息
- 步骤 2 - 创建一个入库货件计划
- 步骤 3 - 准备商品以进行运输
- 步骤 4 - 创建一个入库货件
- 步骤 5 - 使用亚马逊合作承运人配送入库货件(可选)
- 步骤 6 - 向亚马逊发送货件追踪编码
- 步骤 7 - 为您的货件包装和贴标
- 步骤 8 - 将您的货件发送至亚马逊配送网络
- 步骤 9 - 将您的货件标记为已发货
3. SP-API 流程
3.1. 创建货件计划:createInboundShipmentPlan
参照 MWS 流程 步骤 2 - 创建一个入库货件计划
备注:只创建货件计划是无法在亚马逊后台查询的,确认了货件计划才可以查得到。
public void createInboundShipmentPlanTest() throws ApiException {CreateInboundShipmentPlanRequest body = new CreateInboundShipmentPlanRequest();// AddressAddress address = new Address();address.setName("XXX");address.setAddressLine1("XXX");address.setCity("XXX");address.setStateOrProvinceCode("XXX");address.setCountryCode("CA");address.setPostalCode("000000");body.setShipFromAddress(address);/** LabelPrepPreference 是您在 CreateInboundShipmentPlan 操作使用的一个关键参数。此参数指明了您将要发送至亚马逊物流的商品的标签准备首选项。* 以下是 LabelPrepPreference 的有效值:* SELLER_LABEL - 指明您将自行为每个需要商品标签的商品(不是无需贴标签的混杂库存中的商品)贴标。* AMAZON_LABEL_ONLY - 亚马逊将为入库货件中需要标签的商品贴标。如果亚马逊确定没有成功对商品贴标所需的信息,入库货件计划不会包含该商品。* AMAZON_LABEL_PREFERRED - 亚马逊将为入库货件中需要标签的商品贴标。如果亚马逊确定没有对商品成功贴标所需的信息, 入库货件计划会包含该商品,且卖家必须为其贴标。* 注: 除非您注册了“亚马逊物流贴标服务”,否则 SELLER_LABEL 即为 LabelPrepPreference 的唯一有效值。“亚马逊物流贴标服务”不适用于印度 (IN)。* */body.setLabelPrepPreference(LabelPrepPreference.SELLER_LABEL);// InboundShipmentPlanRequestItemsInboundShipmentPlanRequestItemList inboundShipmentPlanRequestItems = new InboundShipmentPlanRequestItemList();InboundShipmentPlanRequestItem inboundShipmentPlanRequestItem = new InboundShipmentPlanRequestItem();inboundShipmentPlanRequestItem.setSellerSKU("XXX");inboundShipmentPlanRequestItem.setQuantity(1000);inboundShipmentPlanRequestItems.add(inboundShipmentPlanRequestItem);body.setInboundShipmentPlanRequestItems(inboundShipmentPlanRequestItems);CreateInboundShipmentPlanResponse response = api.createInboundShipmentPlan(body);}
题外: 分仓 --> 合仓
只创建了一个SKU的计划,却有两个 DestinationFulfillmentCenterId。
解决:(感谢阿科大佬)
备注:需要将账号默认库存配置设置成合仓。合仓的费用会非常贵!(运营立马掐灭了我修改配置想法..)
路径:Account Setting --> Fulfillment by Amazon --> Inbound Setting --> Inventory Placement Option --> Inventory Placement Service
配置完后先测试一下,如果解决了就没问题了。我修改完配置已经变成一个了。
不行的话,再执行下列操作(多个SKU的情况下需要用到)。
调用 getPrepInstructions 获取 PrepInstruction。(没有则为"NONE")
在 Item 中添加查询出来的参数。
// 避免分仓PrepDetailsList prepDetails = new PrepDetailsList();PrepDetails prepDetail = new PrepDetails();prepDetail.setPrepInstruction(PrepInstruction.LABELING);prepDetail.setPrepOwner(PrepOwner.SELLER);prepDetails.add(prepDetail);inboundShipmentPlanRequestItem.setPrepDetailsList(prepDetails);
BUG 1: Reason: XX State field must be two characters.
{"errors": [{"code": "InvalidInput","message": " Reason: XX State field must be two characters.","details": ""}]
}
解决:
参数中 AddressLine 和 CountryCode 必须是一致的。不能 AddressLine 是CA地址,CountryCode 填US。
BUG 2: NOT_IN_PRODUCT_CATALOG
<Error><Type>Sender</Type><Code>InvalidRequestException</Code><Message>This operation may be partially successful, Please check the status. Reason: [Item(s) ineligible from being inbounded, with reason: NOT_IN_PRODUCT_CATALOG. Corresponding items for the error: [[FNSKU: XXX, MSKU: XXX]]].</Message>
</Error>
解决:
在亚马逊后台检查该产品是否为FBA发货
位置:后台 --> Inventory --> Manage FBA Inventory --> 相关SKU --> 配送类型更改为【所有】
3.2. 确认货件计划:createInboundShipment
参照 MWS 流程 步骤 4 - 创建一个入库货件
3.3. 上传资料(没账号测试了,等以后处理了在补充资料。如果有愿意提供账号的可以联系我!)
Feeds API 使用方式参照官方教程:Feeds API v2021-06-30 Use Case Guide
3.3.1. 上传纸箱内容
说明:上传 xml。
Feed Type: POST_FBA_INBOUND_CARTON_CONTENTS
3.3.2. 上传箱子尺寸
说明:上传 excel。
Feed Type: POST_FLAT_FILE_FROM_EXCEL_FBA_CREATE_CARTON_INFO(此类型为隐藏类型,一般人我不告诉他们的,且知且珍惜)
3.3. 发货:updateInboundShipment
参照 MWS 流程 步骤 9 - 将您的货件标记为已发货
3.4. 获取贴箱标:getLabels
备注:贴箱标是需要发给物流商的。
@Testpublic void getLabelsTest() throws ApiException {String shipmentId = "FBAAAAAAAA";String pageType = "PackageLabel_Letter_2";String labelType = "BARCODE_2D";Integer numberOfPackages = null;List<String> packageLabelsToPrint = null;Integer numberOfPallets = null;Integer pageSize = null;Integer pageStartIndex = null;GetLabelsResponse response = api.getLabels(shipmentId, pageType, labelType, numberOfPackages, packageLabelsToPrint, numberOfPallets, pageSize, pageStartIndex);// TODO: test validations}
然后就可以获取到一个下载的URL。(URL在15秒后会失效)
对接亚马逊 SP-API(Amazon Selling Partner API) 第六章:Fulfillment Inbound 模块相关推荐
- 亚马逊国际获得AMAZON商品详情API,数据接口
万邦亚马逊国际获得AMAZON商品详情 API 返回值说明 item_get-获得AMAZON商品详情 onebound.amazon.item_get 公共参数 请求地址: 跨境电商平台接口提供商 ...
- 亚马逊常用API接口,亚马逊国际获得AMAZON商品详情 API 返回值说明
为了进行电商平台亚马逊的API开发,首先我们需要做下面几件事情. 1)开发者注册一个账号 2)然后为每个淘宝应用注册一个应用程序键(App Key) . 3)下载亚马逊API的SDK并掌握基本的API ...
- 学习使用亚马逊国际获得AMAZON商品详情 API
学习目标: 快速掌握接口的使用 亚马逊的API开发接口,我们需要做下面几件事情. 1)开放平台注册开发者账号: 2)然后为每个淘宝应用注册一个应用程序键(App Key) : 3)下载亚马逊API的S ...
- 万邦亚马逊国际获得AMAZON商品详情 API 返回值说明
item_get-获得AMAZON商品详情 注册开通 onebound.amazon.item_get 公共参数 请求地址: https://api-gw.onebound.cn/amazon/it ...
- 亚马逊国际获得AMAZON商品详情 API
以下是行业内了解到的一些情况,本帖只展示部分代码,需要更多API调试请移步注册API账号 http://console.open.onebound.cn/console/?i=Turbo item_g ...
- 亚马逊国际获得AMAZON商品详情 API 返回值说明
请求参数:num_iid=B09DG3RXXQ 参数说明:num_iid:AMAZON商品ID(非.cn的请在后加 -com) API测试工具 响应示例 { "item": ...
- 亚马逊SP-API对接实践解析(amazon selling partner api)
1.前言 亚马逊(amazon)在2020年10月推出了新的替代MWS的api方案,称为Selling Partner API(SP-API). SP-API在授权方式.权限管理.覆盖站点.支持的卖家 ...
- 对接亚马逊 SP-API(Amazon Selling Partner API) 第四章:签名
目录 1. 前提概要 2. Authorization 介绍 Python 版本完整案例 3. 拼接 Authorization Task 1: Create a canonical request ...
- 对接亚马逊 SP-API(Amazon Selling Partner API) 第一章:注册帐号
目录 1. SP-API 基本介绍 1.1. 从 MWS 迁移到 SP-API 1.2. SP-API 开发者指南 1.3. MWS 与 SP-API 接口映射 1.4. SP-API 的站点 2. ...
- 对接亚马逊 SP-API(Amazon Selling Partner API) 第二章:授权
目录 1. 授权销售伙伴 API 应用程序 1.1. Marketplace Appstore workflow 1.2. Website workflow(推荐使用) 1.3. 自行授权(仅限店铺本 ...
最新文章
- Ubuntu Qt编译报错 stdlib.h: No such file or directory
- 【转】面试:一个单例模式,足以把你秒成渣
- Opencv中Mat的data数据只定义为uchar*类型,
- 用 Java 语言,写一个植物大战僵尸简易版!
- 存储基本概念与SAN存储
- NETBEUI协议的优点及应用
- Django book 2.0
- idea导入项目的问题:nothing found
- CSAPP第六章家庭作业参考答案
- Pocket PC 模拟器上网设置
- wing-loss pytorch
- ios应用音频与来电铃声冲突问题
- Xmind激活版双击文件无法打开的解决方案
- 端口碰撞技术让开放端口更安全
- 解决windows10 无法开热点问题
- OpenHarmony 内核 liteos_A和lite_M
- 基于javaweb的景区旅游管理系统(java+springboot+html+layui+bootstrap+jquery+mysql)
- ECCV 2020开源项目合集 (ECCV 2020 paper list with code/data)
- 拿到6个重磅offer的大神,超详细面试经验总结
- 新规曲线行驶的图解技巧
热门文章
- Android存储路径解析
- 下载个PDF居然还要密码?想要密码就付费?这我能忍你!Python分分钟解密它!
- 中国的手机支付在全球遥遥领先
- c语言 socket send,C语言中send()函数和sendto()函数的使用方法
- 任天堂游戏 html5,任天堂:会让粉丝们在Switch上玩到《毁灭战士:永恒》
- 提前招面试要注意什么-面试要注意事项
- 美通企业日报 | 科技和能源行业最受中国公众信任;英特尔携手大华发展智能视觉技术...
- 谈谈Sublime Text 3 与 Soda Theme
- 关注民生民情——华北水利水电大学“情艺”国情社情调查
- 处理办公文档通过共享打印机无法打印