手把手教你申请亚马逊 SPAPI:详细步骤、常见问题解答,助你轻松接入亚马逊 API

supoman
发布于 2024-01-22 / 860 阅读
1
0

手把手教你申请亚马逊 SPAPI:详细步骤、常见问题解答,助你轻松接入亚马逊 API

更新说明:更新AWS注册流程,与2021年界面流程已经变更,2023年注册流程已更新

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

如何对接亚马逊电商Selling Partner API | 亚马逊AWS官方博客 (amazon.com)aws.amazon.com/cn/blogs/china/how-to-connect-with-amazon-e-commerce-selling-partner-api/

Amazon Selling Partner API (SP API)官方文档

Selling Partner API (amazon.com)developer-docs.amazon.com/sp-api

作为全球最大的电商平台之一,Amazon提供了丰富的API工具,使得卖家可以更加高效地管理自己的店铺和订单。其中Amazon SPAPI (Selling Partner API)是一款非常实用的API工具,它为商家提供了丰富的店铺管理和订单处理功能。

本文将介绍Amazon SPAPI的申请和授权流程,并详细介绍如何使用SPAPI进行店铺管理和订单处理。同时,我们还将探讨在使用SPAPI时需要注意的问题,如API文档、数据安全和合理使用API等方面。

Amazon SPAPI 申请和授权流程

超过四分之三的亚马逊卖家使用第三方软件来处理销售相关事宜,包括商品信息,自动定价,配送和分析。亚马逊卖家平台合作伙伴网络是一个提供亚马逊业务管理应用的一站式商店, 服务提供商在其上发布的应用在经过亚马逊批准后可以利用SPAPI与卖家相关数据无缝集成,为亚马逊卖家提供自动化,管理和发展业务。一个完整的 Amazon SPCN (Seller Central Partner Network)的应用发布流程如下。

【AWS流程已简化,直接跳转到第三节】

亚马逊 SPAPI 授权流程

【简化后只需要按这个流程走即可】

亚马逊 SPAPI 授权流程



Amazon SP API注册

一,注册申请 AWS账号(2023可忽略)

需要用到订阅事件的才会用到AWS资源:

申请开发者账号链接:https://developer.amazon.com/zh/ 注册免费版即可(如果不小心选择了套餐版本,可以申请撤销退款)

1.需要准备资料:邮箱、电话、一张银行卡(借记卡或信用卡)


aws 注册

亚马逊 SPAPI 授权流程



2.填写银行信息


aws 注册


3.手机验证


aws 注册



二,在AWS账户中创建IAM用户(2023可忽略)


1.注册好后登录AWS控制台

搜IAM 进去 https://console.aws.amazon.com/iam/home?region=us-east-2#/home 或者点击 https://console.aws.amazon.com/


aws console


附官方文档地址:Creating and configuring IAM policies and entities

2.创建IAM的用户,角色,策略

官方地址:https://console.aws.amazon.com/iam/home?#/users

注意这里很重要,说一句,用户是用户,角色是角色,这俩其实是2种不同的接入方式,只不过都要和策略相关联罢了,如果你采用角色的方式去实现数据拉取的话,那么在后续平台的其他配置或者是代码中的参数都必须是用role,而不是user,切记,混用的话就会出现403 forbidden,具体的可以参考下面这篇文章(Amazon Selling Partner API 开发笔记)

创建IAM用户(User)

填写用户名,和选择编程使用

aws console

策略是给用户开通权限,不同的策略代表了不同的权限,根据实际自行选择,这里为了简单选择直接使用现有策略,选择管理员访问AdministratorAccess

aws console

直接选择下一步

aws console

创建完用户记得创建访问密钥(accessKeyId and secretKey)

aws console

aws console

生成AWS访问密钥编码:accessKeyId以及AWS访问密钥:secretKey),注意这2个值必须在创建好了之后立马记录下来,后面要用到。

3.创建IAM策略,按下图步骤进行

aws console

点击创建策略选中Json编辑,下一步标签 调过 审核

aws console

aws console

4.创建IAM角色(role)

看官方的文档,其实这里写的也是很详细的,按步骤一步步走下去创建就好。

aws console IAM Role

这里我用自定义信任策略

aws console IAM Role

5.向 IAM 用户添加 AWS 安全令牌服务策略

aws console IAM Role

aws console IAM Role

三,申请开发者资料

Amazon SPAPI 开发者资料

Amazon SPAPI 开发者资料

Amazon SPAPI 开发者资料 PII pii

下面的答案填完之后提交,过几天就有结果了,接下来注册APP。

四,注册应用程序并授权

1.自行授权

登录Amazon 卖家账号后台

官方地址:Amazon Sign-In

点击“应用商店”-->"开发应用程序"

SPAPI APP

点击“添加新的APP客户端”,如果这里是置灰的等待开发者审核通过或申请开通。

SPAPI APP

这里默认两个地址填的都是百度的,授权的时候自行体会。

保存退出后回到应用中心可以看到状态是草稿状态

在开发者中心给应用程序授权:

SPAPI APP

点击授权,点击生成刷新令牌,注意这里就是后面代码里面要用到的refreshToken,很重要

多次授权生成的多个令牌,每个都是有效的

SPAPI APP

在开发者中心,点击LWA凭证查看:

SPAPI APP

注意:这里有2个值很重要也是后面编程要用到的,即客户端编码:ClientId,客户端秘钥:ClientSecret。

到这里,平台配置基本上是OK的了,总结下后续编码需要从平台拿的几个值如下:

中文解释

英文名称

英文说明

来源

(已简略)AWS访问密钥

secretKey

AWS secret access key

创建新的IAM用户之后

(已简略)IAM职权ARN

roleArn

ARN of the IAM role

创建IAM role的时候生成

LWA客户端编码

clientId

LWA client identifier

在注册应用程序时生成

LWA客户端秘钥

clientSecret

LWA client secret

在注册应用程序时生成

LWA客户端令牌

refreshToken

LWA refresh token

在给应用程序授权时生成

编码还需要用到的几个值,在后面会讲到,一般都是根据region来决定的,不是平台生成的。

JAVA SDK 参考:https://github.com/penghaiping/amazon-sp-api

商城应用商店工作流程

上面自行授权是针对店铺本身的,如果要给第三方店铺授权就需要使用此种方式


SPAPI APP


区别在于 登录URI和重定向URI该怎么填写,这两个一定要自定义填写

请移步到官方文档

https://github.com/amzn/selling-partner-api-docs/blob/main/guides/zh-CN/developer-guide/SellingPartnerApiDeveloperGuide(%E4%B8%AD%E6%96%87).md#%E5%95%86%E5%9F%8E%E5%BA%94%E7%94%A8%E5%95%86%E5%BA%97%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B


这里我先给大家演示下我已经发布的一个废弃app,因为之前填写IAM的时候填错了,写的是user,所以大家一定要仔细看 要填写role的信息,在商城应用里搜SPAPI发布的应用,我以Jungle Scout示例:

https://sellercentral.amazon.com/selling-partner-appstore/dp/amzn1.sellerapps.app.fee0365a-b8be-491e-b39f-f987c7875f2f

进去点击右边的授权按钮

SPAPI APP

SPAPI APP

这个页面的地址是

https://sellercentral.amazon.com/apps/authorize/consent?application_id=amzn1.sellerapps.app.8b4656fd-7e00-482c-82a8-7bca5539646c

application_id就是你创建的应用ID。如果你没有发布,可以在连接后面加上 &version=beta这个参数,你看文档可能看不懂这个参数说的是啥!这个参数就是你的APP 没有发布也可以给第三方店铺授权。在跳转之后授权页面那里默认是没有这个参数的,也是需要加上这个参数。请往下看...

确认授权的时候就会跳转,样例:

SPAPI APP


(我只是把连接copy出来放在postman方面看这个参数哈,授权一定在Amazon卖家后台就做的哈)

身份验证URI


SPAPI APP


第一个身份验证URI 填你的站点地址(这里我弄了个后台系统去做,登录后就是首页的URI)

上代码,这个是我的页面地址,我在进来的时候就判断是不是Amazon回调的,这个页面的URL就是你要填写的 身份验证URI地址


SPAPI APP 授权



这个参数是Amazon回调你地址的时候传过来的,然后你要再回调到这个amazon_callback_uri这个地址,在你回调的时候需要重新拼接参数给Amazon.


SPAPI APP 授权


然后就是回调了

https://sellercentral.amazon.com/apps/authorize/confirm/amzn1.sp.solution.3c348303-d8********?redirect_uri=https://www.***.com/amz/redirect&amazon_state=MTYxODg4MzE4Nzg3MDsS77-977-977-977-9Dirvv70oe--_vQnvv71PD3rvv73vv71hclnvv70B77-977-9N--_vUZE77-9G--_vToAU--_vTDvv70Pb--_vc--d--_vWjvv71v77-9Z--_ve-_vXHvv71b77-9emYe77-977-977-977-9&state=q28q1wqg7b&version=beta


SPAPI APP 授权



这个回调页面就是去请求amazon 授权的地址,如果成功Amazon会回调你填写的 授权验证URI,同时把这些参数返回给你


SPAPI APP 授权


上代码


SPAPI APP 授权


这个时候已经拿到 spapi_oauth_code


SPAPI APP 授权



SPAPI APP 授权


这样整个获取授权流程就完成了。

在完成SPAPI的申请和授权后,就可以开始使用SPAPI进行店铺管理和订单处理了。以下是具体的操作步骤:

  1. 获取访问令牌

在进行API调用之前,需要获取访问令牌。访问令牌的获取需要使用您在申请和授权流程中获得的"Client ID"和"Client Secret"。具体的操作步骤可以参考Amazon SPAPI官方文档Generating a Java client library (amazon.com)

也可以参考github大佬集成的SDK:GitHub - yowob/spapi-java-client: amazon spapi java client

有坑需要自己调整哈。

2.调用API接口

使用访问令牌进行API调用,可以进行店铺管理和订单处理等操作。具体的API接口可以参考Amazon SPAPI官方文档:https://developer-docs.amazon.com/sp-api;


常见的异常Code:

#MD5100

#MD1000

#MD9000

大部分原因是你的APP出于未发布或者禁用状态,授权URL后面带个参数:version=beta

详情查看官方:SP-API 错误常见问题 (amazon.com)

VX:Best-Superman-666



评论