精华内容
下载资源
问答
  • 亚马逊Amazon SP-API注册申请和授权对接开发和亚马逊SP-API开发人员注册资料的注意事项,PII申请的事项
    2022-02-25 21:18:05

    关于亚马逊Amazon SP-API注册申请和授权对接开发和亚马逊SP-API开发人员注册资料的注意事项, 以及PII申请的事项,我简单聊几句吧。

    不聊注册过程什么的,网上这类文章太多了,只说几个关键的点:

    1、要注册sp-api,首先你得有个店铺,必须是专业店铺。

    2、店铺不要被降级,亚马逊是如果你专业卖家不运营,90天后会降级为个人。

    3、你申请的sp-api如果有pii权限,那么在90天内请用起来,否则会被收回权限。

    4、店铺不要被封,虽然说店铺封了之后还可以会继续用sp-api,但是会带来诸多不便。

    5、如果你申请pii的资料是网上找的,请一定要修改,亚马逊是可以检测出资料相近或者相同的,一定会给你驳回,一个营业执照只有一次机会,如果是这种情况被驳回,那就意味着没机会了。

    暂时想到这些,回头再补充吧,欢迎交流探讨sp-api的开发注册申请,pii的申请等问题。

    更多相关内容
  • 亚马逊(amazon)在2020年10月推出了新的替代mws的api方案,称为Selling Partner API(SP-API)。sp-api在修改原mws的接口方式的基础上引入了aws的IAM权限管理,增加了开发者的对接门坎和学习成本。这里整理了一份java版...
  • 亚马逊开发人员注册教程更新于2021年9月14日.txt
  • PYTHON-AMAZON-SP-API 亚马逊销售合作伙伴API 通过一个易于使用的界面访问Amazon的Selling Partner API的包装器。 问与答 如果您有任何疑问,请在github讨论中提问 安装 pip install python-amazon-sp-api 用法 # ...
  • 亚马逊SP-API对接实践解析(amazon selling partner api

    千次阅读 热门讨论 2021-08-31 19:02:06
    亚马逊(amazon)在2020年10月推出了新的替代MWS的api方案,称为Selling Partner API(SP-API). SP-API在授权方式、权限管理、覆盖站点、支持的卖家模式、接口交互数据格式上都做了升级优化,当然目前这个SP-API还不够...

    1.前言

    亚马逊(amazon)在2020年10月推出了新的替代MWS的api方案,称为Selling Partner API(SP-API). SP-API在授权方式、权限管理、覆盖站点、支持的卖家模式、接口交互数据格式上都做了升级优化,当然目前这个SP-API还不够稳定,亚马逊也一直在改进和优化中。在不久之后,它将替代MWS发挥AGS的API的管理店铺等作用。在其github中的discussion中就有很多announcement发布MWS的api在某某截止日后不能使用,需要迁移到SP-API。比如第三方开发者使用到MWS Orders, Reports, and Merchant Fulfillment API的一定要在2022年7月31前将这些API切换到使用SP-API相关的API,具体看这里

    2.目录

    接下来我主要从四个方面,讲下对接SP-API的流程及过程中需要注意的问题

    1. MWS 与 SP-API

    2. Developer及APP的申请

    3. 接口的集成与使用

    4. 注意事项

    3.MWS 与 SP-API

    大家在对接SP-API前,对MWS一定不陌生,MWS是Marketplace Web Service(商城网络服务)的简称。是亚马逊为给seller提供的API自动管理店铺的服务,利用此API可更加高效的运营店铺,减少手工运营时间,提高响应速度。当然第三方服务商(收款商和ERP等)也可以利用这个API为卖家提供更好更精准的服务。MWS从2003年推出到现在已经服务了18年,随着互联网技术的发展,根据数据的安全性及API的易用性等方面考虑,亚马逊在2020年10月推出了新的API方案叫Selling Partner API,简称SP-API。SP-API在很多方面都做了些改进:
    1. SP-API 在授权方式上使用标准的OAuth2.0

    SP-API现在使用典型的OAuth2.0方式做授权管理,比MWS的授权方案更安全易于管理。MWS的授权方式是简化版的OAuth2.0,只根据MwsAuthToken或者AccessKeyId和SecretKey的方式

    MWS的方案是:如果是第三方服务商,那需要卖家授权获取到MwsAuthToken去请求API,如果是卖家自己请求API只需要提供下发的AccessKeyId和SecretKey请求即可。那么SP-API的方案是:不管是第三方服务商还是卖家,都需要用标准的OAuth2.0的方式去请求API,通过授权获得的refresh_token去换取1小时生命周期的access_token去请求API

    2. SP-API 在接口数据格式上使用了JSON

    SP-API使用RESTful的方式请求API,用JSON格式的做数据结构交互,MWS是采用xml等数据结构做交互.

    3. SP-API 在权限管理上更明确更安全

    SP-API在权限管理上,在申请develoepr及app的过程中都有权限的选择及管控,比MWS的权限管控更细化,分级

    4. SP-API 支持一个app全球站点可授权对接

    SP-API支持一个app可接受全球站点的授权,这相对于MWS来讲,是个很大的升级。MWS不支持所有全球站点的打通。假设一个卖家在全球站点开店,全球站点分为三个region分别为EU(欧洲)、FE(远东)、NA(北美),MWS需要在三个region都分别申请一个developer才能做到全球站点API管理。那么现在SP-API只需要在任意一个region申请一个developer,然后在developer下申请一个app就可以做到三个区域的店铺都可授权管理。当然一个developer还可以申请多个app

    5. SP-API 支持seller和vendor两种模式的卖家

    我们知道亚马逊开店有三个模式分别是SC(Seller Central),VC(Vendor Central ).以前MWS只支持对SC做API管理,现在SP-API即支持SC也支持VC

    6. SP-API 引入了AWS的IAM管理体系

    SP-API引入了AWS的IAM管理体系做API鉴权(后面介绍怎么设置IAM)

    请求API的Credentials等公用参数比较:

    MWSSP-API
    卖家自用AccessKeyId (MWS developer)
    SecretKey (MWS developer)
    SellerID
    endpoint
    AccessKeyId (AWS IAM user)
    SecretKey (AWS IAM user)
    region (AWS Region)
    roleArn (AWS IAM role)
    roleSessionName
    ClientId (LWA App)
    ClientSecret (LWA App)
    refreshToken
    lwaEndpoint (https://api.amazon.com/auth/o2/token)
    endpoint
    第三方服务商AccessKeyId (MWS developer)
    SecretKey (MWS developer)
    SellerID
    mwsAuthToken
    endpoint
    AccessKeyId (AWS IAM user)
    SecretKey (AWS IAM user)
    region (AWS Region)
    roleArn (AWS IAM role)
    roleSessionName
    ClientId (LWA App)
    ClientSecret (LWA App)
    refreshToken
    lwaEndpoint (https://api.amazon.com/auth/o2/token)
    endpoint

    从参数比较中可以看出:

    MWS 的凭证信息只要申请MWS developer的时候的AccessKeyId和SecretKey。如果是第三方服务商,增加一个卖家给服务商授权时生成的MwsAuthToken.

    而 SP-API完全不一样,包含两部分参数信息,一部分是AWS的 IAM体系里面的user和role的参数信息,还有一部分是LWA的申请的app的ClientId及ClientSecret信息。
    不管是卖家还是第三方服务商都需要提供refresh_token(其实是access_token,因为SDK里把换access_token
    的步骤包含进去了)。
    卖家自用的是直接app列表里面点击按钮生成的refresh_token. 而第三方服务商的refresh_token是通过卖家授权给第三方服务商的OAuth2.0流程生成或者请求Authorization API做MWS平滑迁移到SP-API生成的。

    4.Developer及APP的申请

    第一步:申请注册卖家账户及AWS账户
    亚马逊的开发者的申请,先要注册成为专业卖家,然后才能申请注册开发者,
    在申请APP时需要AWS 的IAM ARN信息,所以需要注册一个AWS账户

    第二步:Your Developer Profile填写开发者资料
    在这里插入图片描述
    1.DataAccess选项

    My organization builds and offers publicly available applications

    提供公共服务(他人授权给我)第三方服务商

    My organization participates in Amazon services, and I want to integrate to manage my own business only

    卖家自己使用(他人不授权给我)

    在这里插入图片描述

    注意:如果卖家自己使用请选择第二个,这样的情况下,在申请app的环节就不需要发布出去
    如果是第三方服务商,那么需要选择第一个,这样的情况下,在申请app的环节需要发布出去,在app store中展示

    2.Roles选项

    SP-API公众号权限说明

    里面有三项标记为Restricted的PII权限,需要使用tokens API获取专用restrictedDataToken访问相应的业务API接口.
    在这里插入图片描述

    由于各国的数据保护法律法规,PII权限涉及的都是隐私数据,包括卖家和买家的,所以亚马逊对这个权限审核要求不一样。需要提交额外的审查资料.如果刚才DataAccess选择的是第三方服务商,那么在roles里选择这三个PII权限将会受到比较严格的审查
    如果刚才DataAccess选择的是卖家自用,那么roles里选择这三个PII权限也会需要提交额外的资料审查,不过本人猜测应该没有第三方服务商那么严格

    所以作为卖家朋友来讲,PII权限中包含一些发货详细地址信息和发票信息,对卖家的运营是非常重要的,所以大部分需要这个权限。所以卖家在选择DataAccess时,最好选择卖家自用,这样审核通过的概率大些
    关于PII的详细介绍可以看我另外一篇文章,这里

    第三步:Add new app client 申请APP

    1.edit app
    在这里插入图片描述
    1) API Type
    两个选项SP API 和 SP API and MWS
    当选择SP API and MWS时,这个app就是混合开发者,之前有申请过MWS的developer才有此选项,混合开发者是SP-API提供的平滑过渡的解决方案,也就是之前使用MwsAuthToken的MWS授权的方式基础上,不需要卖家重新授权,只需要请求Authorization API接口用MwsAuthToken换取SP-API的授权authorization code,然后获得的refresh_token.请求完这个接口后,卖家seller center的Manage your apps页面就会发现多了一个列
    在这里插入图片描述
    在这里插入图片描述
    这里可以关联全球的developerId号,将之前MWS的开发者关联到此app上,都可以做平滑迁移和聚合
    打个比方,一个第三方服务商的一个卖家账号在全球站点开店,然后在欧洲、远东、北美分别申请了三个MWS developer。这时候你就可以在这里将三个developerId都填入,使其与当前app建立好关系。然后当前app就可以平滑迁移获得授权给这些MWS开发者的店铺的SP-API授权。这样就免去了分别要在三个地区申请三个app对应之前三个MWS developer。所以这里的给混合开发者添加developerId对那些ERP或收款商等第三方服务商很有作用

    2) IAM ARN
    在AWS账号中申请的IAM role 或者IAM user,具体操作方法
    (建议:一个AWS账号+一套IAM+一个店铺账号+一个app 保持唯一独立的环境)
    3) Business entities supported
    此app支持Sellers还是Vendors
    4) Roles
    在developer profile中选择的权限的基础上选择,权限解析
    5) OAuth Login URI
    授权发起链接,授权有两种流程方式:
    1.从开发者这边组连接跳转到亚马逊发起
    2.从亚马逊app stores选择开发者app或者enable的发起,此链接就是亚马逊方发起的链接
    6) OAuth Redirect URI
    授权同意后的回调链接。可以多个,如果在授权发起时不指定,那么默认取第一个,如果授权发起时参数中的redirectUrl不在这个列表中,用户授权的过程中会出现MD5100错误提示
    在这里插入图片描述

    三点注意:
    1.如果是卖家自授权使用的话,到这步就ok了,下面edit listing这步不需要发布到app store。自授权只需要在app列表的Authorize选项就可以授权,且分别授权到你不同的开店站点获得refresh_token.获得的refresh_token拷贝出来,再进入这个页面就会没有了。这个refresh_token没有失效时间,下次重新生成后,历史值就会失效。
    在这里插入图片描述
    2. 如果是授权给第三方服务商,那这个refresh_token就是有一年有效期,需要在过期前renewed(目前没有API可以查询授权失效时间,MWS也没有,所以我们要记录到授权时间,在1年即将失效前,做到提前通知卖家去延期一年,防止业务中断)
    3.这些信息最好一次提交正确,在提交前思考清楚。因为每次信息的变更都要等待审核发布完成,时间比较久。
    我之前在申请app的时候由于项目刚确定,还没有定义好OAuth Login URI和OAuth Redirect URI链接,所以就随意提交了个然后做申请。等我确定好这两个链接再来修改时,又要重新审核发布,这中间耗费了一个月的时间,影响了些项目的进度。

    2.edit listing

    edit listing提交的内容都是发布到app stores的信息
    总共分为三部分 App infor­mation 和 Pricing、App details都如实填写就行
    两点我之前遇到的问题:
    1.在第点击提交时,报错说spc3000,我这边时由于在 App infor­mation中的Support phone提交的不符合格式+86400068796、400-876-9066、045186013245、+86045186013245。正确的格式是+86 045186013245
    在这里插入图片描述
    2.避免App details用中文填写提交,因为中文填写会导致翻译速度缓慢,然后审核发布时间较长(这个目前大家应该知道,由于目前大量的app申请审核发布,SP-API的审核进度比较慢

    5.接口集成与使用

    1.selling-partner-api-docs
    根据github的docs文档说明,所有的API接口都是RESTful的方式,可以使用swagger生成客户端请求的代码,再结合use-case里的一些代码就可以轻松调用API接口

    references:
        所有API的说明文档
    
    guides:
        developer-guide:  
             开发者总引导文档,从这篇文档开始深入理解整个SPAPI
        migration-guide:
             迁移的引导文档,给老的MWS需要平滑过渡到SPAPI对接的开发者使用的。
             对于第三方服务商,这个迁移的API就很有用,因为可以做到不用卖家参与就可以过渡到SPAPI授权上来。里面有个核心的API就是Authorization API,可以实现用MWS授权的MwsAuthToken去换取SPAPI的授权refresh_token
        Roles: 在申请developer和app中的权限对应的业务API的关系解释
        usage-plans-rate-limits:
           1.对请求接口的访问频率的限制,亚马逊采用令牌桶的算法。亚马逊的API接口对访问评率有很严格的要求,开发时一定要考虑使用响应头里的x-amzn-RateLimit-Limit参数查看剩余的次数,不要不理会429异常,总是重试去请求。这样会导致接口访问评率过大触发防火墙的校验,导致整体接口不能使用(我们在对接过程中就遇到过,给你返回的异常是直接forbidden的,而且没有任何文档解释原因)
           2.有些比如查询订单的接口,不要做太频繁的轮询接口查询,可以对接Notification API订阅通知来获取新订单的消息后做查询,这样就可以大大降低被限流的风险
        use-case-guides:
        使用案例引导,这里面是调用某些接口的具体的方法讲解及代码示例
        重点讲下Authorization API: 这个API是用于做MWS迁移到SPAPI的,一般对第三方服务商作用比较大,因为卖家基本上使用自授权的模式,SPAPI的app不需要发布,不存在让其他店铺授权到app的情况,所以不太需要。这个接口能调用的条件是app必须审核通过发布完成后才可调用
    

    2.selling-partner-api-models

     models: 
         各个接口的model,swagger生成client端代码的输入参数
    clients: 
         postman-collections postman方式的请求接口案例,目前只包含restrictedDataToken 使用请求PII数据的案例 tokens-api-sandbox-postman-collection.json,估计以后会添加更多
         sample-code  案例代码   目前只包含PII的restrictedDataToken的java案例代码restricted-data-token-workflow.java
         sellingpartner-api-aa-csharp  c#版的签名代码库
         sellingpartner-api-aa-java  java版本的签名代码库,这是swagger生成的client端代码都需要用到的公共模块,也就是组装鉴权信息的模块
         里面分两部分,一是AWS的签名(这就是我们申请app前AWS的注册和IAM的credentials信息签名部分),二是LWA(Login with Amazon)的签名(这就是我们app的ClientId和ClientSecret以及access_token的签名部分)
        sellingpartner-api-documents-helper-java
        这是文档下载及上传的加解密代码库,大家知道在feeds和reports等接口里面,经常用到文件的上传和下载,且需要对文件做加解密操作,那么这个helper就是提供加解密的java库的,可以拿来即用
    

    3.amazon-sp-api
    整个SP-API的docs及models了解下来,内容比较多,在用swagger生成的时候,也是每个model生成一个独立的java 模块。每个业务模块里面都有很多公共的代码。所以我抽出公共代码组合整理成一个SDK分享在github上, 可拿来即用,当然好用的话,请给个star,谢谢

    docs:所有业务API的接口方法的markdown文档
    src:
        SellingPartnerAPIAA:公用的签名模块
        api:  包含所有的业务API的java类
        auth和client:请求所有业务API用到的http请求共用模块
        documents:整合的上传和下载文件的加解密公用模块
        model:是所有业务接口请求和返回的数据模型
    
    只需要依赖这个SDK就可以很方便的做业务对接开发,当然我们也可以在这个SDK的基础上将自己的请求参数配置好做一个spring boot starter,给到所有的业务系统做依赖使用,做到参数的统一管理等
    

    除了java 的SDK,还有js和php版本的(这两个不是我整理的)
    js版本: https://github.com/amz-tools/amazon-sp-api
    php版本:https://github.com/clousale/amazon-sp-api-php

    6.注意事项

    1.申请app的资料填写要慎重准确,权限选择要想清楚,不要多次修改(审核发布时间比较长,会影响进度)

    2.请求业务接口的频率要控制好,不要随意轮询,会导致整体接口不可用的风险,等出现了去提case解决的过程会比较长

    3.建议保持独立的环境,做到一个AWS账号+一套IAM+一个店铺账号+一个app +一个或多个独立纯净出口IP(出口IP可以用代理+账号路由来实现)

    4.为了业务接口稳定,最好做VPN代理服务器访问,代理到香港或美国等

    5.第三方服务商开发者需要记录卖家授权的时间,在一年有效期到达前提前通知客户延期,防止业务中断风险

    7.可参考的资料

    SP-API公众号: https://mp.weixin.qq.com/s/Gu4UwM2r7dPY-jf6_h9fUw

    SP-API动手训练营:https://www.spapi.org.cn/cn/intro.html

    AMAZON-SP-API SDK: https://github.com/penghaiping/amazon-sp-api

    亚马逊SP-API对接JAVA版: https://blog.csdn.net/penghaiping1001/article/details/113524366

    PII权限使用解析:https://blog.csdn.net/penghaiping1001/article/details/120002089

    8.SPAPI错误码解释

    SPAPI错误码解释(MD5100 MD9000 MD1000 403 Unauthorized SPDC)
    SP-API Errors Frequently Asked Questions
    Troubleshooting Selling Partner API authorization errors
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 最近在用java做亚马逊sp-api,在fba入库创建货件后,进行装箱时,PutTransportContent接口,亚马逊不支持在国内入库货件的承运人(CarrierName),选择非亚马逊合作承运...
  • 亚马逊SP-API对接JAVA版(amazon selling-partner)

    万次阅读 热门讨论 2021-02-01 17:13:23
    亚马逊(amazon)在2020年10月推出了新的替代mws的api方案,称为Selling Partner API(SP-API)。sp-api在修改原mws的接口方式的基础上引入了aws的IAM权限管理,增加了开发者的对接门坎和学习成本。这里整理了一份java...

    背景:

        亚马逊(amazon)在2020年10月推出了新的替代mws的api方案,称为Selling Partner API(SP-API)。sp-api在修改原mws的接口方式的基础上引入了aws的IAM权限管理,增加了开发者的对接门坎和学习成本。这里整理了一份java版的对接信息,供大家借鉴

    MWS:

           对接的文档介绍documenthttp://docs.developer.amazonservices.com/en_US/dev_guide/index.html  

           sdk library: https://developer.amazonservices.com/javaclients

    SP-API(amazon selling partner api):

           对接文档介绍documentAmazon.com - Marketplace Web Service

           GitHub: https://github.com/amzn/selling-partner-api-docs

           models: https://github.com/amzn/selling-partner-api-models/

           动手训练营课程介绍 :: Mon atelier AWS    (这个动手训练营里都是干货,里面介绍了怎么做对接初步准备工作等

           java版本的client端sdk:https://github.com/penghaiping/amazon-sp-api

           js版本的client端sdk: https://github.com/amz-tools/amazon-sp-api

           php版本的client端sdk:https://github.com/clousale/amazon-sp-api-php

    MWS与SP-API的区别

           1.SP-API是rest方式,mws是特殊的结构
           2.SP-API授权利用了LWA,即Amazon对OAuth 2.0的实现。该模型消除了Amazon MWS所要求的手工交换认证令牌的需要
           3.SP-API提供比Amazon MWS更好的数据访问控制。开发人员只能请求访问他们需要的数据,而销售商可以在API部分、操作或数据资源级别授予权限
           4.SP-API允许您使用AWS身份和访问管理(IAM)直接获取和管理自己的身份验证凭据。对于Amazon MWS,您可以使用特殊的注册工作流接收Amazon提供的身份验证凭证,并且通过打开与Amazon MWS支持的联系方式获得新的凭证
           5.SP-API使用AWS签名版本4进行身份验证。Amazon MWS使用签名版本2

    SP-API 微信公众号:里面有很多对SP-API的介绍文章,推荐关注

    对接SP-API的官方讲解视频链接:

    1.Using Postman for Sellling Partner API models(用Postman调试API的方式)

    2. sp-api对接的视频讲解

    ​​​​​​​

    SPAPI错误码解释(MD5100  MD9000 MD1000  403 Unauthorized SPDC)

    SP-API Errors Frequently Asked Questions

    Troubleshooting Selling Partner API authorization errors

     

     ​​​​​​​

    展开全文
  • 1. 授权销售伙伴 API 应用程序 2. 全局变量(后续将会使用绿色加粗字体表示) 3. OAuth authorization URIs 4. Marketplace Appstore workflow ...对接亚马逊 SP-API(Selling Partner API) 第三章:对接 SDK

    目录

    1. 授权销售伙伴 API 应用程序

    1.1. Marketplace Appstore workflow

    1.2. Website workflow(推荐使用)

    1.3. 自行授权(仅限店铺本身为开发者)

    2. 全局变量(后续将会使用绿色加粗字体表示)

    AMAZON_ENDPOINT

    APPLICATION_ID

    OAUTH_LOGIN_URI & OAUTH_REDIRECT_URI

    ​CLIENT_ID & CLIENT_SECRET

    3. OAuth authorization URIs

    4. Marketplace Appstore workflow

    Step 1. The seller initiates authorization from the Marketplace Appstore

    Step 2. The seller consents to authorize your application

    Step 3. The seller signs into your website

    Step 4. Amazon sends you the authorization information

    BUG 合集

    Step 5. Your application exchanges the LWA authorization code for an LWA refresh token

    BUG 合集

    5. Website workflow

    Step 0. Set up an "Authorize" button

    Step 1. The seller initiates authorization from your website

    Step 2. The seller consents to authorize the application

    Step 3. Amazon sends you the authorization information

    Step 4. Your application exchanges the LWA authorization code for a LWA refresh token

    6. Self authorization

    6.1. 应用商店 --> 开发应用程序

    6.2. 生成刷新令牌

    总结

    对接亚马逊 SP-API(Selling Partner API) 第三章:对接 SDK


    1. 授权销售伙伴 API 应用程序

    销售伙伴可以使用下列其中一个工作流程授权您的应用程序:

    1.1. Marketplace Appstore workflow

    从商城应用商店详情页面启动的 OAuth 授权工作流程。

    1.2. Website workflow(推荐使用)

    从您自己的网站启动的 OAuth 授权工作流程。

    1.3. 自行授权(仅限店铺本身为开发者)

    https://github.com/amzn/selling-partner-api-docs/blob/main/guides/en-US/developer-guide/SellingPartnerApiDeveloperGuide.md#self-authorization

    获取 Refresh token

    2. 全局变量(后续将会使用绿色加粗字体表示)

    AMAZON_ENDPOINT

    Selling regionEndpoint
    North America (Canada, US, Mexico, and Brazil marketplaces)Amazon
    Europe (Spain, UK, France, Netherlands, Germany, Italy, Sweden, Poland, Turkey, U.A.E, and India marketplaces)https://sellercentral-europe.amazon.com

    Far East (Singapore, Australia, and Japan marketplaces)

    日本:Amazon

    备注:其他区域我没帐号了。不能提供准确的 endpoint。

    这个应该跟亚马逊后台的域名是一致的。

     Seller Central URLs

    APPLICATION_ID

    OAUTH_LOGIN_URI & OAUTH_REDIRECT_URI

    关于这两个我有句MMP一定要讲!这两个是可以随便填,但是要保证域名是一样的。不能是下图。(这个地方花了我两天时间!!!)并且是https开头的。


    CLIENT_ID & CLIENT_SECRET

    3. OAuth authorization URIs

    构建授权链接,让各个店铺去登录这个链接完成授权。

    链接结构如下:

    {AMAZON_ENDPOINT}/apps/authorize/consent?{APPLICATION_ID}

    Example:

    Amazon Sign-In

    注意要点

    3.1. 每个亚马逊区域都需要一个单独的授权链接。
    3.2. 如果是测试,链接需要加上 version=beta,且应用程序必须为草稿状态。

    4. Marketplace Appstore workflow

    Step 1. The seller initiates authorization from the Marketplace Appstore

    这个我没找到【Authorize Now】按钮在哪里和有什么作用.. --> 答案见评论。

    Step 2. The seller consents to authorize your application

    Request

     3. OAuth authorization URIs 拼接的链接

    授权页面如下:

    Response

    {OAUTH_LOGIN_URI}/?amazon_callback_uri={amazon_callback_uri}&amazon_state={amazon_state}&version=beta&selling_partner_id={selling_partner_id}

    参数描述
    amazon_callback_uri用于将浏览器重定向到亚马逊的 URI。
    amazon_state亚马逊生成的状态值,用于防范跨站点请求伪造攻击。
    selling_partner_id授权您的应用程序的卖家的卖家编号。

    Step 3. The seller signs into your website

    Step 4. Amazon sends you the authorization information

    step 3 和 step 4 似乎是一套的,分别解释了请求和相应的格式。

    Request

    {amazon_callback_uri}?redirect_uri={OAUTH_REDIRECT_URI}&amazon_state={amazon_state}&state={随机码}&version=beta

    Response

    {OAUTH_REDIRECT_URI}?spapi_oauth_code={spapi_oauth_code}&state={你传的state是什么,接收的就是什么}&selling_partner_id={selling_partner_id}

    参数描述
    state您在上一步中传递的状态值。
    selling_partner_id授权您的应用程序的卖家的卖家编号。
    mws_auth_token不一定会有。您在为调用亚马逊商城网络服务创建查询字符串时使用的 MWSAuthToken 值。只有当卖家授权混合销售伙伴 API 应用程序时,才会传递 mws_auth_token 参数。
    spapi_oauth_code您用来交换 LWA 刷新令牌的“使用亚马逊账户登录”(LWA) 授权码。

    BUG 合集

    1. 每次请求的时候都会一闪而过这个页面,然后才报错。我一度以为是我手速不够快,超过了15秒去点击 click reconfirm 的链接导致授权失败。

    实际上,这个页面仅表示授权进行到这一步,并且卡在授权这个地方而已。

     

    下面两个 Error Code 的问题,我是通过文档的 Issues 得出的解决方案,仅供参考。

    issues 里面提到的 case,如果不是自己开的是无法查看的。(不用费心思找了)

    2. MD5100

    这个似乎是 OAUTH_LOGIN_URI 和 OAUTH_REDIRECT_URI  填的时候,LOGIN的域名不在 REDIRECT中才出现的。

    3. MD9999

    BUG 可能原因:application 的 IAM RAM 填成用户的。

    这个似乎是你已经激活了校验,但是实际上并没有得到相应的返回值。

     

    至于判断激活了校验的依据是:可以看到 App & Service --> manage your apps 里面的状态变成了 active。

    官方解释

    4. MD1000

    官方解释

    Step 5. Your application exchanges the LWA authorization code for an LWA refresh token

    cURL

    POST /auth/o2/token HTTP/l.l
    Host: api.amazon.com
    Content-Type: application/x-www-form-urlencoded;charset=UTF-8
    grant_type=authorization_code&code={spapi_oauth_code}&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}
    参数描述
    grant_type请求的访问授权类型。必须是 authorization_code
    code您在Step 4. Amazon sends you the authorization information中收到的 LWA 授权码。即 {spapi_oauth_code}
    redirect_uri您的应用程序的重定向 URI。(可选
    client_id{CLIENT_ID}
    client_secret{CLIENT_SECRET}

    Response

    {
      "access_token": "Atza|qwert",
      "token_type": "bearer",
      "expires_in": 3600,
      "refresh_token": "Atzr|asdfg"
    }
    参数描述
    access_token授权您的应用程序代表卖家采取某些操作的令牌。
    token_type返回的令牌类型。应该是 bearer。
    expires_in访问令牌失效之前的秒数。(1小时有效期
    refresh_token必须保存)可以交换为新访问令牌的长期令牌。(access_token 过期后,可以刷新出新的 access_token

    BUG 合集

    1. The request has an invalid grant parameter : code

    大概率是code 过期了。好像是 5 分钟的有效期?

    5. Website workflow

    Step 0. Set up an "Authorize" button

    按区域(三个)的不同添加按钮。重定向的链接是 3. OAuth authorization URIs

    Step 1. The seller initiates authorization from your website

    Step 2. The seller consents to authorize the application

    Step 3. Amazon sends you the authorization information

    Step 1-3 解释

    Request

     3. OAuth authorization URIs 拼接的链接并且添加 state 状态值(随机生成即可)

    Reponse

    {OAUTH_REDIRECT_URI}?spapi_oauth_code={spapi_oauth_code}&state={你传的state是什么,接收的就是什么}&selling_partner_id={selling_partner_id}

    Step 4. Your application exchanges the LWA authorization code for a LWA refresh token

    同 Marketplace Appstore workflow 的 Step 5。

    6. Self authorization

    6.1. 应用商店 --> 开发应用程序

    6.2. 生成刷新令牌

    每次点击按钮都会生成一个的令牌。

    总结

    1. 获取 refresh_token 的方式有三种。店铺授权、网站授权和自行授权。自行授权需要店铺本身是开发者。

    2. 对比店铺授权和网站授权。

    网站授权方式会简单一点。相对店铺授权来说少一次操作。后续对多个帐号的授权情况,网站授权会方便很多。

    两种方式授权的实际效果暂时不知道有什么区别。

    3. 流程设计:使用【网站授权】

    3.1. LWA Application OAUTH_REDIRECT_URI 设计成自己的接口。

    3.2. 让运营将店铺的 seller id(selling_partner_id) 维护到系统中。并自动拼接 OAuth authorization URIs。

    3.3. 在 OAUTH_REDIRECT_URI 接口中根据 spapi_oauth_code 直接请求 refresh_token。并根据 selling_partner_id 将 refresh_token 更新到相应的记录中。

    3.4. 这样运营就只需要到亚马逊后台登录帐号即可完成授权操作。

    对接亚马逊 SP-API(Amazon Selling Partner API) 第三章:对接 SDK

    展开全文
  • 亚马逊SP-API申请,亚马逊SP-API注册,亚马逊开发者申请,PII申请
  • Amazon平台销售合作伙伴(SellingPartnerAPI / SP-API)制作过程记录,并提供整合好的jar包
  • 销售合作伙伴 API (SP-API) 是一种基于 REST 的 API,可帮助亚马逊销售合作伙伴以编程方式访问其订单、发货、付款等数据。使用 SP-API 的应用程序可以提高销售效率、减少劳动力需求并缩短对客户的响应时间,从而帮助...
  • 1. SP-API 基本介绍 2. Registering as a developer 3. Registering Selling Partner API application 4. 一个AWS合作伙伴的图文教程 ...对接亚马逊 SP-API(Selling Partner API) 第二章:授权
  • 1. 前提概要 2.Authorization 介绍 3. 拼接Authorization 完整Authorization 代码 总结 对接亚马逊 SP-API(Selling Partner API) 第五章:Reports 模块
  • 1.Generating a Java SDK with LWA token exchange and authentication 2.Connecting to the Selling Parter API using a generated Java SDK ...对接亚马逊 SP-API(Selling Partner API) 第四章:签名
  • 我们做跨境电商搞亚马逊API开发的都懂,首先就是文档的事情,亚马逊写的中文文档很坑啊有木有!!(本来英文文档就挺坑的了,小声BB~) 好了,就是要吐槽它一波~现在我们...我们就先将 Amazon SP-API references ⬅️
  • 申请成功后会收到亚马逊官方的邮件
  • amazon-sp-api-clients

    2021-04-03 15:23:40
    亚马逊sp-api-客户端 这是由亚马逊销售合作伙伴开放api模型生成的软件包。 该软件包仅供我个人使用,可能不是一个很好的软件包,但对我来说已经足够了。 特征 可以使用; 提供代码以生成客户端,以防亚马逊更新模型...
  • 关于亚马逊SP-API的申请注册,亚马逊SP-API的PII权限申请,亚马逊SP-API的申请注册和对接开发的一些问题。
  • 我现在已注册AmazonSp-api,且有pii权限,不管用什么方式就是获取不到订单详细街道,RDT方式也试过了,还是一样取不到.请问有哪位大佬获取到了吗?...
  • 自从亚马逊要求迁移到SP-api后,好多买家开始了对SP-API接扣的申请,好多伙伴们申请了好长时间,PII都被拒绝了,于是开始网上搜索各种开发人员注册资料,下载后直接原模原样填入。 这样的填写是不可取的! 这样的...
  • 前提准备 1.亚马逊店铺一个,卖家账号 链接: 卖家账号注册. 填写开发者账号凉凉了 注册好了之后 2.亚马逊开发者账号 2.1.添加IAM账号 ...亚马逊限制每个用户最大权限策略组10个 ...参考:SP-API对接 ...
  • API 对比 MWS 流程 SP-API 流程
  • 最近要做货品部门的需求,涉及到发货和入库相关的API,对此研究了fulfillment-inbound-api 官方文档路径:fulfillment-inbound-api 从货品部门了解到的具体步骤为: 创建一个发货计划(createInboundShipmentPlan...
  • 关于SPAPI注册,SP-API注册,SPAPI申请,SP-API申请,开发人员资料注册,amazon亚马逊开发人员资料申请注册,amazon亚马逊销售合作伙伴 API申请注册,SP-API申请注册,amazon亚马逊Selling Partner API申请注册详细...
  • java.lang.IllegalArgumentException: No enum constant com.amazon.spapi.documents.CompressionAlgorithm.AES Bug 3.1. 乱码(峰兄提供) Bug 4. ...
  • 运行环境 PHP >= 7.3 cURL Extension JSON Extension MBString Extension

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,470
精华内容 588
关键字:

亚马逊sp-api