点击蓝字关注我们
第一时间获取SP-API最新技术资讯!
本文作者:徐嘉成 亚马逊SP-API解决方案架构师
本篇文章我们将为您详细阐述亚马逊购买配送(BuyShipping)服务的API应用,核心分为以下两部分,带您掌握购买配送API接入全流程:
如何使用亚马逊Shipping V2 API搭建高效的购买配送 (Buy Shipping) 流程,覆盖从订单获取到货件创建的关键操作,实现自发货环节的自动化与规范化。
为您带来API 接口的进阶应用技术干货,指导您如何通过API接口对接购买配送的最新功能,进一步提升您的履约效率与服务优势。
相信这篇文章一定会对您的业务开发有所帮助,一键收藏转发给您的技术小伙伴,及时掌握API最新资讯!
1.
开发者需提供指引帮助卖家先在卖家后台完成购买配送的初始设置以及查看对应的支持站点和费率等细节。
2.
开发者必须先注册成为亚马逊销售伙伴API(SellingPartner-API)的开发者(Developer),再注册您的销售伙伴 API 应用程序(Application)才能继续接下来的步骤。
3.
因为自发货流程涉及到获取买家的敏感个人信息,您的应用程序必须向亚马逊申请获取以下权限(Role)
库存订单管理(Inventory and Order Tracking)
商品刊登(Product Listing)
自发货运输(受限) Direct-to-Consumer Shipping (Restricted) 受限是指此权限申请流程需要经过额外的严格审核。
4.
在发送API请求之前,您的应用需要获取卖家授权(seller authorization)以拿到相应的refresh_token和access_token 以帮助亚马逊验证您的请求。如果您的请求包含无效的access_token, 您的请求会被拒绝。
只需三步,带你跑通从订单到发货的自动化流程,告别手动处理的低效与繁琐。
第一步:获取订单信息
常见的获取订单信息主要有以下两种方式:
第一种,定时轮询调用Order API下面的getOrder(https://developer-docs.amazon.com/sp-api/reference/orders-v0#getorder)接口。
第二种,通过订阅 order_change 消息通知(https://developer-docs.amazon.com/sp-api/docs/notification-type-values#order_change),每当有新订单进来或者订单状态发生变化时,相关消息通知会发送到您的亚马逊云(AWS)SQS消息队列,您的应用后台就可以在收到消息通知后,通过调用getOrder 来抓取订单信息。
这里我们更推荐您使用第二种方式,因为它大大降低了API 冗余调用次数,亚马逊SP-API针对GET类型的接口调用会在2026年4月开始收费,因此减少如getOrder这类接口的冗余调用可以帮助您大幅节省成本。
第二步:查看库存
当我们获取到发货相关的所需信息后,需要确保库存数量充足。有以下几种方式方便查看库存,以下三种方式各有优劣,我们建议您结合具体场景来决定您的调用策略:
第一种,直接调用Listing API下的 getListingItem 接口 https://developer-docs.amazon.com/sp-api/reference/getlistingsitem 并查看返回值里的fulfillmentAvailability/quantity 来确认库存数量。
第二种,您可以订阅 LISTING_ITEM_MFN_QUANTITY_CHANGE 消息通知。当买家成功下单后,亚马逊就会发送此消息通知到您的亚马逊云 EventBridge 服务上。但这同时意味着您的应用后台需要为此设计一套事件驱动型架构,来异步更新您的商品库存数据。
第三种,通过Report(报告) API 比如 GET_MERCHANT_LISTINGS_ALL_DATA 也可获取商品库存信息,但报告的数据会有一定的延时,比较适用于对即时性要求不高的场景。并且报告API的调用限流规则相当严格,无法做到接收秒级请求。但同时,报告API的优势是数据完整度里最高的,单次调用也可同时获取多个类别的数据。
第三步:创建货件并使用购买配送服
在创建货件后需要使用购买配送服务来选择亚马逊合作的承运人。(创建货件主要使用Shipping V2 API,更详细的流程可参考:https://developer-docs.shipping.amazon.com/apis/docs/workflow-for-creating-a-shipment)
调用 getRates 接口,以获取该货件可用的运费方案集合。
如果getRates接口的响应中指示需要更多信息,就要调用getAdditionalInputs接口以获取购买该货件所需的额外数据。此步骤在国际货件情况下是必需的。
调用purchaseShipment接口,并附上所有必要的额外输入参数以创建货件。接口返回值已包含货件标签(label)。此步骤并不需要开发者或者卖家去发起支付,所有的付款操作和承运人沟通将由卖家和服务商在线下完成。
(此步骤非必需)开发者可通过调用getShipmentDocuments来获取货件标签,也可以调用cancelShipment来取消已创建的货件。
FBM Ship+ 是一项面向自行配送订单卖家的履约解决方案,旨在通过向客户展示准确且快速的送达日期来提升您的销量。同时,它还能通过优惠运费和现金返还让发货更快捷、更实惠。此外,您的准时交付率(OTDR)将受到延迟发货的保护,并且您还能获得与配送相关的 A-to-z 索赔退款。更多详细介绍和如何注册使用 FBM Ship+ 可以参考 https://sellercentral.amazon.com/help/hub/reference/external/G25JYBE52BCW5QJN?locale=en-US
作为开发者,我们如何通过 SP-API 来对卖家提供FBM Ship+ 服务呢,具体操作流程跟前面的购买配送API相似,因为FBM Ship+ 本身就是购买配送下的一项服务,只不过我们需要在某些关键字段上进行识别和区分,以下是详细操作指引
1.
在使用Order API 获取订单信息的时候,使用getOrderItems API中的AmazonPrograms属性来识别FBM Ship+订单。AmazonPrograms包含订单所属项目的列表,其中包括FBM Ship+订单的'[TBD_FLAG]'标识。
2.
在使用 Shipping V2 API 来创建货件的时候,使用getRates API获取给定订单的所有承运商/运输方式。对于每个承运商/运输方式, Rate.benefits包括包含/排除的权益。对于符合FBM Ship+资格的运输方式, Rate.benefits.includedBenefits包含一个FBM_SHIP_PLUS标志,表明该运输方式符合FBM Ship+权益资格。Rate.totalCharge包含承运商对该运输收取的费用。此外,还会有一个新的 Rate.AdjustmentItemList数组,包含FBM Ship+返现金额,以及一个新的 Rate.totalChargeWithAdjustments,显示扣除返现后的费用。在您的应用程序UI中使用这些详细信息来标识"FBM Ship+专属"运单和卖家购买快递FBM Ship+运单时将收到的返现金额。
以上就是我们关于如何使用SP-API来完成自发货卖家的购买配送服务的全部介绍及与对接FBM Ship+服务,相信你已经能够初步掌握了。最后,总结一下本文主要涵盖的三类API接口:
通过Order API查看订单信息
通过Listing API查看库存信息
通过Shipping V2 AP 创建货件并打印label
另外我们还介绍了如何在上述流程中展示 FBM Ship+ 服务,欢迎各位开发者们调用并动手实践相关的应用。我们的解决方案架构师团队也为此写了更加详细的代码教程,您可参考GitHub最新信息
https://github.com/amzn/selling-partner-api-samples/tree/main/use-cases/shipping-v2
未来,我们会在此微信公众号上推出更多的技术博客,您可以持续关注本账号并留言告知我们您最想了解的技术话题,更多内容等你来共创!
开发文档:综合指南和 API调用参考
https://developer-docs.amazon.com/sp-api/
包含API模型的GitHub存储库
https://github.com/amzn/selling-partner-api-models
示例代码:我们提供各种编程语言
https://developer-docs.amazon.com/sp-api/recipes?ld=ELXXSPAPI-developer-docs.amazon.com
示例解决方案
https://github.com/amzn/selling-partner-api-samples
开发者支持工单
https://solutionproviderportal.amazon.com/support
欢迎在微信后台留言或评论告诉我们你最想了解的讯息

