最近在折腾用 OpenClaw 调用亚马逊后台数据,把整个过程记录下来,供有需要的同学参考。
一、数据准备
通过亚马逊后台申请必要权限。申请资料填写亚马逊的注册企业资料。
申请时注意:用途仅为本企业内使用,不与外部共享。这样申请下来的开发者为私人开发者,可以避免很多资料审核上的麻烦。
申请通过后,添加 APP 客户端。权限内容根据需要选择,建议勾选以下几项:
- 财务与会计核算
- 销售伙伴
- 买家沟通
- 库存和订单追踪
- 品牌分析
- 亚马逊仓储和分拨服务
博主目前只有订单数据可以获取,其他数据权限还在与亚马逊开 CASE 沟通中。
二、获取密钥凭证
创建好应用名称后,通过 LWA 凭证栏目获取:
LWA_APP_IDLWA_CLIENT_SECRET
在编辑应用程序后面的三个点,可以获取:
AMAZON_REFRESH_TOKEN

三、创建文件
在 OpenClaw 的 skill 文件夹下新建一个文件夹,命名 get-amazon-date。

1. .env 文件
放入上面三个密钥:
AMAZON_REFRESH_TOKEN=授权令牌
LWA_APP_ID=应用程序ID
LWA_CLIENT_SECRET=你的密钥
2. fetch_amazon_sales.py
import os
import json
from datetime import datetime, timedelta
from pathlib import Path
from dotenv import load_dotenv
from sp_api.api import Orders
from sp_api.base import Marketplaces
env_path = Path(__file__).parent / ".env"
load_dotenv(dotenv_path=env_path)
def get_sales_data():
credentials = {
"refresh_token": os.getenv("AMAZON_REFRESH_TOKEN"),
"lwa_app_id": os.getenv("LWA_APP_ID"),
"lwa_client_secret": os.getenv("LWA_CLIENT_SECRET"),
}
if not all(credentials.values()):
return "错误:.env 文件中缺少必要配置"
try:
obj = Orders(credentials=credentials, marketplace=Marketplaces.US)
created_after = (datetime.utcnow() - timedelta(days=7)).isoformat()
res = obj.get_orders(CreatedAfter=created_after)
raw_orders = res.payload.get('Orders', [])
if not raw_orders:
return "最近 7 天暂无订单数据。"
refined_orders = []
for order in raw_orders:
refined_orders.append({
"订单号": order.get("AmazonOrderId"),
"下单时间": order.get("PurchaseDate"),
"状态": order.get("OrderStatus"),
"金额": order.get("OrderTotal", {}).get("Amount", "0.00"),
"币种": order.get("OrderTotal", {}).get("CurrencyCode", "USD"),
"配送方式": order.get("FulfillmentChannel"),
"城市": order.get("ShippingAddress", {}).get("City", "N/A"),
"州": order.get("ShippingAddress", {}).get("StateOrRegion", "N/A"),
"类型": "企业订单" if order.get("IsBusinessOrder") else "个人订单"
})
return json.dumps(refined_orders, ensure_ascii=False, indent=2)
except Exception as e:
return f"亚马逊数据获取失败: {str(e)}"
if __name__ == "__main__":
print(get_sales_data())
四、创建 SKILL.MD
# 技能名称:亚马逊运营数据助手
## 基础信息
- **ID**: com.niubiplus.amazon.helper
- **版本**: 1.1.0
- **作者**: CBnotes.net
- **描述**: 针对亚马逊卖家开发的自动化数据查询工具,支持按时间维度、特定 SKU 精准调取订单数据。
## 触发指令示例
### 销售与订单查询
- "帮我查一下近3天的销售额"
- "上周总共卖了多少单?"
### 库存查询
- "帮我查看 SKU [ABC-123] 的库存情况"
- "哪些产品快没货了?"
### 综合指令
- "对比一下最近两天订单数量的变化"
五、后记
整个过程都是自己折腾出来的,如果有大神发现其中问题,欢迎不吝赐教。后续也会继续更新更多数据权限的调用教程。
小白自己折腾,如果有大神发现其中问题,不吝赐教。