You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SP-API实现亚马逊卖家订单自动同步与OAuth授权对接?

亚马逊卖家账号OAuth授权对接全流程(订单导出+发货同步)

一、前期开发者准备

  • 注册亚马逊开发者账号,创建SP-API应用:选择对应运营区域(北美/欧洲/亚太等),申请订单读取权限(Orders Read)和发货操作权限(Orders Write/Feed)——这两个是实现需求的核心权限。
  • 配置回调URL:在应用后台填写HTTPS协议的回调地址,用于用户授权完成后跳转回你的应用,亚马逊会验证该地址的合法性。
  • 获取核心凭证:记录LWA(Login with Amazon)的Client ID、Client Secret,以及SP-API的Role ARN(用于后续获取临时API访问凭证)。

二、用户授权流程(替换手动密钥的核心环节)

  • 引导用户进入亚马逊授权页:构造授权URL,携带参数:
    • client_id:你的LWA Client ID
    • scope:sellingpartnerapi::orders(对应申请的订单权限)
    • response_type=code
    • redirect_uri:你配置的回调URL
    • state:随机生成的字符串(用于防CSRF攻击,需与后续返回的state校验一致)
      用户点击链接后,将跳转至亚马逊官方卖家登录页面,完成账号验证与授权确认。
  • 接收授权码:用户授权成功后,亚马逊会跳转至你的回调URL,携带code(10分钟有效期的授权码)和state参数。先校验state的一致性,再留存code。
  • 换取长期刷新令牌:调用LWA令牌接口,传入client_id、client_secret、code、grant_type=authorization_code、redirect_uri,获取refresh_token(长期有效,除非用户主动取消授权)和临时access_token(1小时有效期)。将refresh_token加密后关联用户账号存入数据库。

三、业务功能实现

  • 导出未发货订单:
    每次调用API前,用refresh_token调用LWA接口换取最新的access_token,然后调用SP-API的ListOrders接口,设置过滤条件OrderStatus=Unshipped,获取所有未发货订单的完整信息(含订单ID、买家信息等)。
  • 同步追踪号并标记发货:
    当后台录入追踪号后,可通过两种方式实现同步:
    1. 单订单调用:使用SP-API的CreateFulfillmentOrder接口,传入订单ID、合规的承运商代码(如USPS、DHL的官方代码)、追踪号;
    2. 批量操作:使用Feed接口上传批量发货数据,效率更高。
      调用成功后,亚马逊会自动将订单标记为已发货,并同步物流追踪信息至卖家后台与买家端。

四、安全与维护注意事项

  • 凭证加密存储:Client Secret、refresh_token必须加密后存储,禁止明文落地。
  • 权限校验:定期检查refresh_token有效性,若用户取消授权,需引导用户重新完成授权流程。
  • 权限最小化:仅申请需求必需的权限,避免过度授权降低用户信任。

内容的提问来源于stack exchange,提问作者Cornelius Wilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 17:25:19