亚马逊AWS官方博客

如何对接亚马逊电商 Selling Partner API?

一. 概述

本篇博客将介绍截止于 2024 年 7 月,亚马逊电商 Selling Partner API(简称”SP-API”)的最新对接流程。 对于 2023 年 10 月 2 日之后注册 SP-API 的开发人员,无需使用 IAM 进行签名验证。要使用 SP-API,首先需要注册成为销售伙伴 API 开发者,然后才能注册您的销售伙伴 API 应用程序。有关开发者注册和卖家平台的演示,请参阅 SP-API Developer University 上的注册成为 SP-API 开发者视频

二. 亚马逊 SP-API 介绍

以前亚马逊电商平台为卖家提供 Marketplace Web Service API(MWS API)以程序化的方式管理营运店铺,为了进一步提高数据安全性和易用性,2020 年 10 月亚马逊电商正式推出一套全新的 Selling Partner API 即 SP-API。 SP-API 是一种基于 REST 的 API,可帮助亚马逊销售合作伙伴以编程方式访问他们在订单、发货、付款等方面的亚马逊数据。使用 SP-API 的应用程序可以提高销售效率,减少人工需求,并改善对客户的响应时间,从而帮助销售合作伙伴发展他们的业务。

1. 主要功能

使用销售合作伙伴 API,您可以:

  • 设置 OAuth 授权工作流,销售合作伙伴可以从销售合作伙伴应用商店详情页或您自己的网站发起。
  • 生成一个 SDK,可以帮助您进行 LWA 令牌交换和身份验证。
  • 通过调用沙箱环境来测试您的应用程序。

2. 全球应用程序

您只需在选择的区域和市场注册一次开发者,即可创建一个 SP-API 应用程序,供任何区域或市场的销售合作伙伴授权。

3. 合规政策

使用 SP-API 需要满足以下政策,请查看可接受使用政策(AUP)、数据保护政策(DPP)和亚马逊开店服务 API 开发者协议要求。

三. 发布新的亚马逊 SP-API 应用程序

一个完整的 Amazon SPCN (Seller Central Partner Network)的应用发布流程如下。

步骤 0. 了解 SP-API 开发者类型

使用 SP-API,您必须先注册为销售伙伴 API 开发者,然后才能注册您的销售伙伴 API 应用程序。在注册 SP-API 开发者前, 您需要先了解开发者类型,以注册适合您场景的开发者类型。

注册为不同开发者类型的过程略有不同,具体取决于您计划创建的应用程序的类型。

步骤 1. 登录卖家中心/供应商中心/公共开发者中心

登录私人卖家中心

1. 登录卖家平台。有关区域 URL,请参阅卖家平台 URL

2. 打开菜单,选择“Partner Network”,然后选择“Develop Apps”。

注意: 只有专业卖家账户才能注册开发或集成 SP-API。个人账户不符合资格。您可以随时将账户升级为专业计划。您可以在账户信息的”您的服务”下查看您的销售计划类型和市场信息。

登录私人供应商中心

1. 前往您所在商城的 Vendor Central。有关各商城的 URL 列表,请参阅 Vendor Central URL

2. 使用您希望应用程序访问的供应商组的 Vendor Central 账户凭证登录。有关供应商组的详细信息,请参阅关于供应商组

3. 从“集成”菜单中,选择 “API 集成”。

登录公共开发者中心

1. 登录开发者中心平台

2. 创建亚马逊账户,并登录开发者中心。

步骤 2. 注册成为开发者

1. 选择前往“开发者资料”,填写开发者注册表。

2. 在“联系信息”下填写完整的开发者信息。

3. 在“数据访问”中, 选择注册的开发者类型。

  • 私人开发者:我们建了一款应用程序,将我司与业务进行店服务 API 集成在一起。
  • 公共开发者:我们建了公开可用的应用程序,可供其他公司使用。

详情请阅读步骤 0. 了解SP-API开发者类型 ,确定注册的开发者类型。

4. 在“安全控制”中,按照使用情况填写,并详述您的信息使用情况。

5. 在“角色”中, 勾选适用于您的应用程序的角色。

角色/职权是销售伙伴 API 用于确定开发者或应用程序是否有权进行操作或访问资源的一种机制。如果是开发者,您必须请求特定职权并获取相应资格,否则您将无法进行或访问该职权下分组的操作和资源。有关角色定义的更多信息,请参阅销售合作伙伴 API 中的角色

“个人身份信息”(”PII”)是指可单独使用或与其他信息一起使用的信息,用于识别、联系、在语境中识别亚马逊买家或授权用户或者确定其位置。它包括但不限于买家或授权用户的姓名、地址、电子邮件地址、电话号码、礼品信息内容、调查回复、付款详情、购买信息、Cookie、数字指纹(例如浏览器、使用者设备)、IP 地址、地理位置、九位数邮政编码或互联网连接的设备商品编码。

“受限”角色意味着该角色需要处理敏感信息,可能包括个人身份信息(PII)。您需要提供关于数据使用和安全控制措施的更多信息。

6. 在“使用案例”中,详述您的差异化使用场景,便于后台对您应用以及权限审核。

7. 确认您已阅读并同意亚马逊开店服务 API 开发者协议可接受使用政策数据保护政策。提交等待后台, 等待完成审核。

8. 在开发者中心的横幅中,查看开发者注册申请状态。

等待后续步骤。Case 更新将发送到存档的管理员电子邮件地址。如果有人联系您询问更多信息,您必须在五天内回复,以防 case 关闭。

步骤 3. 注册应用程序

1. 在开发者中心,点击“+添加新的App客户端”。

2. 填写“应用名称”,并选择“API 类型”后,选择应用程序类型。

  • 沙盒:可供您在不影响生产数据、不触发真实事件的前提下测试应用程序。
  • 生产:生产应用程序的创建需要开发者资格的批准。

3. 查看应用程序信息和凭证

此时将显示您的 LWA 客户端标识符和该应用程序的客户端密钥。您将需要这些证书来请求 LWA 访问令牌。有关更多信息,请参阅 申请 “用亚马逊账户登录” 访问令牌(创建生产应用程序能正常获取数据的前提条件是需要确保开发者申请获得批准)。

步骤 4. 授权 SP-API 应用程序

亚马逊销售合作伙伴 API 的授权模型基于亚马逊的 OAuth 2.0 实现 Login with Amazon。在此模型中,您的应用程序通过与亚马逊显示的页面以及您的网站进行交互而获得授权。Web 浏览器充当用户代理,在每个销售合作伙伴操作中在您的网站和亚马逊之间传递参数。要实现 OAuth 授权,您必须配置您的网站以(1)接受和处理亚马逊传递给它的参数;(2)重定向 Web 浏览器并将参数传递给亚马逊。

授权流程

  • 面向卖家的公共应用程序:公开提供并由卖家授权的应用程序。可以使用以下方法对这些应用程序进行授权:
  • 面向供应商的公共应用程序:公开可用并由供应商授权的应用程序。可以使用以下方法对这些应用程序进行授权:
  • 面向卖家或供应商的私人应用程序:仅适用于贵组织的应用程序。这些可以是卖家或供应商应用程序。可以使用以下方法对这些应用程序进行授权:

详情请参阅授权 SP-API 应用程序。

授权限制

在 SP-API 中,除了 Grantless 操作,其余的操作均需要显式获得 Authorization 授权完成 API Call。

  • 目前 Private Developer 的非公开应用可以通过自授权方式来完成调用,但是有 10 个自授权数量的限制。如果超过需要超过 10 个授权,则需要将应用转为 Public Developer Application 。
  • Public Developer Application 的授权需遵循 OAuth Workflow,目前有两种方式。分别为 SCPN 授权,以及第三方登录页授权。如果您的应用没有在 SCPN 进行刊登的情况下,则有 25 个 OAuth 授权的限制,直至您将您的应用在 SCPN 完成刊登。您可以通过修改您的 Developer Profile 来改变您的开发者类别。

步骤 5. 调用 SP-API

测试 SP-API 端点

销售合作伙伴 API(SP-API)提供了沙箱环境,您可以在其中测试 SP-API 端点而不会影响生产数据。您可以将调用指向 SP-API 沙箱端点,发出静态请求以获取模拟响应。通过使用沙箱, 您可以练习发出调用所需的步骤,了解请求和响应格式,练习验证应用程序凭据,并尝试使用 API 端点而不会影响生产数据。

请查阅“Tutorial: Test Selling Partner API Endpoint”, 了解生成了 LWA 访问令牌,对沙盒端点的 SP-API 进行调用。

使用 SDK

SDK 将多个步骤捆绑在一起,例如请求访问令牌和请求安全令牌,以无缝调用 SP-API。选择 SDK 后,您必须生成您的 SDK 并将其连接到销售合作伙伴 API。

  • C# SDK 教程:使用 C# SDK 教程自动化您的 SP-API 调用,通过亚马逊登录(LWA)令牌交换和身份验证,使用 C# SDK 自动化您的 SP-API 调用。
  • Java SDK 教程:使用 Java SDK 教程自动化您的 SP-API 调用,通过亚马逊登录(LWA)令牌交换和身份验证,使用 Java SDK 自动化您的 SP-API 调用。
  • Node.js 的 JavaScript SDK 教程:使用 Node.js 的 JavaScript SDK 教程自动化您的 SP-API 调用,通过亚马逊登录(LWA)令牌交换和身份验证,使用 Node.js 的 JavaScript SDK 自动化您的 SP-API 调用。
  • Python SDK 教程:使用 Python SDK 教程自动化您的 SP-API 调用,通过亚马逊登录(LWA)令牌交换和身份验证,使用 Python SDK 自动化您的 SP-API 调用。

四. 附录

  1. SP-API 视频课堂: https://www.youtube.com/playlist?list=PLyrrqKCT7jFKENJO9n_Y68-5o2GZLgLUU
  2. 注册亚马逊开发者平台: http://developercentral.amazon.com/
  3. SP-API 开发文档:https://developer-docs.amazon.com/sp-api/docs/welcome
  4. Last version:https://aws.amazon.com/cn/blogs/china/how-to-connect-with-amazon-e-commerce-selling-partner-api/

本篇作者

张司雨

亚马逊云科技解决方案架构师,负责亚马逊云科技云计算方案咨询和设计。同时致力于数据库和大数据方面的研究和推广,在电商行业各种场景解决方案有丰富的经验。

于涛

亚马逊云科技解决方案架构师,负责亚马逊云科技云计算方案咨询和设计。目前主要专注在现代化应用改造和机器学习领域的技术研究和实践。加入 AWS 之前曾服务于大型运营商及 IT 解决方案供应商,积累了丰富的跨境电商/快消行业项目经验。