主页文档代码示例API 参考公告模型发行说明常见问题GitHub视频
开发者中心API 状态支持
文档
开发者中心API 状态支持

销售伙伴 API 沙箱

使用 SP-API 沙箱进行测试调用。

销售伙伴 API 提供了两个沙箱环境,可供您在不影响生产数据、不触发真实事件的前提下测试应用程序。销售伙伴 API 静态沙箱使用模式匹配来返回静态的模拟响应。销售伙伴 API 动态沙箱将请求路由到沙箱后端,后端可以根据请求参数返回真实的响应。

🚧

重要说明

沙箱用于测试功能,而非测试可扩展性。对沙箱端点的调用受以下限制的约束:速率 = 每秒 5 个请求;突增 = 15。有关限制的更多信息,有关限制的更多信息,请参阅销售伙伴 API 文档中的使用计划和速率限制

如果您使用 SP-API 沙箱环境来测试需要受限数据令牌 (RDT) 的调用,则必须从生产环境中获取 RDT 并将其传递给沙箱调用。有关需要 RDT 的受限操作的详细信息,请参阅此处

目录

销售伙伴 API 静态沙箱

对销售伙伴 API 进行沙箱调用与进行生产调用相同,不同之处在于您要将调用指向销售伙伴 API 沙箱端点。调用沙箱端点会返回所有销售伙伴 API 的静态模拟响应。您可以在 Swagger 模型 JSON 文件中为要调用的 API 引用这些模拟响应。有关详细信息,请参阅 如何对销售伙伴 API 进行静态沙盒调用

销售伙伴 API 静态沙箱的工作原理与许多模拟框架相同,因为它采用模式匹配,可在指定参数存在时返回指定的响应。开发者发送包含指定参数的请求时,会收到在以下任一对象中定义的响应:

静态沙箱 JSON 对象


"x-amzn-api-sandbox":
{
  "static": [
    {
      "request":
      {
        "parameters": 
        {
          …
        }
      },
      "response":
      {
        …
      }
    }
  ]
}

请注意,虽然这些对象将包含匹配模拟响应所需的参数,但它们不一定包含成功响应所需的所有参数。要获得成功的响应,请确保您的请求有效,并包含相应 Swagger 模型中定义的所有必需参数

如何对销售伙伴 API 进行静态沙箱调用

第 1 步:检查 JSON 文件中的请求参数

  1. 转到文档页面。

  2. 在左侧导航窗格中,找到要对其进行沙箱调用的 API 的文件夹。

  3. 为所需的 API 选择 Swagger 模型 JSON 文件。

    此时会显示 JSON 代码。

  4. 在代码中搜索包含 "static" 数组的 x-amzn-api-sandbox 对象。

静态沙箱 JSON 对象将包含请求和响应示例,用于对出现请求和响应示例的 API 操作进行静态沙箱调用。如果请求示例包含参数,请在以下步骤中使用它们。

第 2 步:对 API 进行静态沙箱调用

按照与执行生产调用时相同的方式对 API 进行静态沙箱调用,但有以下不同之处:

  1. 在调用中包括来自第 1 步:检查 JSON 文件中的请求参数的参数。如果 API 还需要其他参数,请务必在调用中包含这些必要参数。

  2. 将您的调用指向销售伙伴 API 沙箱端点之一。

    您应该会收到与第 1 步中静态沙箱 JSON 对象中包含的有效负载对象相匹配的响应。

销售伙伴 API 动态沙箱

对销售伙伴 API 进行沙箱调用与进行生产调用相同,唯一的不同是您要将调用指向销售伙伴 API 沙箱端点。动态沙箱调用被代理(即转发)到沙盒后端,沙箱后端根据请求参数返回相应的响应。由于您不局限于精确模式匹配,因此您可以发出请求和接收可能具有状态并对输入做出反应的响应。例如,您可能需要验证不同收货地址的运费。您可以执行的操作只能受限于该 API 部分提供的沙盒后端所支持的功能。

您可以通过查看要调用的 API 的 Swagger 模型 JSON 来确定哪些操作支持动态沙盒调用。如果操作包含以下对象,则该操作支持对动态沙盒的调用:

"x-amzn-api-sandbox": { "dynamic": {} }

可以在操作或路径级别找到该对象。在路径级别时,路径中的所有操作都可以调用动态沙箱。

如何对销售伙伴 API 进行动态沙箱调用

第 1 步:查看 JSON 文件中是否有支持动态沙箱调用的操作

  1. 转到文档页面。

  2. 在左侧导航窗格中,找到要对其进行沙箱调用的 API 的文件夹。

  3. 为所需的 API 选择 Swagger 模型 JSON 文件。

    此时会显示 JSON 代码。

  4. 在代码中搜索:

"x-amzn-api-sandbox": { "dynamic": {} }

如果操作包含路径或操作级别的对象,则支持动态沙箱。

第 2 步:对 API 进行动态沙箱调用

对 API 进行动态沙箱调用的方式与进行生产调用的方式相同,唯一的不同是将调用指向销售伙伴 API 沙盒端点之一。

仅限沙箱的操作

沙箱环境支持可选 API,这些 API 只能在沙箱环境中使用,并且只有在指向销售伙伴 API 沙盒端点之一时才能成功。您可以通过查看 API 部分的 Swagger 模型 JSON 来确定哪些操作是仅限沙箱的。仅限沙箱的操作在操作或路径级别包含 "x-amzn-api-sandbox-only": true。在路径级别时,路径中的所有操作都是仅限沙箱的。

仅限沙箱的操作是对生产 API 的补充,因此您可以创建使用生产 API 操作无法实现的测试工作流程。例如,您可能会遇到这样的用例:数据项通过用户界面实例化,而不是通过 API 实例化。仅出于测试目的,可以提供仅限沙盒的 API 来创建数据项以实现更完整的测试工作流程。

销售伙伴 API 沙箱端点

销售伙伴 API 具有针对北美、欧洲和远东销售区域的沙箱端点。

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

此页面对您有帮助吗?