您应了解亚马逊 MWS上传数据 API部分的相关内容
您可以通过亚马逊商城网络服务(亚马逊 MWS) API 的亚马逊 MWS上传数据 API部分,将库存和订单数据上传至亚马逊。您还可以通过亚马逊 MWS上传数据 API 部分,获取上传数据的相关处理信息。
上传数据的提交过程如下:
- 通过 SubmitFeed 操作、加密标头和所有必需的元数据(包括 FeedType 的值在内),来提交 XML 或文本型数据文件。正如亚马逊 MWS的所有提交内容一样,您还必须包括验证信息。SubmitFeed 操作可返回FeedSubmissionId 的值,您可以使用该值,通过 GetFeedSubmissionList 操作,对上传数据状态进行定期检查。
- 如果亚马逊 MWS仍在处理请求,则 GetFeedSubmissionList 操作的 FeedProcessingStatusList 参数可返回状态为 _IN_PROGRESS_。如果处理已完成,则所返回状态为 _DONE_。
- 上传数据处理完毕后,您可以通过 GetFeedSubmissionResult 操作,来接收处理报告,该处理报告会指明上传数据中的哪些记录已成功处理,而哪些记录已生成错误。请注意,您必须创建提交GetFeedSubmissionResult 操作时亚马逊 MWS用来写入报告的流。将亚马逊 MWS上传数据 API 部分客户端库代码用于 GetFeedSubmissionResult 操作,以创建流。
- 对处理报告加以分析,更正文件或传送中的错误,然后通过 SubmitFeed 操作重新提交上传数据。不断重复此过程,直到处理报告中不再有错误。当处理报告无任何错误时,传送即完成。
下面的流程图展示了上传数据的处理流程:
上传数据 API部分包含以下操作:
操作 | 简短说明 |
---|---|
SubmitFeed | 将上传数据上传至亚马逊 MWS端点。 |
GetFeedSubmissionList | 可返回之前 90 天内所提交的所有上传数据列表。 |
GetFeedSubmissionListByNextToken | 通过 NextToken 参数可返回上传数据提交列表。 |
GetFeedSubmissionCount | 返回之前 90 天内所提交的上传数据计数。 |
CancelFeedSubmissions | 可取消一个或多个上传数据提交,并返回已取消的上传数据提交计数。 |
GetFeedSubmissionResult | 可返回上传数据处理报告及 Content-MD5 标头。 |
上传数据类型
- 加拿大:https://sellercentral.amazon.ca/gp/help/
- 中国:https://mai.amazon.cn/gp/help/
- 德国:https://sellercentral.amazon.de/gp/help/
- 西班牙:https://sellercentral.amazon.es./gp/help/
- 法国:https://sellercentral.amazon.fr/gp/help/
- 印度:https://sellercentral.amazon.in/gp/help/
- 意大利:https://sellercentral.amazon.it/gp/help/
- 日本:https://sellercentral-japan.amazon.com/gp/help/home.html
- 英国:https://sellercentral.amazon.co.uk/gp/help/
- 美国:https://sellercentral.amazon.com/gp/help/
如果您使用 XML 格式的上传数据,请参阅 《我要开店 - XML 指南》(英文版),了解各种上传数据类型架构的详情。例如,该指南的第 12 页介绍了商品上传数据架构。 如果您需要确定上传数据的相应 ItemType,请参阅卖家平台帮助中的 XSD 表。
限制
亚马逊 MWS将每个开发者账户和亚马逊卖家帐户组合的每小时总请求次数限制在 1,000 次。
下表介绍了亚马逊 MWS限制理念:
名称 | 描述 |
---|---|
请求限额 | 您每次可无限制提交的请求数量。请求限额会随着您所提交 的请求数量增加而不断减少,但会以恢复速率增加。系统将以每个亚马逊卖家账户和亚马逊 MWS 开发人员账户对为基础 计算请求数量。 |
恢复速率 | 在达到最大请求限额前,您的请求限额会逐渐增多的速率。 |
最大请求限额 | 请求限额可达到的最大数量。 |
亚马逊 MWS上传数据 API部分中的大多数操作每分钟最多可处理 10 个请求,恢复一个请求。您应了解,两个亚马逊 MWS上传数据 API操作具有最大限额限制及恢复率:
- SubmitFeed 操作在进行限制之前最多可处理 15 个请求。恢复率为每 2 分钟 1 个请求。
- GetFeedSubmissionResult 操作在进行限制之前最多可处理 15 个请求。恢复率为每分钟 1 个请求。
要全面了解限制的含义,请参阅亚马逊 MWS 开发者指南。
SubmitFeed 和 GetFeedSubmissionResult 操作的 Content-MD5 标头
Content-MD5 标头用来检查消息的完整性,以验证所收到的已解码数据是否与最初发送的数据相同。当您通过 SubmitFeed 操作提交上传数据时,或当您通过 GetFeedSubmissionResult 操作接收上传数据报告时,您必须使用 Content-MD5 标头。
您在使用 SubmitFeed 操作时,必须创建 Content-MD5 标头,该标头包含 HTTP 实体的 MD5 散列值,与此同时,您还必须在您的请求中将其包含其中。亚马逊 MWS便可以将您所创建的 MD5 散列值与接收上传数据时所创建的 MD5 散列值加以比较。亚马逊 MWS还可以通过该过程,来确定所提交的待处理上传数据是否与所接收到的上传数据完全相同。该过程可阻止已损坏的描述数据或定价商品数据显示在亚马逊上。
当您使用 GetFeedSubmissionResult 操作时,必须计算所收到上传数据报告的 MD5 散列值,并将其与响应中所包含的 Content-MD5 标头加以比较。如果二者相符,则报告在传送过程中未发生损坏。
通过亚马逊 MWS客户端库,可以很轻松地传入每个亚马逊 MWS请求的 Content-MD5 标头,只要您所发送的数据已存储在磁盘中,且数据的 MD5 散列值已经创建。要获取使用 Content-MD5 标头的更多相关信息,请参阅亚马逊 MWS 开发者指南。
上传数据处理
- 库存上传数据(商品、价格、库存、关系、图片或配送修改上传数据)以及订单上传数据是单独处理的;但可以同时提交这两种上传数据。
- _POST_PRODUCT_DATA_ 上传数据可以与价格、库存和其他 XML 上传数据同时处理。但是,如果价格、库存和其他上传数据引用了商品上传数据尚未完成处理的 SKU,则处理这些上传数据将失败。 您应在完成商品上传数据后,再按顺序处理价格、库存和图片更新。
- 可以同时提交所有库存上传数据(除 _POST_PRODUCT_DATA_ 之外)。例如,可以同时提交所有价格、库存情况、关系和图片上传数据。
- 系统将按顺序处理相同类型的上传数据。这适用于所有库存上传数据类型。例如,如果您提交两份价格上传数据,则每次只能处理一份上传数据。
- 改进上传数据的提交方式。每隔几秒钟就上传很多份较小的上传数据是非常低效的,还可能导致系统任务积压,从而妨碍处理其他上传数据,并强制您取消某些之前提交的上传数据。
- 上传数据处理报告存储在使用请求所设置的输出流中。 例如,在 Java 客户端库中,您可以调用 GetFeedSubmissionResultRequest#setFeedSubmissionResultOutputStream() 来控制存储处理报告的位置。 因为对于较大的上传数据,处理报告可能会非常大。
使用多个商城
如果某一亚马逊卖家注册了多个商城,则该卖家的卖家编号将会对应多个商城编号。例如,这些商城编号可能是提供相应服务的亚马逊卖家账户、 Amazon Webstore 或 Checkout By Amazon。此类卖家可以提交适用于一个或多个商城编号的上传数据。 欧洲 (EU) 地区的亚马逊卖家可以提交支持多个欧洲商城(使用一个统一的亚马逊账户注册)的上传数据。
注册了多个商城的卖家可以在这些商城中使用相同的 SKU 来管理库存商品,这就无需在多个商城中手动同步。 例如,具有 Amazon Webstore 账户的亚马逊卖家可以在两个商城中管理商品。
由于卖家可以注册使用多个商城,进而产生了“默认商城”的概念。 “默认商城”即您首次作为卖家注册的国家。例如,如果您是在德国 (DE) 卖家平台网站注册的,则默认商城 为 DE,默认商城编号为 A1PA6795UKMFR9(卖家商城编号值见下表)。请注意,如果卖家只希望在其默认商城销售商品,则上传数据流程没有任何变化。
如果未指定任何商城,则出于向后兼容性,上传数据将应用于默认国家内的所有商城。
如何使用商城编号
您可以指定要应用上传数据的商城,方法是:当调用 SubmitFeed 操作时,向可选的 MarketplaceIdList 参数提供商城编号列表。 例如,注册了多个欧洲 (EU) 商城的卖家可以按以下格式指定 MarketplaceIdList参数,从而将上传数据应用于其法国 (FR) 和德国 (DE) 商城:
&MarketplaceIdList.Id.1=A13V1IB3VIYZZH&MarketplaceIdList.Id.2=A1PA6795UKMFR9
在请求中,不要将可选的 MarketplaceIdList 参数和 Marketplace 参数相混淆。 Marketplace 参数已停止使用,不再用于验证,但出于向后兼容性,仍保留在请求中。
对于 EU 卖家而言,无需使用某一国家端点(如 https://mws.amazonservices.de)来指定应用上传数据的商城。 通过在提交上传数据时指定某一商城编号,EU 卖家即可对该商城进行更新。
下表列出了 EU 商城编号值:
商城 | 网址 | 商城编号 |
---|---|---|
法国 | www.amazon.fr | A13V1IB3VIYZZH |
德国 | www.amazon.de | A1PA6795UKMFR9 |
意大利 | www.amazon.it | APJ6JRA9NG5V4 |
西班牙 | www.amazon.es | A1RKKUPIHCS9HS |
英国 | www.amazon.co.uk | A1F83G8C2ARO7P |
您还可以提供 Webstore 商城编号或 Checkout By Amazon 商城编号。
提交多个商城编号时上传数据的处理方式
- 文本型文件上传数据只能应用于一个国家。例如,如果商城编号是针对 UK 卖家账户和 UK WebStore 账户的, 则系统可以接受文本型文件上传数据;但如果商城编号是针对 DE 卖家账户和 FR 卖家账户的,则系统无法接受。
- 根据 FeedType 和所提交的商城编号的不同,上传数据处理方式也会有所不同。 下表介绍了提交多个商城编号时具体 FeedType 的处理方式。
- 如果提交了多个商城编号,但一个或多个编号由于某种原因验证失败(货币不一致、语言不一致、国家不一致,或者一个被阻止而另一个有效), 则 亚马逊 MWS 将返回错误,提交失败。
- 请注意,亚马逊 MWS 将先验证所提交的上传数据,然后将其归入处理队列。 如果提交的上传数据所包含的商城编号与提交的 FeedType 是相对应的,则上传数据将通过验证。 但是,通过验证并不意味着上传数据的格式正确或将成功处理。
- 提交 SubmitFeed 时,如果将 PurgeAndReplace 设置为 true,则将对 EU 卖家指定的所有 EU 商城应用清空操作。 如果未指定任何 EU 商城,则出于向后兼容性,将更新某个国家内的所有商城。
下表中的所有商品上传数据的处理方式均相同。如果所提交的某个上传数据包含多个商城编号, 则该上传数据必须提供使用相同语言代码的所有商城,否则上传数据在提交时将被拒绝。 如果未指定商城编号,则上传数据将应用于卖家注册的所有商城,以及使用卖家默认商城语言代码的所有商城。 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_PRODUCT_DATA_ | 商品上传数据 | XML |
_POST_PRODUCT_RELATIONSHIP_DATA_ | 商品关系上传数据 | XML |
_POST_ITEM_DATA_ | 商品上传数据 | XML |
_POST_OFFER_ONLY_DATA_ | 仅含价格的上传数据 | XML |
_POST_WEBSTORE_ITEM_DATA_ | WebStore 商品上传数据 | XML |
下表中的所有图片上传数据都具有相同的处理方式。在所提供的商城中,图片上传数据将图片与 ASIN 一一对应。 如果未指定商城编号,则上传数据将应用于卖家注册的所有商城,以及位于卖家首次注册的国家中的所有商城。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_PRODUCT_IMAGE_DATA_ | 图片上传数据 | XML |
下表中的所有价格上传数据都具有相同的处理方式。如果所提交的某个价格上传数据包含多个商城编号, 则该上传数据必须提供使用相同国家代码的所有商城,否则上传数据在提交时将被拒绝。 如果未指定商城编号,则上传数据将应用于卖家注册的所有商城,以及使用卖家默认商城的货币代码的所有商城。 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_PRODUCT_PRICING_DATA_ | 价格上传数据 | XML |
下表中的所有库存情况上传数据都具有相同的处理方式。 在涉及 SKU 时,数量是一个整体值,因此,库存更改将应用于销售该 SKU 的所有商城。 如果在多个商城中对同一 SKU 处理了多个库存上传数据,则卖家最后上传的库存数据的数量即为整体的库存数量。 如果将商品库存数量设置为 0,则会在所有商城中将该数量设置为 0,且买家无法购买该商品,但是该商品信息仍保留在系统中。 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_INVENTORY_AVAILABILITY_DATA_ | 库存上传数据 | XML |
下表中的所有订单配送上传数据都具有相同的处理方式。 所有下单后上传数据(订单确认、发货确认、退款)都将引用亚马逊订单编号,该编号为全球唯一编号。 因此,下单后上传数据并不是某个商城所特有的。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_ORDER_FULFILLMENT_DATA_ | 发货确认 | XML |
尽管所有订单配送取消上传数据只能应用于一个国家,但是它们可以应用于该国家的多个商城, 如亚马逊卖家商城编号、Amazon Webstore 商城编号以及 Checkout By Amazon 商城编号。 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_FULFILLMENT_ORDER_CANCELLATION_REQUEST_DATA_ | 配送订单取消请求 | XML |
下表中的所有配送调整上传数据都具有相同的处理方式。只能对这些上传数据指定一个商城。 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_PRODUCT_OVERRIDES_DATA_ | 商品配送调整上传数据 | XML |
_POST_SHIPPING_OVERRIDE_DATA_ | 配送调整上传数据 | XML |
下表中的所有文本型文件上传数据都具有相同的处理方式。 尽管文本型文件上传数据只能应用于一个国家,但是它们可以应用于该国家的多个商城, 如亚马逊卖家商城编号、Amazon Webstore 商城编号、 Checkout By Amazon 商城编号。 但是,在涉及 SKU 时,数量是一个整体值,因此,库存更改将应用于销售该 SKU 的所有商城。 如果在多个商城中对同一 SKU 处理了多个库存上传数据,则卖家最后上传的库存数据的数量即为整体的库存数量。 如果将商品库存数量设置为 0,则会在所有商城中将该数量设置为 0,且买家无法购买该商品,但是该商品信息仍保留在系统中。 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。
上传数据类型 | 描述 | 文件类型 |
---|---|---|
_POST_FLAT_FILE_LISTINGS_DATA_ | 库存加载工具 | 文本型文件 |
_POST_FLAT_FILE_INVLOADER_DATA_ | 合并的文本型文件库存加载工具 | 文本型文件 |
_POST_FLAT_FILE_BOOKLOADER_DATA_ | 图书加载工具 | 文本型文件 |
_POST_FLAT_FILE_PRICEANDQUANTITYONLY_ UPDATE_DATA_ | 仅含价格和数量的加载工具 | 文本型文件 |
_POST_FLAT_FILE_CONVERGENCE_LISTINGS_DATA_ | 合并商品信息 | 文本型文件 |
_POST_UIEE_BOOKLOADER_DATA_ | UIEE 图书加载工具 | 文本型文件 |
提交多个商城编号时的新错误消息
新增了在提交多个商城编号时显示的错误消息:
错误消息 | 描述 |
---|---|
对此上传数据类型提供的所有商城都必须具有相同的默认语言代码。[ABCD] 和 [EFGH] 的默认语言代码不相同。 | 某些上传数据(如 _POST_PRODUCT_DATA_ 上传数据)只能应用于使用相同语言的商城。所提供的商城编号使用的语言不相同。 |
对此上传数据类型提供的所有商城都必须具有相同的默认货币代码。[ABCD] 和 [EFGH] 的默认货币代码不相同。 | 某些上传数据(尤其是与价格相关的,如 _POST_PRODUCT_PRICING_DATA_ 上传数据)只能应用于使用相同货币的商城。所提供的商城编号使用的货币不相同。 |
对此上传数据类型提供的所有商城都必须位于相同的国家。[ABCD] 和 [EFGH] 的默认国家代码不相同。 | 文本型文件上传数据只能应用于在同一国家注册的商城编号。所提供的商城编号的默认国家不相同。 |
所提供的商城与您的账户相对应,但是系统不允许您在以下商城中执行此操作:[ABCD] 和 [ABCD]。 请联系您的默认商城的卖家支持团队,了解账户的更多信息。 | 您所提供的的账户和商城编号出现问题。导致此错误消息的原因有多种,包括没有完成商城注册。 请联系您的默认商城的卖家支持团队,解决此问题。 |
提供的一个或多个商城是亚马逊物流 (FBA) 商城,无法用于此上传数据/报告类型:[ABCD] 和 [ABCD]。 | 对于此类型的上传数据,亚马逊物流 (FBA) 商城编号无效。 |
您的上传数据无法应用于任何商城。 | 由于您未提供商城编号,因此亚马逊 MWS 尝试确定要使用的正确商城,但是无法找到与用于完成请求的账户相对应的商城。 |