SKILL.md
Amazon 店铺 Feeds
本 skill 与 linkfox-amazon-store-auth 等同属 Amazon Store 系列:依赖 linkfox-amazon-store-auth 选店(sellerId+region);直接 POST /spApi/developerProxy 传入 sellerId+region,由服务端解析 token(勿传 amzAccessToken,除非兼容旧调用)。转发 GET / POST / DELETE。
调用方式
- API 端点:
POST /spApi/developerProxy(不同操作通过请求体区分;完整参数/响应/错误码见 references/api.md)
- Python 脚本:
python scripts/<脚本名>.py '<JSON 参数>' [--inline](可用脚本见上文脚本一览)
- 成本约束:本工具会消耗积分;失败/空结果不得自动换关键词、翻页或连续试探;需要继续检索时先向用户说明会产生额外消耗。
输出策略(脚本默认行为):
- 始终将完整响应写入
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-amazon-store-feeds-<timestamp>.json(<cwd> 为脚本执行时的工作目录,在 Claude Code 里即当前项目目录;<session> 取自环境变量 SESSION_ID,按用户任务自动聚合;禁止写入 /tmp,当前目录不可写则报错)
- 响应体 ≤ 8 KB:落盘后把完整 JSON 打印到 stdout
- 响应体 > 8 KB:落盘后 stdout 只输出摘要(顶层字段、常见计数如
total/costToken、最大列表字段的长度 + 前 3 条样本)
- 加
--inline 强制全量打印到 stdout(同样落盘)
读数据建议:先看摘要判断是否足够;需要具体字段时优先用 jq或ConvertFrom-Json 从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。
解决认证和积分问题
发生以下异常情况时,采用 references/onboarding.md 引导解决问题:
异常情况
- 未配置API Key:环境变量未配置
LINKFOXAGENTAPIKEY,也未配置 LINKFOXAGENTAPI_KEY。
- 响应401或402状态码
- 响应提示积分或余额不足:消息含"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。
官方参考索引
Prerequisites
- 依赖
linkfox-amazon-store-auth;运行 python scripts/checkauthdependency.py,exit 42 时需先安装授权 skill。
- 应用需具备 Feeds 相关角色;
feedType 须与上传文件格式匹配(见 Amazon Feed Type Values 文档)。
典型工作流
createfeeddocument.py → 得到 feedDocumentId 与 url(上传地址)。
uploadfeeddocument.py → 对 url PUT 上传 feed 文件(不经 developerProxy)。
create_feed.py → 传入 inputFeedDocumentId、feedType、marketplaceIds。
getfeed.py / getfeeds.py → 轮询 processingStatus(如 INQUEUE、INPROGRESS、DONE、FATAL)。
- 处理完成后用
getfeeddocument.py 下载 resultFeedDocumentId 对应文档(再按返回 URL 自行下载结果文件)。
Current Capabilities
| 能力 |
path |
method |
脚本 |
| createFeedDocument |
feeds/2021-06-30/documents |
POST |
createfeeddocument.py |
| getFeedDocument |
feeds/2021-06-30/documents/{feedDocumentId} |
GET |
getfeeddocument.py |
| createFeed |
feeds/2021-06-30/feeds |
POST |
create_feed.py |
| getFeed |
feeds/2021-06-30/feeds/{feedId} |
GET |
get_feed.py |
| getFeeds |
feeds/2021-06-30/feeds |
GET |
get_feeds.py |
| cancelFeed |
feeds/2021-06-30/feeds/{feedId} |
DELETE |
cancel_feed.py |
| 上传文档内容 |
createFeedDocument 返回的 URL |
PUT |
uploadfeeddocument.py |
共享模块:spapifeeds_common.py。
Scripts 示例
export LINKFOXAGENT_API_KEY="<your-key>"
python scripts/create_feed_document.py '{"sellerId":"A1...","region":"NA","contentType":"text/tab-separated-values; charset=UTF-8"}'
python scripts/upload_feed_document.py '{"uploadUrl":"<from createFeedDocument>","contentType":"text/tab-separated-values; charset=UTF-8","filePath":"./inventory.tsv"}'
python scripts/create_feed.py '{"sellerId":"A1...","region":"NA","feedType":"POST_FLAT_FILE_INVLOADER_DATA","marketplaceIds":["ATVPDKIKX0DER"],"inputFeedDocumentId":"<feedDocumentId>"}'
Display Rules
- 先看
developerProxy.errcode / httpStatus;createFeedDocument 常为 201,createFeed 常为 202。
- getFeeds 分页:仅用上一页
nextToken 作为下一请求的 paginationToken 参数名在 Amazon 侧为 nextToken(脚本字段名 nextToken)。
- upload 失败与 SP-API 网关无关,检查
uploadUrl 是否过期、Content-Type 是否与 createFeedDocument 一致。
- 网关 path 白名单需包含
feeds/2021-06-30/ 前缀。
Important Limitations
- 本 skill 不代替 Amazon 侧 feed 文件 schema 校验;
feedType、TSV/XML 格式以官方为准。
- 下载 getFeedDocument 返回的 url 内容需另行 HTTP GET(与 upload 类似,不经 developerProxy)。
- 详见
references/api.md。
积分消耗规则
不消耗积分。
Feedback: skillName:linkfox-amazon-store-feeds。
更多跨境 skill:LinkFox Skills