亚马逊作为全球最大的电商平台,提供了一套全面的 API 体系,用于对接其电商生态。目前主要分为Selling Partner API (SP-API)(新一代)和Marketplace Web Service (MWS)(传统,逐步被替代)。以下重点分析 SP-API 的特性,并实现 Python 调用框架。
一、亚马逊 SP-API 核心特性分析
1. 接口体系与功能域
SP-API 是亚马逊为卖家提供的现代化 API,覆盖跨境电商全流程,核心功能域包括:
商品管理:创建 / 更新商品、查询商品详情(如catalogItems接口组);
订单管理:获取订单、更新订单状态、处理退款(如orders接口组);
库存管理:查询库存、更新库存数量(如inventory接口组);
定价管理:设置商品价格、获取竞品价格(如pricing接口组);
物流管理:创建物流计划、跟踪物流信息(如fulfillmentInbound接口组);
销售分析:获取销售报表、流量数据(如reports接口组)。
2. 认证与安全机制
SP-API 采用OAuth 2.0 + 数字签名的双层认证体系,安全性极高:
LWA 认证(Login with Amazon):
开发者需在亚马逊开发者平台注册应用,获取Client ID和Client Secret;
通过https://api.amazon.com/auth/o2/token接口获取access_token(有效期 1 小时),用于 API 调用。
请求签名:
所有请求必须用 AWS Signature Version 4 规范签名;
签名需包含请求头、URL、时间戳等信息,防止请求被篡改或重放。
3. 接口规范与地域特性
协议与格式:强制 HTTPS,请求 / 响应均为 JSON;
地域端点:不同地区有独立 API 端点(如北美https://sellingpartnerapi-na.amazon.com、欧洲https://sellingpartnerapi-eu.amazon.com);
版本控制:接口版本在 URL 中指定(如/orders/v0/orders);
节流机制:按 API 组设置调用限额(如订单接口默认每秒 2 次),超限返回429错误。
4. 错误处理机制
SP-API 的错误响应包含三层信息:
HTTP 状态码:4xx客户端错误(如401认证失败)、5xx服务端错误;
错误类型:ErrorType字段标识错误类别(如InvalidInput、QuotaExceeded);
详细信息:Message字段描述具体错误原因,Code字段提供错误码(如InvalidOrderId)。
二、Python 脚本实现:亚马逊 SP-API 调用框架
以下实现 SP-API 的通用调用框架,包含 LWA 认证、AWS 签名、请求处理,并以 “获取订单列表” 和 “查询商品详情” 为例演示。
1. 环境准备
注册亚马逊开发者账号,创建 SP-API 应用,获取Client ID、Client Secret和AWS Access Key、AWS Secret Key;
安装依赖:pip install requests boto3(boto3用于 AWS 签名)
2. 完整脚本实现
三、关键技术点解析
1. 双层认证的实现
LWA 认证:通过client_credentials模式获取access_token,注意 token 有效期为 1 小时,需在过期前自动刷新;
AWS 签名:使用boto3库的SigV4Auth实现签名,需正确设置服务名(sellingpartnerapi)和地区,否则签名无效。
2. 地域与市场 ID 映射
亚马逊全球有多个市场(如美国、英国、日本等),需正确匹配region和marketplace_id:
地区 区域代码 市场 ID(示例)
北美 us-east-1 美国:ATVPDKIKX0DER
欧洲 eu-west-1 英国:A1F83G8C2ARO7P
亚太 us-west-2 日本:A1VC38T7YXB528
3. 时间格式处理
SP-API 要求所有时间参数使用UTC 时区的 ISO 8601 格式(如2023-08-01T12:00:00Z),需注意:
避免使用本地时间(如北京时间需转换为 UTC);
时间戳需精确到秒,末尾加Z表示 UTC。
4. 节流与重试策略
当收到429错误(请求超限)时,需根据Retry-After响应头的建议时间重试;
实现指数退避重试(如 1 秒→2 秒→4 秒),避免频繁请求加重服务器负担。
四、扩展与实战建议
分页处理:SP-API 采用分页返回大量数据(如订单列表),需通过NextToken参数实现翻页;
批量操作:使用reports接口组创建批量报表,高效获取大量数据(如批量商品信息);
异常监控:集成 Sentry 等工具监控 API 错误,重点关注5xx服务端错误和401认证错误;
合规性:严格遵守亚马逊 API 使用规范,禁止爬取未授权数据,避免账号被封禁。
通过上述框架,可实现与亚马逊 SP-API 的稳定对接,适用于跨境电商 ERP 系统、多平台管理工具等场景。实际开发中需参考,根据具体业务需求扩展接口封装。