| name | linkfox-amazon-store-feeds |
| description | 亚马逊店铺 Feeds(与 linkfox-amazon-store-auth / report / listings / pricing / orders 同系列),经 /spApi/developerProxy 调用 SP-API Feeds v2021-06-30:createFeedDocument、getFeedDocument、createFeed、getFeed、getFeeds、cancelFeed;另含 upload_feed_document 向预签名 URL 上传内容。当用户提到亚马逊 Feed、提交库存/Listing Feed、POST_FLAT_FILE、feedType、feedDocumentId、feedId、取消 Feed、查询 Feed 处理状态、Feeds API、SP-API 上传文件 时触发。 |
Amazon 店铺 Feeds
本 skill 与 linkfox-amazon-store-auth 等同属 Amazon Store 系列:先 POST /spApi/storeTokens,再 POST /spApi/developerProxy 转发 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 进入上下文。
解决认证和积分问题
发生以下异常情况时,采用以下措施来处理:
异常情况
- 未配置API Key:环境变量未配置
LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY。
- 响应401或402状态码
- 响应提示积分或余额不足:消息含"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。
措施
官方参考索引
Prerequisites
- 依赖
linkfox-amazon-store-auth;运行 python scripts/check_auth_dependency.py,exit 42 时需先安装授权 skill。
- 应用需具备 Feeds 相关角色;
feedType 须与上传文件格式匹配(见 Amazon Feed Type Values 文档)。
典型工作流
create_feed_document.py → 得到 feedDocumentId 与 url(上传地址)。
upload_feed_document.py → 对 url PUT 上传 feed 文件(不经 developerProxy)。
create_feed.py → 传入 inputFeedDocumentId、feedType、marketplaceIds。
get_feed.py / get_feeds.py → 轮询 processingStatus(如 IN_QUEUE、IN_PROGRESS、DONE、FATAL)。
- 处理完成后用
get_feed_document.py 下载 resultFeedDocumentId 对应文档(再按返回 URL 自行下载结果文件)。
Current Capabilities
| 能力 | path | method | 脚本 |
|---|
| createFeedDocument | feeds/2021-06-30/documents | POST | create_feed_document.py |
| getFeedDocument | feeds/2021-06-30/documents/{feedDocumentId} | GET | get_feed_document.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 | upload_feed_document.py |
共享模块:_spapi_feeds_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