文章目录

  • 关于本指南
    • 术语
  • 什么是销售合作伙伴 API?
    • 主要特点
    • 全球应用
  • 销售合作伙伴 API 端点
  • 市场 ID 值
  • 注册为开发者
    • 检查您注册为开发人员的请求的状态
  • 创建和配置 IAM 策略和实体
    • 步骤 1. 创建一个 AWS 账户
    • 步骤 2. 创建 IAM 用户
    • 步骤 3. 创建 IAM 策略
    • 步骤 4. 创建 IAM 角色
    • 步骤 5. 向您的 IAM 用户添加 AWS Security Token Service 策略
  • 注册您的应用程序
  • 查看您的应用程序信息和凭据
  • 授权销售合作伙伴 API 应用程序
    • 我的申请是如何获得授权的?
    • 构建 OAuth 授权 URI
    • 从 Amazon Marketplace Web Service 迁移授权
  • 亚马逊合作伙伴网络授权工作流程
    • 步骤 1. 销售合作伙伴从亚马逊合作伙伴网络发起授权
    • 步骤 2. 销售伙伴同意授权您的申请
    • 第 3 步。销售合作伙伴登录您的网站
    • 步骤 4. 亚马逊向您发送授权信息
    • 第 5 步。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌
    • 对于混合销售合作伙伴 API 应用程序
  • 网站授权工作流程
    • 步骤 0. 设置“授权”按钮
    • 步骤 1. 销售合作伙伴从您的网站发起授权
    • Step 2. 销售伙伴同意授权申请
    • 步骤 3. 亚马逊向您发送授权信息
    • 第 4 步。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌
  • 自我授权
  • 使用受限数据令牌授权
    • 我如何获得 RDT?
  • 使用 LWA 令牌交换和身份验证生成 Java SDK
  • 使用生成的 Java SDK 连接到销售合作伙伴 API
    • 步骤 1. 配置您的 AWS 凭证
    • 步骤 2. 配置您的 AWS 凭证提供程序
    • 步骤 3. 配置您的 LWA 凭证
    • 步骤 4. 创建卖家 API 的实例并调用操作
  • 生成 Java 客户端库
  • 连接到销售合作伙伴 API
    • 步骤 1. 使用 Amazon 访问令牌请求登录
    • 步骤 2. 构建销售合作伙伴 API URI
    • 步骤 3. 向 URI 添加标头
    • 步骤 4. 创建并签署您的请求
      • 凭证范围
      • 授权头
  • 响应格式
    • 成功响应
    • 错误响应
  • 免授权操作
  • 在所有请求中包含 User-Agent 标头
  • 混合销售合作伙伴 API 应用程序
    • 创建混合销售合作伙伴 API 应用程序
  • 销售合作伙伴 API 沙箱
      • 静态沙箱 JSON 对象
    • 如何对销售合作伙伴 API 进行沙箱调用
      • 步骤 1. 检查请求参数的 JSON 文件
      • 步骤 2. 对 API 进行沙箱调用
    • 销售合作伙伴 API 沙盒端点
  • 销售合作伙伴 API 与亚马逊商城网络服务有何不同?
  • 关于供应商组
    • 使用单个供应商组
    • 使用多个供应商组
  • 供应商中心 URL
  • 卖家中心 URL

关于本指南

本指南适用于希望为销售合作伙伴创建应用程序的开发人员。也就是说,适用于卖家、供应商或两者的应用程序。本指南中仅适用于卖家申请的部分被标记为仅适用于卖家申请。仅适用于供应商应用程序的部分被标记为仅适用于供应商应用程序。所有其他部分适用于所有销售合作伙伴申请。

术语

  • **销售伙伴。**销售伙伴可以是卖方或供应商。
  • **卖方。**卖家在亚马逊的零售网站上列出并销售自己的商品。商品售出后,要么 (1) 由卖家使用卖家管理的库存直接配送,要么 (2) 通过亚马逊物流 (FBA) 计划使用卖家的亚马逊物流库存配送。
  • **小贩。**供应商提供亚马逊在亚马逊零售网站上销售的库存。有两种主要类型的供应商:零售采购供应商和直接履行供应商。
  • **零售采购供应商。**零售采购供应商向亚马逊销售库存并将其运送到亚马逊的运营中心。然后,亚马逊将库存销售并运送给在亚马逊零售网站上进行购买的客户。零售采购供应商可以是品牌所有者或分销商。在某些情况下,他们管理他们提供给亚马逊的产品列表。
  • **直接履行供应商。**直接履行供应商代表亚马逊向客户运送订单。客户在亚马逊零售网站上从亚马逊购买商品后,直接履行供应商会将订单直接运送给客户。
  • **公开申请。**公开可用并由销售合作伙伴授权的应用程序。
  • **私人申请。**仅对您的组织可用且自我授权的应用程序。

什么是销售合作伙伴 API?

销售合作伙伴 API 是一个基于 REST 的 API,可帮助亚马逊销售合作伙伴以编程方式访问他们的订单、发货、付款等数据。使用销售合作伙伴 API 的应用程序可以提高销售效率、减少劳动力需求并缩短对客户的响应时间,帮助销售合作伙伴发展业务。

主要特点

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

  • 设置销售合作伙伴从亚马逊合作伙伴网络详细信息页面或您自己的网站启动的 OAuth 授权工作流程。
  • 生成可帮助您进行 LWA 令牌交换和身份验证的 SDK。
  • 通过调用沙盒环境来测试您的应用程序。

全球应用

您只需在您选择的区域和市场中注册一次开发人员,即可创建可由任何区域或市场的销售合作伙伴授权的销售合作伙伴 API 应用程序。您只需要一组开发人员凭证(您的 AWS 访问密钥 ID 和 AWS 秘密访问密钥)即可调用任何销售合作伙伴 API 终端节点,只要终端节点与授权您的应用程序的销售合作伙伴位于同一区域。

**仅适用于卖家申请。**如果您有混合销售合作伙伴 API 应用程序,则您对亚马逊商城网络服务 (Amazon MWS) 终端节点的调用与亚马逊 MWS 应用程序具有相同的限制。也就是说,当您调用亚马逊 MWS 终端节点时,您必须使用与该终端节点所在区域关联的亚马逊 MWS 访问密钥。

有关更多信息,请参阅销售合作伙伴 API 端点。

销售合作伙伴 API 端点

销售合作伙伴 API 终端节点与特定的 AWS 区域相关联。AWS 区域很重要,因为它是凭证范围的一部分,这是在调用销售合作伙伴 API 时计算签名所必需的。有关更多信息,请参阅凭据范围。

销售地区 端点 AWS 区域
北美(加拿大、美国、墨西哥和巴西市场) https://salespartnerapi-na.amazon.com us-east-1
欧洲(西班牙、英国、法国、荷兰、德国、意大利、瑞典、波兰、埃及、土耳其、阿拉伯联合酋长国和印度市场) https://salespartnerapi-eu.amazon.com eu-west-1
远东(新加坡、澳大利亚和日本市场) https://salespartnerapi-fe.amazon.com us-west-2

市场 ID 值

所述marketplaceId识别在请求中的市场。

北美

国家 市场编号 国家代码
加拿大 A2EUQ1WTGCTBG2 认证机构
美国 ATVPDKIKX0DER 我们
墨西哥 A1AM78C64UM0Y8 MX
巴西 A2Q3Y263D00KWC BR

欧洲

国家 市场编号 国家代码
西班牙 A1RKKUPIHCS9HS ES
英国 A1F83G8C2ARO7P 国标
法国 A13V1IB3VIYZZH 阻燃剂
荷兰 A1805IZSGTT6HS NL
德国 A1PA6795UKMFR9
意大利 APJ6JRA9NG5V4
瑞典 A2NODRKZP88ZB9 东南
波兰 A1C3SOZRARQ6R3 PL
埃及 ARBP9OOSHTCHU 例如
火鸡 A33AVAJ2PDY3EV TR
沙特阿拉伯 A17E79C6D8DWNP
阿拉伯联合酋长国 A2VIGQ35RCS4UG AE
印度 A21TJRUUN4KGV

远东

国家 市场编号 国家代码
新加坡 A19VAU5U5O7RUS SG
澳大利亚 A39IBJ37TRP1C6 非盟
日本 A1VC38T7YXB528 J.P

注册为开发者

您必须先注册为 Selling Partner API 开发人员,然后才能注册您的 Selling Partner API 应用程序。根据您创建的应用程序类型,您注册为开发人员的方式略有不同。为了注册为开发人员,应用程序分为三种类型:

  • **所有公共应用程序。**公开可用并由卖方或供应商授权的应用程序。
  • **私人卖家申请。**仅对您的组织可用且自我授权的卖家应用程序。
  • **私人供应商应用程序。**供应商的应用程序,仅供您的组织使用,并且是自我授权的。

有关更多信息,请参阅术语。

以下过程向您展示了如何注册为开发人员,具体取决于您要创建的应用程序类型。

注册为开发人员(适用于所有公共应用程序)

  1. 使用您要与开发者帐户关联的凭据登录卖家中心。

  2. 合作伙伴网络菜单中,单击开发应用程序

    将出现开发人员中心页面。

  3. 如果您尚未完成此销售帐户的开发者资料,请单击“继续阅读开发者资料”按钮。否则,请单击您的开发人员资料链接。

  4. 完成表格。在数据访问部分的下拉框中,选择我的组织构建并提供公开可用的应用程序

注册为开发者(私人卖家申请)

  1. 使用您要与开发者帐户关联的凭据登录卖家中心。

  2. 合作伙伴网络菜单中,单击开发应用程序

    将出现开发人员中心页面。

  3. 如果您尚未完成此销售帐户的开发者资料,请单击“继续阅读开发者资料”按钮。否则,请单击您的开发人员资料链接。

  4. 完成表格。在数据访问部分的下拉框中,选择我的组织在亚马逊上销售,我只想集成以管理我自己的业务

注册为开发人员(用于私人供应商应用程序)

  1. 前往您的市场的供应商中心。请参阅供应商中心 URL以获取按市场划分的 URL 列表。

  2. 使用 Vendor Central 帐户的凭据登录您希望应用程序访问的供应商组。

    有关供应商组的更多信息,请参阅关于供应商组。

  3. 集成菜单中,单击API 集成

    将出现开发人员中心页面。

  4. 如果您尚未完成此供应商帐户的开发人员配置文件,请单击“继续开发人员配置文件”按钮。否则,请单击您的开发人员资料链接。

  5. 完成表格。在数据访问部分的下拉框中,选择我的组织在亚马逊上销售,我只想集成以管理我自己的业务

有关更多信息,请参阅术语。

检查您注册为开发人员的请求的状态

在您提交注册为开发人员的请求后,亚马逊会评估所提供的信息并批准或拒绝您的请求。如果被拒绝,您可以说明拒绝的原因,然后重新提交您的开发者资料。您检查请求状态的方式因应用程序的类型而略有不同。为了检查您注册为开发人员的请求的状态,应用程序分为两种类型:

  • **所有公共应用程序和私人卖家应用程序。**它们是:(1) 公开可用且由卖方或供应商授权的应用程序,以及 (2) 仅对您的组织可用且自行授权的卖方应用程序。
  • **私人供应商应用程序。**仅对您的组织可用且自我授权的供应商应用程序。

有关更多信息,请参阅术语。

以下过程向您展示了如何根据您要创建的应用程序类型检查注册为开发人员的请求的状态。

检查您的请求状态(适用于所有公共应用程序和私人卖家应用程序)

  1. 使用您注册为开发人员时使用的凭据登录卖家中心。

  2. 合作伙伴网络菜单中,单击开发应用程序

    将出现开发人员中心页面。

  3. 按照您的开发人员注册正在审核横幅中的说明进行操作。横幅将更改以反映您的申请状态。

检查您的请求状态(针对私人供应商应用程序)

  1. 使用您在注册为开发人员时使用的凭据登录 Vendor Central 。

  2. 集成菜单中,单击API 集成

    将出现开发人员中心页面。

  3. 按照您的开发人员注册正在审核横幅中的说明进行操作。横幅将更改以反映您的申请状态。

在我们将您注册为开发人员后,您可以创建和配置 IAM 策略和实体。要查看您的开发人员信息,请参阅查看您的应用程序信息和凭据。

创建和配置 IAM 策略和实体

以下步骤解释了如何创建和配置 IAM 策略和实体,最终目标是创建您在注册应用程序时提供的 IAM 角色。在此工作流中,您将创建一个 IAM 用户(附加AWS STS策略),该用户承担一个有权调用销售合作伙伴 API 的 IAM 角色。

脚步

步骤 1. 创建一个 AWS 账户

步骤 2. 创建 IAM 用户

步骤 3. 创建 IAM 策略

步骤 4. 创建 IAM 角色

步骤 5. 向您的 IAM 用户添加 AWS Security Token Service 策略

步骤 1. 创建一个 AWS 账户

您需要一个 AWS 账户,因为销售合作伙伴 API 安全模型使用 AWS 身份验证凭证。如果您还不是 AWS 客户,您可以创建一个免费的 AWS 账户。有关更多信息,请参阅AWS 免费套餐。

步骤 2. 创建 IAM 用户

创建 IAM 用户以获取 AWS 密钥以验证对销售合作伙伴 API 的调用。我们建议专门为此创建一个新的 IAM 用户。使用 IAM 用户代入您在步骤 4. 创建 IAM 角色中创建的 IAM 角色。

创建 IAM 用户

  1. 如果您尚未登录,请登录 AWS 管理控制台并通过console.aws.amazon.com/iam打开 IAM 控制台。

  2. 在左侧导航窗格中,单击用户,然后单击添加用户按钮。

  3. 输入新用户的用户名。

  4. 选择编程访问,然后单击下一步:权限按钮。

  5. Set Permissions页面上,接受默认值并单击**Next: Tags。**您将在创建 IAM 角色时设置权限。

  6. 添加标签(可选)页面上,根据需要添加可选标签,然后单击下一步:查看按钮。

  7. Review页面上,查看您所做的选择。您可以忽略此用户没有权限警告。您将在创建 IAM 角色时设置权限。当您准备好继续时,单击创建用户按钮。

    将显示您的新 IAM 用户的 AWS 访问密钥 ID。

  8. 单击显示以查看 AWS 秘密访问密钥。要保存 AWS 访问密钥,请单击下载 .csv,然后将文件保存到安全位置。

    **重要提示:**这是您查看或下载您的 AWS 秘密访问密钥的唯一机会,您需要该密钥来验证您对销售合作伙伴 API 的调用。将 AWS 访问密钥 ID 和 AWS 秘密访问密钥保存在安全可靠的地方。**在此步骤之后,您将无法再次访问 AWS 访问密钥。**如果您丢失了 AWS 秘密访问密钥,您将需要使用自己的新密钥集创建一个新的 IAM 用户。

  9. 单击关闭

  10. 用户名列中,单击您的新 IAM 用户并记下用户 ARN。您将在步骤 4. 创建 IAM 角色中需要它。

有关更多信息,请参阅AWS 文档中的在您的 AWS 账户中创建 IAM 用户。

步骤 3. 创建 IAM 策略

此 IAM 策略定义了调用销售合作伙伴 API 的权限。您将其附加到您在步骤 4. 创建 IAM 角色中创建的 IAM 角色。

创建 IAM 策略

  1. 登录 AWS 管理控制台并在console.aws.amazon.com/iam 上打开 IAM 控制台。

  2. 在左侧的导航窗格中,单击策略

    如果这是您第一次选择Policies,则会出现Welcome to Managed Policies页面。单击开始

  3. 单击创建策略按钮。

  4. 单击JSON选项卡。

  5. 将以下代码粘贴到文本框中,替换现有代码,然后单击Review policy

{“版本”:“ 2012-10-17 ”,“声明”:[ { “效果”:“允许”,“动作”:“ execute-api:Invoke ”,“资源”:“ arn:aws:execute- api:*:*:* " } ]
}
  1. 在“查看策略”页面上,为您正在创建的策略键入名称和描述(可选)。我们建议将您的 IAM 策略命名为SellingPartnerAPI.

  2. 查看策略摘要以查看您的策略授予的权限,然后单击创建策略按钮。

    您的新 IAM 策略出现在列表中。

有关更多信息,请参阅AWS 文档中的创建 IAM 策略。

步骤 4. 创建 IAM 角色

创建一个 IAM 角色,该角色信任您在第 2 步中创建的 IAM 用户。创建一个 IAM 用户并有权调用销售合作伙伴 API。

创建 IAM 角色

  1. 如果您尚未登录,请登录 AWS 管理控制台并通过console.aws.amazon.com/iam打开 IAM 控制台。

  2. 在左侧导航窗格中,单击角色,然后单击创建角色按钮。

  3. 创建角色页面上,单击另一个 AWS 账户

  4. 账户 ID框中,输入您在步骤 2 中创建 IAM 用户的 AWS 账户的账户标识符。创建 IAM 用户,然后单击下一步:权限按钮。

  5. 附加权限策略页面上的策略名称下,选择您在步骤 3. 创建 IAM 策略中创建的策略,然后单击下一步:标签。

    提示:单击过滤策略,然后选择客户管理以缩小您的选择范围。

  6. 添加标签(可选)页面上,根据需要添加可选标签,然后单击下一步:查看按钮。

  7. 创建角色页面,在角色名称框中输入角色名称,在角色描述框中输入可选的角色描述,然后单击创建角色按钮。

  8. 角色名称 下,单击新角色的名称。

    出现“**摘要”**页面

  9. 保存您的角色 ARN。你会需要它:

    1. 当您注册您的应用程序时。
    2. 在步骤 5. 向您的 IAM 用户添加 AWS 安全令牌服务策略。

有关更多信息,请参阅AWS 文档中的创建向 IAM 用户委派权限的角色。

步骤 5. 向您的 IAM 用户添加 AWS Security Token Service 策略

向您的 IAM 用户添加AWS 安全令牌服务 (AWS STS)策略使您能够请求临时 AWS 访问密钥,您可以使用这些密钥对您对销售合作伙伴 API 的请求进行身份验证。这些凭证会在一段时间后过期,帮助您控制对 AWS 资源的访问。

  1. 如果您尚未登录,请登录 AWS 管理控制台并通过console.aws.amazon.com/iam打开 IAM 控制台。

  2. 在左侧的导航窗格中,单击用户,然后单击要向其添加 AWS STS 策略的用户。在此工作流中,选择您在Step 2. Create an IAM user 中创建的用户。您可以为其他用例选择不同的 IAM 用户。

  3. 权限选项卡上,单击添加内联策略

  4. 创建策略页面上,单击选择服务

  5. 单击STS服务。

    提示。在搜索框中键入STS以缩小选择范围。

  6. 单击写入旁边的箭头将其展开。

  7. 选择AssumeRole

  8. 单击Resources旁边的箭头将其展开,然后单击Add ARN

  9. 添加 ARN(s)对话框中,输入步骤 4 中的角色 ARN 。在指定角色的ARN框中创建 IAM 角色,单击添加,然后单击审核策略按钮。

  10. Review policy页面上,在Name框中输入您的策略的名称。查看您所做的选择。如果您准备好继续,请单击创建策略按钮。

注册您的应用程序

在注册您的应用程序之前,创建并配置您的 IAM 策略和实体。注册应用程序的方式因应用程序类型而略有不同。为了注册您的应用程序,应用程序分为两种类型:

  • **所有公共应用程序和私人卖家应用程序。**它们是:(1) 公开可用且由卖方或供应商授权的应用程序,以及 (2) 仅对您的组织可用且自行授权的卖方应用程序。
  • **私人供应商应用程序。**仅对您的组织可用且自我授权的供应商应用程序。

有关更多信息,请参阅术语。

以下过程向您展示了如何注册您的应用程序,具体取决于应用程序类型。

注册您的应用程序(适用于所有公共应用程序和私人卖家应用程序)

  1. 使用您用于注册为开发人员的凭据登录卖家中心。

  2. 合作伙伴网络菜单中,单击开发应用程序

    将出现开发人员中心页面。

  3. 单击添加新应用程序客户端按钮。

    应用程序的注册页面出现。

  4. 完成表格。

    笔记。如果您正在注册公共应用程序,则在您选择 API 类型后会出现一个卖家复选框和一个供应商复选框。根据您的申请所针对的销售合作伙伴类型,选择SellersVendors或两者。您可以申请的角色列表因您的选择而异。

注册您的应用程序(用于私人供应商应用程序)

  1. 使用您用于注册为开发人员的凭据登录到 Vendor Central 。

  2. 集成菜单中,单击API 集成

    将出现开发人员中心页面。

  3. 单击添加新应用程序客户端按钮。

    应用程序的注册页面出现。

  4. 完成表格。

**重要的。**注册您的应用程序时,您提供的 IAM ARN 必须适用于您在步骤 3. 创建 IAM 策略 中附加了 IAM 策略的 IAM 实体 。在此工作流中,该 IAM 实体是步骤 4. 创建 IAM 角色中的 IAM 角色。如果您使用 IAM 用户注册您的应用程序,请确保 IAM 策略附加到它。否则,您对销售合作伙伴 API 的调用将失败。我们建议使用 IAM 角色注册您的应用程序,如本工作流程所示,以帮助您更好地控制对 AWS 资源的访问。

查看您的应用程序信息和凭据

你以后注册您的应用程序可以查看有关您的应用程序,以及与亚马逊(LWA)凭据登录信息。您查看此信息的方式因应用程序类型而异。为了查看您的应用程序信息和凭据,应用程序分为两种类型:

  • **所有公共应用程序和私人卖家应用程序。**它们是:(1) 公开可用且由卖方或供应商授权的应用程序,以及 (2) 仅对您的组织可用且自行授权的卖方应用程序。
  • **私人供应商应用程序。**仅对您的组织可用且自我授权的供应商应用程序。

有关更多信息,请参阅术语。

以下过程向您展示了如何查看您的应用程序信息和凭据,具体取决于应用程序类型。

查看您的应用程序信息和凭据(对于私人卖家应用程序和任何类型的销售合作伙伴的公共应用程序)

  1. 使用您用于注册为开发人员的凭据登录卖家中心。

  2. 合作伙伴网络菜单中,单击开发应用程序

    开发中心有关应用程序(S),包括与之相关的IAM ARN页面显示的信息。

  3. 单击所需应用程序的LWA 凭据下的查看

    您的 LWA 客户端标识符和该应用程序的客户端机密会出现。您将需要这些凭据来请求 LWA 访问令牌。有关更多信息,请参阅步骤 1. 使用 Amazon 访问令牌请求登录。

查看您的应用程序信息和凭据(针对私有供应商应用程序)

  1. 使用您在注册为开发人员时使用的凭据登录 Vendor Central 。

  2. 集成菜单中,单击API 集成

    开发中心有关应用程序(S),包括与之相关的IAM ARN页面显示的信息。

  3. 单击所需应用程序的LWA 凭据下的查看

    您的 LWA 客户端标识符和该应用程序的客户端机密会出现。您将需要这些凭据来请求 LWA 访问令牌。有关更多信息,请参阅步骤 1. 使用 Amazon 访问令牌请求登录。

授权销售合作伙伴 API 应用程序

销售合作伙伴 API 的授权模型基于Login with Amazon,Amazon 的 OAuth 2.0 实现。在此模型中,销售合作伙伴通过与亚马逊和您的网站显示的页面交互来授权您的应用程序。销售合作伙伴采取的行动会触发您的网站或亚马逊的响应。销售伙伴的浏览器是在每个销售伙伴操作时在您的网站和亚马逊之间传递参数的用户代理。要实施 OAuth 授权,您必须将您的网站配置为 (1) 接受并处理亚马逊传递给它的参数,以及 (2) 重定向销售合作伙伴的浏览器并将参数传递给亚马逊。

我的申请是如何获得授权的?

您的应用程序的授权方式取决于应用程序类型。以下是按授权方式分组的应用程序类型:

  • **卖家的公开申请。**公开可用并由卖家授权的应用程序。可以使用以下方法授权这些应用程序:

    • 亚马逊合作伙伴网络授权工作流程。从亚马逊合作伙伴网络详细信息页面启动的 OAuth 授权工作流程。
    • 网站授权工作流程。从您自己的网站启动的 OAuth 授权工作流程。
  • **供应商的公共应用程序。**公开可用并由供应商授权的应用程序。可以使用以下方法授权这些应用程序:
    • 网站授权工作流程。从您自己的网站启动的 OAuth 授权工作流程。
  • **卖家或供应商的私人应用程序。**仅对您的组织可用的应用程序。这些可以是卖方或供应商应用程序。可以使用以下方法授权这些应用程序:
    • 自我授权。自我授权程序。

**笔记。**您可以在没有销售合作伙伴明确授权的情况下调用Grantless 操作。

有关更多信息,请参阅术语。

构建 OAuth 授权 URI

OAuth 授权 URI 是创建和测试销售合作伙伴 API 授权工作流的关键组件。OAuth 授权 URI 将浏览器重定向到亚马逊同意页面,在该页面上,销售合作伙伴可以同意您的应用程序代表他们调用销售合作伙伴 API。如果销售合作伙伴没有登录到卖家中心(对于卖家)或供应商中心(对于卖家),首先会出现一个登录页面。

如果销售合作伙伴从您自己的网站(网站授权工作流程)开始授权您的应用程序,您的网站使用 OAuth 授权 URI 将销售合作伙伴重定向到亚马逊同意页面。即使销售合作伙伴从亚马逊合作伙伴网络(亚马逊合作伙伴网络授权工作流程)开始授权您的应用程序,在亚马逊合作伙伴网络中创建实时列表之前,您仍然需要一个 OAuth 授权 URI 来测试处于草稿状态的授权工作流程。

为了构建 OAuth 授权 URI,应用程序分为两种类型:

  • **所有公共应用程序和私人卖家应用程序。**这可以是:(1) 公开可用且由卖方或供应商授权的应用程序,以及 (2) 仅对您的组织可用且自行授权的卖方应用程序。
  • **私人供应商应用程序。**仅对您的组织可用且自我授权的供应商应用程序。

有关更多信息,请参阅术语。

以下过程向您展示了如何根据应用程序类型构建 OAuth 授权 URI:

构建 OAuth 授权 URI(适用于所有公共应用程序和私人卖家应用程序)

  1. 获取您希望销售合作伙伴授权您的应用程序的市场的卖家中心 URL。请参阅卖家中心 URL以获取按市场划分的 URL 列表。例子:https://sellercentral.amazon.com

  2. 将卖家中心 URL 与/apps/authorize/consent?application_id={your application ID}.

    例子: https://sellercentral.amazon.com/apps/authorize/consent?application_id=amzn1.sellerapps.app.0bf296b5-36a6-4942-a13e-EXAMPLEfcd28

构建 OAuth 授权 URI(用于私有供应商应用程序)

  1. 获取您希望销售合作伙伴授权您的应用程序所在市场的供应商中心 URL。请参阅供应商中心 URL以获取按市场划分的 URL 列表。例子:https://vendorcentral.amazon.com

  2. 将供应商中心 URL 与/apps/authorize/consent?{your application ID}.

    例子: https://vendorcentral.amazon.com/apps/authorize/consent?application_id=amzn1.sellerapps.app.0bf296b5-36a6-4942-a13e-EXAMPLEfcd28

您需要为销售合作伙伴将在其中授权您的应用程序的市场构建 OAuth 授权 URI。例如,如果卖家拥有墨西哥的卖家中心账户,他们将需要墨西哥的 OAuth 授权 URI(例如:)https://sellercentral.amazon.com.mx/apps/authorize/consent?application_id=amzn1.sellerapps.app.0bf296b5-36a6-4942-a13e-EXAMPLEfcd28来启动您的应用程序的授权。授权是区域性的,因此当授权完成后,您的申请将可以访问北美地区任何商城中的卖家账户。相同的概念适用于使用 Vendor Central 的供应商。

如果您要创建 OAuth 授权 URI 来测试您的授权工作流,请添加 version=beta 参数。这表明授权工作流程适用于处于草稿状态的应用程序。例子:https://sellercentral-europe.amazon.com/apps/authorize/consent?application_id=amzn1.sellerapps.app.0bf296b5-36a6-4942-a13e-EXAMPLEfcd28&version=beta

有关创建和测试授权工作流程的信息,请参阅亚马逊合作伙伴网络授权工作流程和网站授权工作流程。

从 Amazon Marketplace Web Service 迁移授权

仅适用于卖家申请。

如果卖家已授权您代表他们调用亚马逊商城网络服务,您可以使用授权 API 将该授权迁移到混合销售合作伙伴 API 应用程序。这消除了再次向销售伙伴请求授权的需要。有关更多信息,请参阅授权 API 用例指南。

亚马逊合作伙伴网络授权工作流程

仅适用于卖家申请

亚马逊合作伙伴网络授权工作流程是销售合作伙伴从亚马逊合作伙伴网络详细信息页面启动的 OAuth 授权工作流程。当您在亚马逊合作伙伴网络上列出销售合作伙伴 API 应用程序时,销售合作伙伴可以通过单击详细信息页面上的立即授权按钮来授权您的应用程序。

测试您的授权工作流程

在亚马逊合作伙伴网络上列出您的应用程序之前,您应该在您的应用程序处于草稿状态时测试您的授权工作流程。您的测试工作流程不会与最终生产工作流程完全相同,但您将能够确保您的应用程序可以与亚马逊交换参数并接收授权信息。

设置测试授权工作流程

  1. 确保您的申请处于草稿状态。
  2. 为测试目的构建一个或多个 OAuth 授权 URI。version=beta在 OAuth URI 中包含参数以指示工作流用于授权处于草稿状态的应用程序。有关更多信息,请参阅构建 OAuth 授权 URI。
  3. 在第 3 步。销售合作伙伴登录您的网站时,请确保您的工作流程将该version=beta参数添加到亚马逊回调 URI 以指示该工作流程用于授权处于草稿状态的应用程序。

您现在已准备好与与您合作的值得信赖的销售合作伙伴测试您的授权工作流程。或者,您可以使用自己的销售帐户凭据自行测试工作流程。不是从第 1 步开始。销售合作伙伴从 Amazon Partner Network 启动授权,而是通过导航到您之前构建的 OAuth 授权 URI 来启动测试工作流程。

**注意:**如果您有多个区域 OAuth 授权 URI,请务必向销售合作伙伴提供与其经营所在区域相对应的 OAuth 授权 URI。

完成授权工作流程的测试后,您可以将其转换为生产工作流程。

将您的测试授权工作流转换为生产工作流

  1. 在亚马逊合作伙伴网络中列出您的应用程序。这会将您的应用程序从草稿状态更改为已发布状态。

  2. 更新您的工作流程,使其不再将version=beta参数添加到步骤 3 中的亚马逊回调 URI 。销售合作伙伴登录您的网站。

    现在,任何销售合作伙伴都可以从第 1 步开始授权您发布的应用程序。销售合作伙伴从亚马逊合作伙伴网络启动授权。

脚步

步骤 1. 销售合作伙伴从亚马逊合作伙伴网络发起授权

步骤 2. 销售伙伴同意授权您的申请

第 3 步。销售合作伙伴登录您的网站

步骤 4. 亚马逊向您发送授权信息

第 5 步。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌

步骤 1. 销售合作伙伴从亚马逊合作伙伴网络发起授权

  1. 销售合作伙伴登录卖家中心并进入亚马逊合作伙伴网络。
  2. 销售合作伙伴转到您的应用程序的详细信息页面,然后单击“**立即授权”**按钮。出现您的应用程序的同意页面。

步骤 2. 销售伙伴同意授权您的申请

  1. 销售合作伙伴查看同意页面,审查并接受您的应用程序请求的数据访问,然后单击“立即登录 [您的应用程序名称]”按钮继续。销售伙伴无需授权即可单击取消按钮退出。
  2. 亚马逊将您的登录 URI(您在应用程序注册时提供的)加载到浏览器中,并添加以下查询参数:
范围 描述
amazon_callback_uri 用于将浏览器重定向到 Amazon 的 URI。
亚马逊状态 Amazon 生成的状态值,用于防止跨站点请求伪造攻击。
sell_partner_id 授权您的应用程序的销售合作伙伴的标识符。

**注意:**如果这是一个测试工作流程(销售合作伙伴通过导航到您的 OAuth 授权 URI 开始),亚马逊会包含该version=beta参数。如果这是一个生产工作流程(销售合作伙伴从亚马逊合作伙伴网络开始),亚马逊不包括该参数。

例如:

https://d2yzyfnnpjylxu.cloudfront.net/index.html?amazon_callback_uri=https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57&amazon_state=amazonstateexample&selling_partner_id=A3FHEXAMPLEYWS

出现您网站的登录页面。

第 3 步。销售合作伙伴登录您的网站

  1. 销售合作伙伴登录您的网站。如果销售合作伙伴还没有帐户,他们将完成您的注册过程。
  2. 您的应用程序将 Amazon 回调 URI(由 Amazon 在上一步中传递)加载到浏览器中,并添加以下参数:
范围 描述
重定向uri 用于将浏览器重定向到您的应用程序的 URI。这必须是您在注册应用程序时指定的 OAuth 重定向 URI 。如果不包含redirect_uri参数,则默认值为您在注册应用程序时指定的第一个 OAuth 重定向 URI。可选的
亚马逊状态 amazon_state亚马逊在上一步传递的值。
状态 由您的应用程序生成的状态值。您的应用程序使用此值来维护此请求和响应之间的状态,帮助防范跨站点请求伪造攻击。**重要提示:**由于 OAuth 信息是通过 URI 查询参数传递的,我们强烈建议您执行以下操作:(1) 确保状态令牌是短暂的并且对您的用户来说是唯一的,以及 (2) 设置Referrer-Policy: no-referrer HTTP标头,这可以防止将敏感信息泄露到您的网站链接到的网站。有关跨站点请求伪造和计算状态参数的更多信息,请参阅Login with Amazon 文档中的跨站点请求伪造。

**注意:**如果您包含该version=beta参数,工作流将授权处于草稿状态的应用程序。如果您不包含该参数,则工作流程将授权在亚马逊合作伙伴网络上发布的应用程序。

例如:

https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57?redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/landing.html&amazon_state=amazonstateexample&state=-37131022&version=beta

或者

https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57?redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/landing.html&amazon_state=amazonstateexample&state=-37131022

步骤 4. 亚马逊向您发送授权信息

卖家中心会短暂显示一个页面,表明亚马逊正在授权您访问销售合作伙伴的数据。显示此页面时,会发生以下操作:

  1. 亚马逊将您的 OAuth 重定向 URI 加载到浏览器(您在注册应用程序时指定的第一个),并添加以下查询参数:
范围 描述
状态 您在上一步中传递的状态值。
sell_partner_id 授权您的应用程序的销售合作伙伴的标识符。
mws_auth_token 您在创建用于调用亚马逊商城网络服务的查询字符串时使用的MWSAuthToken值。mws_auth_token 参数仅在销售合作伙伴授权混合销售合作伙伴 API (SP-API) 应用程序时传递。请注意,如果您是授权混合 SP-API 应用程序的销售合作伙伴和应用程序所有者(意味着您自行授权自己的亚马逊 MWS 应用程序),您将不会收到 MWSAuthToken。有关更多信息,请参阅混合销售合作伙伴 API 应用程序。
spapi_oauth_code 用于交换 LWA 刷新令牌的 Login with Amazon (LWA) 授权代码。有关更多信息,请参阅步骤 5。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌。 注意: LWA 授权码会在五分钟后过期。请务必在 LWA 刷新令牌过期之前将其交换。

例如:

https://client-example.com?state=state-example&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&spapi_oauth_code=spapioauthcodeexample
  1. 您的应用程序验证状态值。
  2. 您的应用程序保存selling_partner_idmws_auth_token(如果通过)和spapi_oauth_code值。
  3. 显示您网站的登录页面。

第 5 步。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌

Login with Amazon SDK for JavaScript 可以帮助您将 LWA 授权代码交换为 LWA 刷新令牌。

注意: LWA 授权码会在五分钟后过期。请务必在 LWA 刷新令牌过期之前将其交换。

有关更多信息,请参阅 Login with Amazon 文档:

  • 添加使用适用于 JavaScript 的 Amazon SDK 的登录
  • 授权码授予

为 LWA 刷新令牌交换 LWA 授权代码

  1. 您的应用程序调用 Login with Amazon (LWA) 授权服务器 ( https://api.amazon.com/auth/o2/token) 以将 LWA 授权代码交换为 LWA 刷新令牌。调用必须包含以下查询参数:
范围 描述
授权类型 请求的访问权限类型。必须是authorization_code
代码 您在步骤 4 中收到的 LWA 授权代码。亚马逊向您发送授权信息。
重定向uri 应用程序的重定向 URI。
客户编号 LWA 凭证的一部分。要获取此值,请参阅查看您的应用程序信息和凭据。
客户秘密 LWA 凭证的一部分。要获取此值,请参阅查看您的应用程序信息和凭据。

例如:

POST /auth/o2/token HTTP/ll
主机: api.amazon.com
内容类型: application/x-www-form-urlencoded;charset=UTF-8
grant_type = authorization_code & code = SplxlOexamplebYS6WxSbIA & client_id = foodev & client_secret = Y76SDl2F
  1. LWA 授权服务器返回 LWA 刷新令牌。响应采用 JSON 格式,包括以下元素。
范围 描述
访问令牌 授权您的应用程序代表销售合作伙伴执行某些操作的令牌。请参阅连接到销售合作伙伴 API。
令牌类型 返回的令牌类型。应该是承载。
过期日期在 访问令牌失效前的秒数。
刷新令牌 可以交换新访问令牌的长期令牌。请参阅连接到销售合作伙伴 API。
HTTP/ll 200 OK
内容类型: application/json;
字符集 UTF -8
缓存 - 控制:无存储Pragma:无缓存
{ “ access_token ”:“ Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR ”,“ token_type ”:“ bearer ”,“ expires_in ”:3600,“ refresh_token ” |:“ Atzr IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX "
}
  1. 您的应用程序保存了refresh_token价值。
  2. 浏览器向销售合作伙伴显示一个页面,指示使用您的应用程序的后续步骤。

LWA 刷新令牌是一个长期存在的令牌,您可以用它来交换 LWA 访问令牌。通过此令牌交换获得的访问令牌必须包含在对所有销售合作伙伴 API 操作的调用中,受限操作和无授权操作除外,它们使用不同的授权模型。颁发访问令牌后,它的有效期为一小时。同一个访问令牌可用于多个 API 调用,直到它过期。

要使用生成的 SDK 将刷新令牌交换为访问令牌,请参阅使用生成的 Java SDK 连接到销售合作伙伴 API。要手动交换访问令牌的刷新令牌,请参阅连接到销售合作伙伴 API。

对于混合销售合作伙伴 API 应用程序

如果在步骤 4中返回了 MWS 身份验证令牌。亚马逊向您发送授权信息,您的应用程序也被授权代表销售合作伙伴调用亚马逊商城网络服务。有关更多信息,请参阅混合销售合作伙伴 API 应用程序。

网站授权工作流程

网站授权工作流程是从您自己的网站启动的 OAuth 授权工作流程。销售合作伙伴登录您的网站并单击您配置的“授权”按钮以启动授权。有关详细信息,请参阅步骤 0. 设置“授权”按钮。

**笔记。**以下步骤中的示例针对卖家应用程序,使用基于卖家中心 URL的 OAuth 授权 URI 。对于供应商应用程序,您可以使用供应商中心 URL替换卖方中心 URL。有关更多信息,请参阅构建 OAuth 授权 URI。

测试您的授权工作流程

在创建生产网站授权工作流之前,您应该在您的应用程序处于草稿状态时测试您的授权工作流。通过测试,您可以确保您的应用程序可以与亚马逊交换参数并接收授权信息。

设置测试授权工作流程

  1. 确保您的申请处于草稿状态。
  2. 在步骤 0. 设置“授权”按钮,当您构建一个或多个 OAuth 授权 URI 时,将version=beta参数添加到 OAuth URI(s) 以指示工作流用于授权处于草稿状态的应用程序。

您现在已准备好与与您合作的值得信赖的销售合作伙伴测试您的授权工作流程。或者,您可以使用自己的销售帐户凭据自行测试工作流程。从第 1 步开始。销售合作伙伴从您的网站发起授权。

完成授权工作流程的测试后,您可以将其转换为生产工作流程。

将您的测试授权工作流转换为生产工作流

  1. 在亚马逊合作伙伴网络中列出您的应用程序。这会将您的应用程序从草稿状态更改为已发布状态。

    **重要的。**您的应用程序必须处于已发布状态,Webstore 授权工作流才能工作。

  2. version=beta从您在步骤 0 中构建的 OAuth 授权 URI 中删除参数。设置“授权”按钮。

    现在,任何销售合作伙伴都可以从第 1 步开始授权您发布的应用程序。销售合作伙伴从您的网站启动授权。

脚步

步骤 0. 设置“授权”按钮

步骤 1. 销售合作伙伴从您的网站发起授权

Step 2. 销售伙伴同意授权申请

步骤 3. 亚马逊向您发送授权信息

第 4 步。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌

步骤 0. 设置“授权”按钮

在您的应用程序网站上设置一个“授权”按钮(或类似的东西),销售合作伙伴可以点击该按钮来启动您的应用程序的授权。当销售合作伙伴单击该按钮时,您的网站会将 OAuth 授权 URI 加载到浏览器中,并且销售合作伙伴将被重定向到亚马逊登录页面。登录后,会出现一个同意页面,销售合作伙伴可以在此同意您的应用程序代表他们调用销售合作伙伴 API。有关构建 OAuth 授权 URI 的信息,请参阅构建 OAuth 授权 URI。

**笔记。**如果您有多个区域的 OAuth 授权 URI,请务必设置您的“授权”按钮,以便销售合作伙伴被重定向到卖家中心(对于卖家)或供应商中心(对于供应商)登录页面以供他们自己使用地区。

设置“授权”按钮是一项一次性任务。

步骤 1. 销售合作伙伴从您的网站发起授权

  1. 销售合作伙伴登录您的网站。如果销售合作伙伴还没有帐户,他们将完成您的注册过程。
  2. 销售伙伴单击您在步骤 0 中设置的“授权”按钮。设置“授权”按钮。如果您有多个区域“授权”按钮,请确保将销售合作伙伴定向到与其销售区域对应的按钮。
  3. 您的应用程序将 OAuth 授权 URI 加载到浏览器中,并添加以下查询参数:
范围 描述
重定向uri 用于将浏览器重定向到您的应用程序的 URI。这必须是您在注册应用程序时指定的 OAuth 重定向 URI 。如果不包含redirect_uri参数,则默认值为您在注册应用程序时指定的第一个 OAuth 重定向 URI。可选的
状态 由您的应用程序生成的状态值。您的应用程序使用此值来维护此请求和响应之间的状态,帮助防范跨站点请求伪造攻击。**重要提示:**由于 OAuth 信息是通过 URL 查询参数传递的,我们强烈建议您执行以下操作:1) 确保状态令牌是短暂的并且对您的用户来说是唯一的,并且 2) 设置 Referrer-Policy: no- Referrer HTTP 标头,可防止将敏感信息泄露到您的网站链接到的网站。有关跨站点请求伪造和计算状态参数的更多信息,请参阅Login with Amazon 文档中的跨站点请求伪造。

**注意:**如果您包含该version=beta参数,工作流将授权处于草稿状态的应用程序。如果您不包含该参数,则工作流程将授权在亚马逊合作伙伴网络上发布的应用程序。

例如:

https://sellercentral.amazon.com/apps/authorize/consent?application_id=appidexample&state=stateexample&version=beta

或者

https://sellercentral.amazon.com/apps/authorize/consent?application_id=appidexample&state=stateexample

销售合作伙伴到达卖家中心(对于卖家)或供应商中心(对于供应商)的登录页面。

Step 2. 销售伙伴同意授权申请

  1. 销售合作伙伴登录到卖家中心或供应商中心,具体取决于您构建的 OAuth 授权 URI 的类型。出现同意页面。有关更多信息,请参阅构建 OAuth 授权 URI。
  2. 销售合作伙伴查看同意页面,查看您的应用程序请求的数据访问,然后单击“确认”按钮继续。销售伙伴无需授权即可单击取消按钮退出。

步骤 3. 亚马逊向您发送授权信息

亚马逊会短暂显示一个页面,表明我们授权您访问销售合作伙伴的数据。显示该页面时,会发生以下操作:

  1. 亚马逊将您的 OAuth 重定向 URI 加载到浏览器(您在注册应用程序时指定的第一个),并添加以下查询参数:
范围 描述
状态 步骤 1 中 的状态值。卖家从您的网站启动授权。
sell_partner_id 授权您的应用程序的销售合作伙伴的标识符。
mws_auth_token 您在创建用于调用亚马逊商城网络服务的查询字符串时使用的MWSAuthToken值。mws_auth_token 参数仅在销售合作伙伴授权混合销售合作伙伴 API (SP-API) 应用程序时传递。请注意,如果您是授权混合 SP-API 应用程序的销售合作伙伴和应用程序所有者(意味着您自行授权自己的亚马逊 MWS 应用程序),您将不会收到 MWSAuthToken。有关更多信息,请参阅混合销售合作伙伴 API 应用程序。仅适用于卖家申请。
spapi_oauth_code 用于交换 LWA 刷新令牌的 Login with Amazon (LWA) 授权代码。有关更多信息,请参阅步骤 4。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌。 注意: LWA 授权码会在五分钟后过期。请务必在 LWA 刷新令牌过期之前将其交换。

例如:

https://client-example.com?state=state-example&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&spapi_oauth_code=spapioauthcodeexample
  1. 您的应用程序验证状态值。
  2. 您的应用程序保存selling_partner_idmws_auth_token(如果通过)和spapi_oauth_code值。
  3. 显示您网站的登录页面。

第 4 步。您的应用程序将 LWA 授权代码交换为 LWA 刷新令牌

Login with Amazon SDK for JavaScript 可以帮助您将 LWA 授权代码交换为 LWA 刷新令牌。

注意: LWA 授权码会在五分钟后过期。请务必在 LWA 刷新令牌过期之前将其交换。

有关更多信息,请参阅 Login with Amazon 文档:

  • 添加使用适用于 JavaScript 的 Amazon SDK 的登录
  • 授权码授予

为 LWA 刷新令牌交换 LWA 授权代码

  1. 您的应用程序调用 Login with Amazon (LWA) 授权服务器 ( https://api.amazon.com/auth/o2/token) 以将 LWA 授权代码交换为 LWA 刷新令牌。调用必须包含以下查询参数:
范围 描述
授权类型 请求的访问权限类型。必须是authorization_code
代码 您在步骤 3 中 收到的 LWA 授权代码。亚马逊向您发送授权信息。
重定向uri 应用程序的重定向 URI。
客户编号 LWA 凭证的一部分。要获取此值,请参阅查看您的开发人员信息。
客户秘密 LWA 凭证的一部分。要获取此值,请参阅查看您的开发人员信息。

例如:

POST /auth/o2/token HTTP/ll
主机: api.amazon.com
内容类型: application/x-www-form-urlencoded;charset=UTF-8
grant_type = authorization_code & code = SplxlOexamplebYS6WxSbIA & client_id = foodev & client_secret = Y76SDl2F
  1. LWA 授权服务器返回 LWA 刷新令牌。响应采用 JSON 格式,包括以下元素。
范围 描述
访问令牌 授权您的应用程序代表销售合作伙伴执行某些操作的令牌。请参阅连接到销售合作伙伴 API。
令牌类型 返回的令牌类型。应该是承载。
过期日期在 访问令牌失效前的秒数。
刷新令牌 可以交换新访问令牌的长期令牌。请参阅连接到销售合作伙伴 API。
HTTP/ll 200 OK
内容类型: application/json;
字符集 UTF -8
缓存控制:无存储
Pragma:无缓存
{ “ access_token ”:“ Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR ”,“ token_type ”:“ bearer ”,“ expires_in ”:3600,“ refresh_token ” |:“ Atzr IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX "
}
  1. 您的应用程序保存 refresh_token 值。
  2. 浏览器向销售合作伙伴显示一个页面,指示使用您的应用程序的后续步骤。

LWA 刷新令牌是一个长期存在的令牌,您可以用它来交换 LWA 访问令牌。通过此令牌交换获得的访问令牌必须包含在对所有销售合作伙伴 API 操作的调用中,受限操作和无授权操作除外,它们使用不同的授权模型。颁发访问令牌后,它的有效期为一小时。同一个访问令牌可用于多个 API 调用,直到它过期。

要使用生成的 SDK 将刷新令牌交换为访问令牌,请参阅使用生成的 Java SDK 连接到销售合作伙伴 API。要手动交换访问令牌的刷新令牌,请参阅连接到销售合作伙伴 API。

对于混合销售合作伙伴 API 应用程序

如果在步骤 3中返回了 MWS 身份验证令牌。亚马逊向您发送了授权信息,您的应用程序也被授权代表销售合作伙伴调用亚马逊商城网络服务。有关更多信息,请参阅混合销售合作伙伴 API 应用程序。

自我授权

当您为自己的组织创建私人应用程序时,您可以自行授权它访问您的帐户信息。在执行此操作之前,您必须注册为开发人员并注册您的应用程序。您可以在草稿状态下自行授权您的申请;没有理由发布私人应用程序。

**笔记。**如果您要创建由销售合作伙伴授权的公共应用程序,请转至授权销售合作伙伴 API 应用程序。

自我授权程序因您是卖家申请还是供应商申请而异。

自我授权您的应用程序(卖方应用程序)

  1. 使用您用于注册为开发人员的凭据登录卖家中心。

  2. 合作伙伴网络菜单中,单击开发应用程序

    将出现开发人员中心页面。

  3. 对于您要授权的应用程序,单击编辑应用程序按钮旁边的箭头,然后单击授权

    授权的应用程序页面出现。

    笔记。如果您的销售合作伙伴帐户与其他地区的帐户合并,您将看到每个合并帐户的授权应用程序按钮。

  4. 单击您希望应用程序访问的每个销售合作伙伴帐户的授权应用程序按钮。的交易市场列指示其中一个帐户处于活动状态街市。

    Login with Amazon (LWA) 刷新令牌与您单击的每个授权应用程序按钮一起出现。

    笔记。如果您多次单击授权应用程序按钮,则每次都会生成一个新的刷新令牌。生成新的刷新令牌不会使以前的刷新令牌无效。

  5. 为您授权应用程序访问的每个销售合作伙伴帐户保存刷新令牌。稍后您可以将这些刷新令牌交换为访问令牌。当您调用销售合作伙伴 API 以访问销售合作伙伴帐户时,请包含与该帐户对应的访问令牌。

  6. 要授权您的应用程序访问不同的销售合作伙伴帐户,请单击页面底部的登录该帐户

    出现卖家中心登录页面。

  7. 使用您希望应用程序访问的销售合作伙伴帐户的凭据登录。

    授权的应用程序页面出现。

  8. 单击授权应用程序按钮以获取刷新令牌。

自我授权您的应用程序(供应商应用程序)

  1. 使用您用于注册为开发人员的凭据登录到 Vendor Central 。

  2. 集成菜单中,单击API 集成

    将出现开发人员中心页面。

  3. 对于您要授权的应用程序,单击编辑应用程序按钮旁边的箭头,然后单击授权

    授权的应用程序页面出现。

  4. 单击生成刷新令牌按钮。

    您的 Login with Amazon (LWA) 刷新令牌出现。如果再次单击生成刷新令牌按钮,则会生成新的刷新令牌。生成新的刷新令牌不会使以前的刷新令牌无效。

    笔记。 如果您的销售账户与其他地区的账户合并,您将收到每个地区的单独刷新令牌。您的应用程序现在有权访问您的销售帐户。

LWA 刷新令牌是一个长期存在的令牌,您可以用它来交换 LWA 访问令牌。通过此令牌交换获得的访问令牌必须包含在对所有销售合作伙伴 API 操作的调用中,受限操作和无授权操作除外,它们使用不同的授权模型。颁发访问令牌后,它的有效期为一小时。同一个访问令牌可用于多个 API 调用,直到它过期。

要使用生成的 SDK 将刷新令牌交换为访问令牌,请参阅使用生成的 Java SDK 连接到销售合作伙伴 API。要手动交换访问令牌的刷新令牌,请参阅连接到销售合作伙伴 API。

使用受限数据令牌授权

返回受限数据(例如个人身份信息或 PII)的操作被视为受限操作,需要以受限数据令牌 (RDT) 的形式进行特殊授权。RDT 提供授权以获取执行运输、税务发票或税务汇款服务等功能所需的 PII。在调用受限操作时,您可以通过在x-amz-access-token标头中传递 RDT 来授权调用受限操作。这与在标头中传递 LWA 访问令牌形成对比,就像您在其他 SP-API 操作中所做的那样。有关更多信息,请参阅销售合作伙伴 API 开发人员指南中的步骤 3. 向 URI 添加标头。

我如何获得 RDT?

除非您有受托人应用程序(请参阅令牌用例指南中的术语),否则您可以通过调用令牌 API的createRestrictedDataToken操作来获取 RDT 。如果您有一个受托人应用程序,您将从与您的应用程序集成的委托人应用程序中获得一个 RDT。有关使用 RDT 授权调用的更多信息,包括委托授权,请参阅令牌 API 用例指南。

使用 LWA 令牌交换和身份验证生成 Java SDK

**C# 开发人员注意事项。**我们还提供了一个库,用于生成带有 LWA 令牌交换和身份验证的 C# SDK。有关更多信息,请参阅https://github.com/amzn/ sell-partner-api-models/tree/main/clients/ sellpartner-api-aa-csharp 中的 README.md 。

这些说明向您展示了如何在运行 Microsoft Windows 的计算机上使用Swagger 代码生成器为卖家 API 生成 Java SDK 。对于 macOS 或 Linux 等其他操作系统的用户,该过程是相同的,只是替换了 Windows 特定的语义(例如,C:\)。虽然这些说明是针对卖家 API 的,但您可以修改说明以生成用于任何其他销售合作伙伴 API 的 SDK。有关每个销售合作伙伴 API 部分的 Swagger 模型,请参阅https://github.com/amzn/ sell-partner-api-models。

使用此开发工具包,您可以使用已为您设置的以下代码向销售合作伙伴 API 发出请求:使用亚马逊令牌交换登录(将刷新令牌交换为访问令牌)和身份验证。

使用 LWA 令牌交换和身份验证生成 Java SDK

  1. 安装Java 8 或更新版本,Apache Maven 3.6。或更高版本,以及GNU Wget并使它们在您的$PATH.

  2. 转到https://github.com/amzn/ sell- partner- api- models。

  3. 克隆存储库以在您的计算机上制作本地副本(如果您还没有这样做的话)。

  4. 打开命令提示符窗口并转到要下载 Swagger 代码生成器的目录。

  5. 下载最新版本的 Swagger 代码生成器。

    例如:

wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar

swagger-codegen-cli.jar下载到当前目录。

**注意:**您也可以通过将浏览器指向此处从 maven.org 下载:https

亚马逊 新版卖家中心 销售伙伴API(amazon selling partner API)开发人员指南相关推荐

  1. 亚马逊 新版卖家中心 销售伙伴API SP-API SELLING-PARTNER-API Python SDK 客户端 接口调用

    目录 简介 客户端的配置使用 调用例子 获取订单列表 获取订单信息 简介 做跨境外贸的朋友应该都比较熟悉亚马逊了,我就不多介绍了. 亚马逊的卖家平台最近开通了新的API,即SP-API.最近由于一些业 ...

  2. 查看详细的退货信息!亚马逊在卖家中心推出新页面!

    亚马逊欧洲站发布公告称亚马逊在卖家中心推出了一个新页面,为卖家提供详细的退货信息,以下是公告内容: 我们在卖家中心推出了一个新页面,为卖家提供详细的退货信息. 现在卖家可以查看每个退货订单,其中包含有 ...

  3. 亚马逊云科技赋能合作伙伴 云销售逆流上行

    在不确定的经济环境中,美国拉斯维加斯迎来全球云计算"世界杯":亚马逊云科技re:Invent 2022大会.现场5万多,线上30多万全球云计算行业专家.企业用户和合作伙伴聚集一堂, ...

  4. 英国脱欧,亚马逊FBA卖家需要重视这些事

    品牌注意 随着英国脱欧对商标法的影响,欧盟商标将不再对英国有效,品牌所有者应在英国和欧盟IP办事处拥有单独的商标,以在整个英国和欧盟的Amazon Brand Registry中受到保护. 由于UK ...

  5. vc messagebox怎么选择选项_亚马逊VC卖家被迫转向第三方卖家,下一步要怎么做?...

    作为亚马逊供应商,本周一你是否有照常收到亚马逊采购订单? 据此前报道,亚马逊在最近突然停止了多家VC卖家订单.如果你也没收到订单,相信你现在内心肯定有非常多的疑惑:这到底是怎么回事?自己该怎么做?是不 ...

  6. 千牛怎么注销卖家店铺_新店铺怎么拥有亚马逊购物车?亚马逊小卖家如何尽快获得黄金购物车?...

    我做跨境电商也有六年的时间了,在电商这个行业也有自己的一些经验.经验也许没有其他大卖家丰富,但会将我知道的都进行分享.如果有不懂得亚马逊问题可以+我(V:772024802).我这里给大家安排一堂直播 ...

  7. 亚马逊新手卖家如何快速出单必掌握的运营技巧分享?

    对于一个新开店铺(或者说账号)来说,前90天是卖家运营的黄金时段,亚马逊会给予一定的流程扶持.因此,这段时间也被称之为"亚马逊黄金90天".本周亚马逊运营知识时间,船长BI将围绕& ...

  8. 亚马逊FBA卖家最赚钱的产品是什么?

    亚马逊是世界上最赚钱的线上平台之一,第三方条形码供应商Bar Codes Talk通过数据发现,亚马逊每小时平均收入超过过1,700万美元,占美国电子商务市场份额的50%,占全球电子商务市场的13%, ...

  9. 全球与中国亚马逊网络服务渠道合作伙伴市场现状及未来发展趋势

    本文研究全球及中国市场亚马逊网络服务渠道合作伙伴现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美.欧洲.中国.日本.东南亚和印度等地区的现状及未来发展趋势. 根据QYR(恒州博智)的 ...

最新文章

  1. Expression Tree 上手指南 (二)
  2. 独家 | 手把手教你组织数据科学项目!(附代码)
  3. 【机器学习PAI实践十二】机器学习实现男女声音识别分类(含语音特征提取数据和代码)
  4. 2017蓝桥杯省赛---java---B---3(承压计算)
  5. 面向.Net程序员的dump分析
  6. icon 做成html形式,一段生成iconfont预览html的代码
  7. 高性能数据库集群:分库分表
  8. 接口返回xml格式的数据_接口测试之Jmeter串联xml数据格式请求
  9. RunLoop 原理和核心机制
  10. EditText属性及一些常用用法
  11. 我用python做期货_使用Python计算股票期货,量化程序化交易
  12. Flutter 实现吹气球动画
  13. 前端入门篇(四十)JS基础7浏览器原理和BOM
  14. 建立数学模型论文写作
  15. 2017报计算机热不热,【2017年10月份热吗】2017年10月份热不热_亲亲宝贝网
  16. 网络工程师考试知识点[必考知识点]--必看
  17. 微信小程序 环形进度条_微信小程序实现圆形进度条动画
  18. 罗马java_罗马数字转换阿拉伯数字(Java版,考虑较为全面)
  19. windows 生成数字证书
  20. 爱心代码李峋同款爱心 python html

热门文章

  1. TYD_初识python数据可视化库-Matplotlib
  2. 数据库理论 01 关系模型介绍——基于《数据库系统概念》第七版
  3. 各种进制转换[1](一篇就够)
  4. javascript面向对象基本概念
  5. 市场上最适合讲课的直播平台
  6. 阿良老师 Docker学习_upperDir与数据持久化
  7. 人工智能领域英文简称
  8. 1年java工作经验面试前的准备
  9. 郭炜老师魔兽三备战思路及代码
  10. 亚马逊店铺服装类目如何审核?亚马逊的服装类目很难出单怎么办?