Files
makemd/docs/API_Documentations/Amazon_API_Documentation.md
wurenzhi 2b86715c09 refactor: 优化代码结构并修复类型问题
- 移除未使用的TabPane组件
- 修复类型定义和导入方式
- 优化mock数据源的环境变量判断逻辑
- 更新文档结构并归档旧文件
- 添加新的UI组件和Memo组件
- 调整API路径和响应处理
2026-03-23 12:41:35 +08:00

11 KiB
Raw Blame History

Amazon Selling Partner API 文档

1. 概述

Amazon Selling Partner API (SP-API) 是Amazon为卖家和开发者提供的开放API平台旨在帮助卖家更高效地管理其在Amazon平台上的业务。通过SP-API开发者可以创建各种工具和服务帮助卖家处理产品管理、订单处理、库存管理等业务流程。

Amazon是全球最大的电子商务平台之一其Selling Partner API提供了丰富的接口支持卖家在全球多个Amazon站点上开展业务。

2. API分类

2.1 认证API

接口名称 功能描述 适用场景
Authorization API 处理OAuth 2.0授权流程 API认证、授权
Tokens API 获取和管理访问令牌 保持API访问权限

2.2 产品管理API

接口名称 功能描述 适用场景
Catalog Items API 管理产品目录信息 产品管理、目录同步
Listings Items API 管理产品 listings 商品上架、信息更新
Product Type Definitions API 获取产品类型定义 产品创建、属性管理

2.3 订单管理API

接口名称 功能描述 适用场景
Orders API 管理订单信息 订单处理、订单同步
Order Items API 管理订单商品信息 订单详情、库存管理
Order Reports API 获取订单报告 订单分析、财务报表

2.4 库存管理API

接口名称 功能描述 适用场景
FBA Inventory API 管理FBA库存 库存监控、库存管理
Merchant Fulfillment API 管理商家自配送 订单发货、物流管理
Supply Sources API 管理供应源 库存规划、供应链管理

2.5 价格管理API

接口名称 功能描述 适用场景
Pricing API 管理产品价格 价格监控、动态定价
Product Fees API 获取产品费用信息 成本计算、定价策略

2.6 报告API

接口名称 功能描述 适用场景
Reports API 获取各种业务报告 销售分析、库存分析
Finances API 获取财务报告 财务分析、会计集成
Sales API 获取销售数据 销售分析、业绩评估

2.7 卖家信息API

接口名称 功能描述 适用场景
Sellers API 获取卖家信息 账户管理、权限控制
Merchant Insights API 获取商家洞察 业务分析、决策支持

3. API认证与授权

3.1 开发者注册流程

注册地址Amazon Developer Console

注册资格

  • 企业开发者:需要提供企业营业执照、税务登记证等
  • 个人开发者:需要提供个人身份证明
  • 必须拥有Amazon卖家账号

所需材料

  1. 企业营业执照(企业开发者)
  2. 税务登记证(企业开发者)
  3. 法人身份证明
  4. 联系方式(邮箱、电话)
  5. Amazon卖家账号信息
  6. 银行账户信息(用于收款)

注册步骤

  1. 访问Amazon Developer Console注册地址
  2. 点击"Sign up"按钮,创建开发者账号
  3. 填写注册信息,验证邮箱
  4. 登录开发者控制台
  5. 创建应用获取Client ID和Client Secret
  6. 设置应用回调地址
  7. 配置IAM角色用于服务器到服务器调用
  8. 获取测试环境访问权限

注意事项

  • 确保提供真实有效的信息
  • 保护好Client ID和Client Secret避免泄露
  • 遵守Amazon的使用条款和限制
  • 定期更新API密钥以保证安全
  • 如遇到注册问题可联系Amazon开发者支持

3.2 认证流程

  1. 注册Amazon卖家账号
  2. 在Amazon Developer Console创建应用并获取API密钥Client ID和Client Secret
  3. 实现OAuth 2.0授权流程获取访问令牌
  4. 使用访问令牌调用API接口

3.3 授权方式

  • OAuth 2.0授权基于标准的OAuth 2.0协议
  • IAM角色用于服务器到服务器的API调用
  • 访问令牌有效期为1小时
  • 刷新令牌:用于获取新的访问令牌

4. API调用示例

4.1 获取访问令牌示例

import requests

def get_access_token(client_id, client_secret, refresh_token):
    url = "https://api.amazon.com/auth/o2/token"
    
    payload = {
        "grant_type": "refresh_token",
        "client_id": client_id,
        "client_secret": client_secret,
        "refresh_token": refresh_token
    }
    
    headers = {
        "Content-Type": "application/x-www-form-urlencoded"
    }
    
    response = requests.post(url, data=payload, headers=headers)
    return response.json()

4.2 订单列表查询示例

import requests

def get_orders(access_token, marketplace_ids, created_after, limit=10):
    url = "https://sellingpartnerapi-na.amazon.com/orders/v0/orders"
    
    params = {
        "MarketplaceIds": marketplace_ids,
        "CreatedAfter": created_after,
        "Limit": limit
    }
    
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
        "x-amz-access-token": access_token
    }
    
    response = requests.get(url, params=params, headers=headers)
    return response.json()

4.3 产品上传示例

import requests
import json

def create_product_listing(access_token, marketplace_id, product_data):
    url = f"https://sellingpartnerapi-na.amazon.com/listings/2021-08-01/items/{marketplace_id}"
    
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
        "x-amz-access-token": access_token
    }
    
    response = requests.post(url, json=product_data, headers=headers)
    return response.json()

5. API返回值解析

5.1 访问令牌API返回值

字段名 类型 描述
access_token String 访问令牌
token_type String 令牌类型,通常为"Bearer"
expires_in Number 令牌过期时间(秒)
refresh_token String 刷新令牌

5.2 订单API返回值

字段名 类型 描述
AmazonOrderId String Amazon订单ID
PurchaseDate String 订单购买日期
LastUpdateDate String 订单最后更新日期
OrderStatus String 订单状态
FulfillmentChannel String 配送渠道
SalesChannel String 销售渠道
OrderTotal Object 订单总金额
ShippingAddress Object 配送地址
BuyerInfo Object 买家信息
OrderItems Array 订单商品列表

5.3 产品API返回值

字段名 类型 描述
ASIN String Amazon标准识别号
SKU String 卖家SKU
Title String 产品标题
Price Object 价格信息
Description String 产品描述
Images Array 产品图片URL列表
Attributes Object 产品属性
Status String 产品状态

5.4 错误码定义

错误码 错误消息 可能原因 解决方法
400 Bad Request 请求参数错误 检查请求参数是否符合要求
401 Unauthorized 认证失败 检查API密钥和访问令牌是否正确
403 Forbidden 权限不足 检查应用是否有相应的权限
404 Not Found 资源不存在 检查请求的资源ID是否正确
429 Too Many Requests 请求频率过高 减少API调用频率实现限流机制
500 Internal Server Error 服务器内部错误 稍后重试,如持续失败联系平台支持
503 Service Unavailable 服务不可用 稍后重试检查Amazon服务状态
4001 Invalid Marketplace ID 无效的市场ID 检查Marketplace ID是否正确
4002 Invalid SKU 无效的SKU 检查产品SKU是否存在
4003 Invalid ASIN 无效的ASIN 检查ASIN是否正确
4004 Order Not Found 订单不存在 检查订单ID是否正确
4005 Inventory Not Available 库存不可用 检查库存水平,确保有足够库存

6. 最佳实践

6.1 API调用频率限制

  • 遵守Amazon的API调用频率限制
  • 使用批量操作减少API请求次数
  • 实现指数退避策略处理限流

6.2 错误处理

  • 正确处理API返回的错误码
  • 实现重试机制处理临时错误
  • 监控API调用成功率

6.3 安全措施

  • 保护API密钥和访问令牌
  • 使用HTTPS协议进行API调用
  • 定期更新访问令牌
  • 限制API密钥的权限范围

6.4 安全最佳实践

  • API密钥保护

    • 不要在代码中硬编码Client ID和Client Secret
    • 使用环境变量或安全的配置管理系统存储API密钥
    • 定期更换API密钥
    • 限制API密钥的使用范围
  • 访问令牌管理

    • 妥善存储访问令牌和刷新令牌
    • 设置合理的令牌过期时间
    • 实现令牌自动刷新机制
    • 避免在客户端存储敏感令牌
  • 请求安全

    • 始终使用HTTPS协议进行API调用
    • 正确生成和验证请求签名
    • 避免在URL中传递敏感信息
    • 实现请求超时和重试机制
  • 权限控制

    • 仅申请必要的API权限
    • 定期审查应用的权限设置
    • 对不同环境使用不同的API密钥
    • 配置适当的IAM角色权限
  • 数据安全

    • 加密存储用户数据
    • 避免传输敏感信息
    • 实现数据访问控制
    • 定期备份重要数据

6.5 性能优化

  • 合理使用缓存减少API调用
  • 批量处理提高效率
  • 优化请求参数减少响应数据大小
  • 使用适当的API版本

7. 接口使用场景分析

7.1 电商ERP系统集成

  • 产品管理:批量上传、更新产品信息
  • 订单处理:自动同步订单、批量发货
  • 库存管理:实时同步库存信息
  • 价格管理:动态调整价格
  • 数据分析:获取销售数据进行分析

7.2 库存管理系统

  • 库存同步:实时更新库存信息
  • 库存监控:监控库存水平,避免缺货
  • 库存预测:基于销售数据预测库存需求
  • FBA库存管理管理Amazon物流中心的库存

7.3 价格优化工具

  • 价格监控:监控竞争对手价格
  • 动态定价:根据市场情况自动调整价格
  • 促销管理:创建和管理促销活动
  • 成本计算:基于产品费用信息计算成本

8. 总结

Amazon Selling Partner API为卖家和开发者提供了丰富的接口涵盖了认证、产品管理、订单管理、库存管理、价格管理和报告等各个方面。通过合理使用这些API开发者可以创建各种工具和服务帮助卖家提高运营效率、提升销售业绩。

在使用Amazon API时开发者需要注意遵守平台的使用规则合理控制API调用频率确保数据安全并不断优化API调用策略以获得最佳的使用效果。

9. 参考资源