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

连接到销售伙伴 API

如何连接到 SP-API。

您必须首先注册您的应用程序,并且必须获得销售伙伴授权,之后才能将该应用程序连接到销售伙伴 API。请参阅注册您的应用程序授权销售伙伴 API 应用程序

这些说明向您展示了调用销售伙伴 API 的步骤。有关构建销售伙伴 API URI 并向其添加标头的帮助,请参阅生成 Java 客户端库。有关更完整的解决方案(包括用于交换 LWA 令牌的代码),请参阅生成带有 LWA 令牌交换的 Java SDK

步骤 1 . 请求“使用亚马逊账户登录”访问令牌

“使用亚马逊账户登录”(LWA) 访问令牌可授权您的应用程序代表销售伙伴执行某些操作。LWA 访问令牌会在发出后一小时过期。

Note about restricted operations. An LWA access token must be included in calls to all operations except restricted operations, which return Personally Identifiable Information (PII). When calling restricted operations, instead of including an LWA access token, you include a Restricted Data Token (RDT). For information about getting RDTs and calling restricted operations, refer to the Tokens API Use Case Guide.

要请求 LWA 访问令牌,请使用以下参数向 LWA 身份验证服务器 (https://api.amazon.com/auth/o2/token) 发送安全的 HTTP POST 请求:

名称描述必填项
grant_type

请求的访问授权类型。值:

  • refresh_token. Use this for calling operations that require authorization from a selling partner. All operations that are not grantless operations require authorization from a selling partner. When specifying this value, include the refresh_token parameter.

  • client_credentials。这用于调用免授权操作。指定此值时,请包括 scope 参数。

有帮助
refresh_tokenLWA 刷新令牌。可在销售伙伴授权您的应用程序时获得此值。有关详细信息,请参阅授权销售伙伴 API 应用程序否。包括用于调用需要销售伙伴授权的操作的 refresh_token。如果包含 refresh_token,请不要包含 scope。
scope

LWA 授权范围。值:

  • sellingpartnerapi::notifications。用于通知 API。

  • sellingpartnerapi::client_credential:rotation。用于应用程序管理 API。

否。包括 scope 以调用免授权操作。如果包括 scope,请不要包括 refresh_token。
client_id注册应用程序时获取此值。请参阅查看您的开发者信息有帮助
client_secret注册应用程序时获取此值。请参阅查看您的开发者信息有帮助

调用需要销售伙伴授权的操作示例:

POST /auth/o2/token HTTP/l.l Host: api.amazon.com Content-Type: application/x-www-form-urlencoded;charset=UTF-8 grant_type=refresh_token &refresh_token=Aztr|... &client_id=foodev &client_secret=Y76SDl2F

调用免授予操作的示例:

POST /auth/o2/token HTTP/l.l Host: api.amazon.com Content-Type: application/x-www-form-urlencoded;charset=UTF-8 grant_type=client_credentials &scope=sellingpartnerapi::notifications &client_id=foodev &client_secret=Y76SDl2F

提示:要避免在调用 LWA 授权服务器时出现不可信的证书颁发机构 (CA) 错误,请务必更新您的信任存储,以便您的应用程序信任 LWA 授权服务器。

响应

成功的响应包括以下值。

名称描述
access_tokenLWA 访问令牌。最大大小:2048 字节。
token_type返回的令牌类型。必须是 bearer
expires_inLWA 访问令牌失效之前的秒数。
refresh_token您在请求中提交的 LWA 访问令牌。最大大小:2048 字节。
HTTP/l.l 200 OK Content-Type: application/json;charset UTF-8 Cache-Control: no-store Pragma:no-cache { "access_token":"Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE", "token_type":"bearer", "expires_in":3600, "refresh_token":"Atzr|IQEBLzAtAhRPpMJxdwVz2Nn6f2y-tpJX2DeXEXAMPLE" }

有关更多信息,请访问《使用亚马逊账户登录》文档中的授权代码授权页面。

步骤 2. 构建销售伙伴 API URI

以下是销售伙伴 API URI 的组件。

名称描述示例
HTTP 方法HTTP 方法。GET
端点销售伙伴 API 端点https://sellingpartnerapi-na.amazon.com
Path销售伙伴 API 资源部分/版本号。/fba/inbound/v0/shipments/{shipmentId}/preorder/confirm
查询字符串查询参数。?marketplace=ATVPDKIKX0DER
路径参数路径参数。shipmentId1

例如:

PUT https://sellingpartnerapi-na.amazon.com/fba/inbound/v0/shipments/shipmentId1/preorder/confirm?MarketplaceId=ATVPDKIKX0DER&NeedByDate=2020-10-10

步骤 3. 将标头添加到 URI

将标头添加到您在第 2 步:构建销售伙伴 API URI 中构建的 URI。以下是您在销售伙伴 API 的请求中包含的 HTTP 标头:

请求标头

名称描述
host商城端点。请参阅销售伙伴 API 端点
x-amz-access-tokenLWA 访问令牌。请参阅第 1 步:请求“使用亚马逊账户登录”访问令牌
关于受限操作的说明。如果您要调用受限操作,请在此处传入受限数据令牌 (RDT),而不是 LWA 访问令牌。有关获取 RDT 和调用受限操作的信息,请参阅令牌 API 用例指南中的令牌 API 用例指南
x-amz-date请求的日期和时间。
user-agent您的应用程序名称和版本号、平台和编程语言。这些内容可帮助亚马逊诊断和修复您可能遇到的服务问题。请参阅在所有请求中包含 User-Agent 标头

以下是销售伙伴 API 的请求示例,其中包含 URI 和标头,但没有签名信息:

PUT /fba/inbound/v0/shipments/shipmentId1/preorder/confirm?MarketplaceId=ATVPDKIKX0DER&NeedByDate=2020-10-10 HTTP/1.1 host: sellingpartnerapi-na.amazon.com user-agent: My Selling Tool/2.0 (Language=Java/1.8.0.221; Platform=Windows/10) x-amz-access-token=Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE x-amz-date: 20190430T123600Z

此页面对您有帮助吗?