Amazon Sp Api

Polar Sponsor
爱发电 赞助
.NET 9.0

Amazon SellerCentral SP‑API Python 包装器,支持订单、目录、FBA 库存、报表(含补货建议)及财务事件,采用 SigV4 与 LWA 认证。

Amazon Seller Central — SP- API. 运行每个 Amazon SP- API 操作的捆绑脚本/ amazon api. py. 运行

功能概述

Amazon Seller Central — SP- API. 运行每个 Amazon SP- API 操作的捆绑脚本/ amazon api. py. 运行是一项面向实际任务的技能,主要用于脚本处理 LWA 完整刷新 + AWS SigV4 内部签名链, 所以 agen。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
  • 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

使用与执行

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Amazon Seller Central — SP-API

每个 Amazon SP-API 操作均需运行打包的脚本 scripts/amazon_api.py。该脚本在内部完整处理 LWA 刷新令牌获取 + AWS SigV4 签名流程,因此 Agent 始终仅需处理结构化 JSON 数据。

python3 "{baseDir}/scripts/amazon_api.py"  [options]

背景说明:Amazon 的 Selling Partner API(SP-API)是 MWS 的替代方案。身份验证需两层凭证:用于生成 x-amz-access-token 的 LWA 刷新令牌,以及用于 SigV4 请求签名的 IAM 凭据。每次调用均需同时提供二者。访问令牌支持自动刷新,但 Agent 不负责此操作。

首次运行 — 安装唯一的 Python 依赖项

该脚本依赖 httpx。若命令执行失败并提示 ModuleNotFoundError: No module named 'httpx',请执行一次安装:

python3 -c "import httpx" || python3 -m pip install httpx

配置

设置五个必需的环境变量。推荐将其置于 shell 的 rc 文件中,或使用密钥管理工具(如 1Password CLI、direnv、systemd EnvFile 等)。切勿将密钥直接粘贴至聊天窗口。

export AMAZON_SP_API_REFRESH_TOKEN="Atzr|…"          # LWA 刷新令牌
export AMAZON_SP_API_CLIENT_ID="amzn1.application-oa2-client.…"
export AMAZON_SP_API_CLIENT_SECRET="…"
export AMAZON_SP_API_AWS_ACCESS_KEY_ID="AKIA…"       # 具备 SP-API 角色权限的 IAM 用户
export AMAZON_SP_API_AWS_SECRET_ACCESS_KEY="…"

两个可选配置项(已设合理默认值 —— 英国站点、欧洲区域):

export AMAZON_SP_API_MARKETPLACE_ID="A1F83G8C2ARO7P"  # 默认:英国站点
export AWS_REGION="eu-west-1"                          # 默认:欧洲区域终端节点

脚本所用的区域 → 终端节点映射关系如下:

AWS_REGION SP-API 终端节点 区域标识
us-east-1 https://sellingpartnerapi-na.amazon.com NA
eu-west-1 https://sellingpartnerapi-eu.amazon.com EU(默认)
us-west-2 https://sellingpartnerapi-fe.amazon.com Far East

站点 ID 列表详见:https://developer-docs.amazon.com/sp-api/docs/marketplace-ids。

工作流规范

  1. 所有列表类命令均须以 --summary 开始。 SP-API 响应数据量大且全文阅读效率低 —— 仅当已通过筛选明确目标 ID 后,才可省略 --summary 参数。
  2. 尽可能在 API 层完成过滤。 所有列表命令均支持与 Seller Central 相同的过滤参数(--status、--since、--type、--skus)。应将过滤条件下推至 API 层,避免拉取全部结果后分页处理。
  3. 报表请求为异步操作。 reports/create-report/get-report/get-report-document 构成四步标准流程。针对补货场景,请使用 restock-report 快捷命令 —— 它在一个调用中完成创建 → 每 10 秒轮询 → 下载全流程。
  4. 令牌缓存仅限进程内有效。 每次脚本执行会刷新一次 LWA 令牌,并在内存中缓存约 1 小时;但不会持久化到磁盘 —— 进程退出后,文件系统中不保留任何密钥信息。

命令列表

订单

python3 "{baseDir}/scripts/amazon_api.py" orders --summary
python3 "{baseDir}/scripts/amazon_api.py" orders --status Unshipped --summary
python3 "{baseDir}/scripts/amazon_api.py" orders --since 2026-01-01 --summary
python3 "{baseDir}/scripts/amazon_api.py" orders --status Shipped --since 2026-01-01 --limit 50

python3 "{baseDir}/scripts/amazon_api.py" order 
python3 "{baseDir}/scripts/amazon_api.py" order-items  --summary

订单状态取值包括:Unshipped、PartiallyShipped、Shipped、Canceled、Pending 等。

商品目录

python3 "{baseDir}/scripts/amazon_api.py" catalog-item 

FBA 库存

python3 "{baseDir}/scripts/amazon_api.py" inventory --summary
python3 "{baseDir}/scripts/amazon_api.py" inventory --skus "SKU1,SKU2" --summary

报表

# 列出已有报表任务
python3 "{baseDir}/scripts/amazon_api.py" reports --summary
python3 "{baseDir}/scripts/amazon_api.py" reports --type GET_FLAT_FILE_OPEN_LISTINGS_DATA --summary

# 启动新报表任务
python3 "{baseDir}/scripts/amazon_api.py" create-report --type GET_FLAT_FILE_OPEN_LISTINGS_DATA
python3 "{baseDir}/scripts/amazon_api.py" create-report 
    --type GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL --start 2026-01-01 --end 2026-01-31

# 轮询直至状态变为 DONE
python3 "{baseDir}/scripts/amazon_api.py" get-report 

# 下载并解析报表文档(TSV → JSON)
python3 "{baseDir}/scripts/amazon_api.py" get-report-document 
python3 "{baseDir}/scripts/amazon_api.py" get-report-document  --output report.tsv

补货库存报表(单次执行)

# 创建报表、轮询等待完成、下载 —— 全部一步完成
python3 "{baseDir}/scripts/amazon_api.py" restock-report
python3 "{baseDir}/scripts/amazon_api.py" restock-report --output restock.tsv

输出字段包括:商品名称、SKU、ASIN、FNSKU、最近 30 天销量、已售数量、当前可售数量、在途数量、总库存数量、可售天数、建议补货数量、建议发货日期、告警状态。请直接使用该命令,无需自行实现 create/poll/download 循环逻辑。

财务

python3 "{baseDir}/scripts/amazon_api.py" finances --since 2026-01-01
python3 "{baseDir}/scripts/amazon_api.py" finances --order-id 
python3 "{baseDir}/scripts/amazon_api.py" finances --since 2026-01-01 --limit 50

常用报表类型

报表类型 说明
GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT 补货建议(推荐使用 restock-report 快捷命令)
GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA 活跃 FBA 库存详情
GET_FBA_MYI_ALL_INVENTORY_DATA 全部 FBA 库存(含已归档)
GET_AFN_INVENTORY_DATA FBA 库存数量
GET_FBA_INVENTORY_PLANNING_DATA 库存规划数据(老化库存、过剩库存、费用等)
GET_FLAT_FILE_OPEN_LISTINGS_DATA 活跃商品列表(扁平文件格式)
GET_MERCHANT_LISTINGS_ALL_DATA 全部商品列表
GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL FBA 发货记录
GET_LEDGER_SUMMARY_VIEW_DATA 库存账本(对账用途)
GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE 退货记录
GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE 结算报表

完整报表类型列表见:https://developer-docs.amazon.com/sp-api/docs/report-type-values。

输出结构

每个列表类命令均输出如下格式:

{ "count": N, "": [ … ] }

其中 与命令名一致(如 orders、items、inventory、reports)。单条记录查询命令则直接输出资源对象本身。错误响应统一返回 { "error": "...", "detail": "..." } 格式,并以非零退出码表示失败。

实用模式

  • 日常运营健康检查。 使用 orders --status Unshipped --summary 查看待处理订单队列,再执行 inventory --summary 评估库存水位,最后运行 finances --since 检查结算变动。
  • 补货计划制定。 执行 restock-report --output restock.tsv —— 单一命令即可返回解析后的行数据,Agent 可直接用于电子表格聚合或图表渲染。
  • 单笔订单资金流对账。 依次执行 order 、order-items 和 finances --order-id ,即可获知该订单的商品明细、发货情况及 Amazon 实际结算金额。

注意事项

  • 速率限制 按终端节点独立设定且较为严格。脚本在收到 HTTP 429 响应时,会依据服务器返回的 Retry-After 头进行重试。
  • 区域漂移问题。 若设置的 AWS_REGION 值未在上表中列出,脚本将自动回退至 EU 终端节点。如需显式指定,请从三个已知区域(us-east-1、eu-west-1、us-west-2)中选择其一。
  • 报表最终一致性。 对于大时间范围的报表,即使状态显示为 DONE,实际数据就绪仍可能延迟数分钟。restock-report 最多轮询 10 分钟(共 60 次 × 10 秒);超时后请改用 create-report + get-report/get-report-document 组合,并按自身节奏轮询。
  • 终端节点文档: https://developer-docs.amazon.com/sp-api/。

在本技能中执行 SP-API 相关操作时,必须始终调用 scripts/amazon_api.py —— 不得手动构造 SigV4 或 LWA 请求;所有列表命令均须以 --summary 启动;错误信息须原样透出,不可猜测性处理 —— 此即本技能的正确使用方式。

相关专题

更多
Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习