教程:测试销售伙伴 API 端点
使用沙箱进行测试调用,以免影响生产数据。
销售合作伙伴 API (SP-API) 提供 沙盒环境 在这里,您可以在不影响生产数据的情况下测试 SP-API 端点。您可以直接调用 SP-API 沙箱端点,发出返回模拟响应的静态请求。通过使用沙盒,您可以练习拨打电话所需的步骤,了解请求和响应格式,练习验证应用程序凭证,并在不影响生产数据的情况下使用 API 端点。
教程
以下教程演示如何生成所需的访问令牌和调用 SP-API 沙盒端点。
先决条件
要完成本教程,您需要满足以下前提条件:
- 邮差账户和工作空间。有关如何使用 Postman 的更多信息,请参阅 使用 Postman 创建销售合作伙伴 API 模型。
- 如果您有自己的卖家合作伙伴账户,则可以 自我授权 您申请访问您的账户信息。
- 如果您没有自己的销售合作伙伴账户,则必须设置一个 第三方 OAuth 工作流程。通过此工作流程,第三方卖家和供应商可以授权您的应用程序访问他们的亚马逊销售合作伙伴数据。
在此过程中,您会收到一个刷新令牌,以后可以将其兑换成访问令牌。调用 SP-API 端点需要访问令牌。
使用 Postman 进行测试所需的变量
要使用 Postman 拨打电话,必须先设置证书。您的工作空间将需要以下全局变量:
client_id
: 您必须有 client_id 才能请求 LWA 访问令牌。client_id 出现在你身后 注册您的应用程序。要获取此值,请参阅 查看您的开发者信息。client_secret
: 您必须拥有 client_secret 才能请求 LWA 访问令牌。client_secret 出现在你身后 注册您的应用程序。要获取此值,请参阅 查看您的开发者信息。refresh_token
: LWA 刷新代币,在销售合作伙伴授权您的应用程序时获得此值。如果您有自己的销售合作伙伴账户,则可以自行授权您的申请以获取刷新令牌。有关更多信息,请参阅 授权销售合作伙伴 API 应用程序。base_url_sandbox
: 要获取每个地区的卖家合作伙伴 API 沙箱终端节点,请参阅 SP-API 沙箱端点。
分步工作流程
您可以使用以下步骤测试销售合作伙伴 API 终端节点:
第 1 步。生成 “用亚马逊账户登录” (LWA) 访问令牌
首先,您需要授权您的应用程序代表销售合作伙伴访问销售数据。当您生成 “用亚马逊账户登录” (LWA) 访问令牌时,它可用于多个 SP-API 调用,直到到期。
有关详细步骤,请参阅 使用 Postman 生成 LWA 访问令牌 要么 第 1 步。申请 “用亚马逊账户登录” 访问令牌。
响应返回一个 LWA 访问令牌 你可以用它来验证你的 SP-API 调用。对返回个人身份信息 (PII) 的所有操作(受限操作除外)的调用中必须包含 LWA 访问令牌。调用受限操作时,应包括限制访问令牌 (RDT),而不是 LWA 访问令牌
下图显示了访问令牌开始的示例 Atza|****************************
并在 3600 秒(1 小时)(LWA 访问令牌失效之前的秒数)后过期。

LWA 访问令牌请求和响应
第 2 步。调用 SP-API 沙盒端点
以下步骤介绍如何使用订单 API Swagger 模型练习调用 SP-API 沙盒端点。您可以使用此过程来测试 API 调用并检查模拟请求和响应。
- 导入 订单 API 在 Postman 工作空间中使用 Swagger 模型。
- 在代码中搜索一个
x-amzn-api-sandbox
对象,其中包含请求和响应示例的静态数组,这些示例用于静态沙箱调用出现请求和响应的示例。 - 使用订单 API Swagger 模型定义的相同值来设置请求参数。
- 检查您的请求是否包含相应的 Swagger 模型中定义的所有必需参数。以下示例显示了 订购 API v0 Swagger 模型,其中
Get Order
API 调用以成功的响应突出显示:

订单 API v0 Swagger 模型
- 做一个
GET
致电至/orders/v0/orders
。 - 设置
baseUrl
如同 销售合作伙伴 API 沙盒。 - 在下面 参数 选项卡,传递来自订单 API 模型的静态请求值。

“参数” 选项卡下的静态请求值
- 在下面 标题 选项卡,传递
access_token
收到了 第 1 步 对于每个 API 调用,使用密钥值对x-amz-access-token
:Atc|********************
。跳过此步骤 受限操作 和 无授权的操作。

标题选项卡下的访问令牌
- 对于 受限操作,传递从接收的受限数据令牌 (RDT)
createRestrictedDataToken
使用键值对进行操作x-amz-access-token
:Atz.sprdt|********************
。
重要说明
如果您调用受限操作部门访问客户的个人身份信息 (PII),例如买家信息或送货地址,请传递 受限数据令牌 (RDT) 在请求标头中而不是 LWA 访问令牌。你可以打电话给 创建受限数据令牌 在中操作 代币 API 去买一个 受限数据令牌 (RDT) 用于您指定的一个或多个受限资源。
以下示例响应返回 RDT 及其到期时间。RDT 代币可用于 Get Orders
检索 PII 数据的操作。

受限的数据令牌响应和到期时间
{ "restrictedDataToken": "Atz.sprdt|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR", "expiresIn": 3600 }
- 验证响应返回的有效负荷是否与 Swagger 模型相匹配。

使用访问令牌获取 Orders v0 API 静态响应
使用销售合作伙伴 API 动态沙箱提出有状态的请求
SP-API 还提供了 动态沙箱 在这里,您可以提出请求并接收各种可能具有状态且会对输入做出反应的响应。
您可以通过查看要调用的 API 的 Swagger 模型 JSON 来确定哪些操作支持动态沙盒调用。如果操作包含以下对象,则该操作支持对动态沙盒的调用:
"x-amzn-api-sandbox": { "dynamic": {} }
可以在操作或路径级别找到该对象。在路径级别时,路径中的所有操作都可以调用动态沙箱。
有关如何调用动态沙箱的更多详细信息,请参阅 如何对销售合作伙伴 API 进行动态沙箱调用。
结论
在本教程中,您学习了如何测试您的 SP-API 沙箱端点。在本演练中,您生成了 LWA 访问令牌,并探讨了对沙盒端点的 SP-API 调用的示例。
Updated 8 months ago