| name | linkfox-amazon-store-pricing |
| description | 亚马逊店铺商品定价(与 linkfox-amazon-store-auth / linkfox-amazon-store-report / linkfox-amazon-store-listings 同系列),经 /spApi/developerProxy 调用 SP-API Product Pricing:v0 的 getPricing、getCompetitivePricing、getListingOffers、getItemOffers、getItemOffersBatch、getListingOffersBatch;2022-05-01 的 getFeaturedOfferExpectedPriceBatch、getCompetitiveSummary。含 ASIN/SKU 单条与批量、FOEP、竞争摘要。当用户提到亚马逊定价、比价、低价报价、listing/item offers、batch pricing、FOEP、featured offer、competitive summary、Product Pricing、SP-API 价格 时触发。 |
Amazon 店铺 Product Pricing
本 skill 与 linkfox-amazon-store-auth、linkfox-amazon-store-report、linkfox-amazon-store-listings 同属 Amazon Store 系列:先 POST /spApi/storeTokens 取 accessToken,再 POST /spApi/developerProxy 转发上游 GET 或 POST(与 listings 的 PUT/PATCH 代理方式一致)。
调用方式
- API 端点:
POST /spApi/developerProxy(不同操作通过请求体区分;完整参数/响应/错误码见 references/api.md)
- Python 脚本:
python scripts/<脚本名>.py '<JSON 参数>' [--inline](可用脚本见上文脚本一览)
- 成本约束:本工具会消耗积分;失败/空结果不得自动换关键词、翻页或连续试探;需要继续检索时先向用户说明会产生额外消耗。
输出策略(脚本默认行为):
- 始终将完整响应写入
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/<skill-name>-<timestamp>.json(<cwd> 为脚本执行时的工作目录,在 Claude Code 里即当前项目目录;<session> 取自环境变量 SESSION_ID,按用户任务自动聚合;禁止写入 /tmp,当前目录不可写则报错)
- 响应体 ≤ 8 KB:落盘后把完整 JSON 打印到 stdout
- 响应体 > 8 KB:落盘后 stdout 只输出摘要(顶层字段、常见计数如
total/costToken、最大列表字段的长度 + 前 3 条样本)
- 加
--inline 强制全量打印到 stdout(同样落盘)
读数据建议:先看摘要判断是否足够;需要具体字段时优先用 jq或ConvertFrom-Json或ConvertFrom-Json 从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。
解决认证和积分问题
发生以下异常情况时,采用以下措施来处理:
异常情况
- 未配置API Key:环境变量未配置
LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY。
- 响应401或402状态码
- 响应提示积分或余额不足:消息含"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。
措施
官方参考索引
Prerequisites(必须先读)
本 skill 依赖 linkfox-amazon-store-auth。
- 运行
python scripts/check_auth_dependency.py;若 exit code 42 且 stderr 含 DEPENDENCY_MISSING:,请先安装 linkfox-amazon-store-auth。
- 不要在本 skill 内绕过依赖实现授权或令牌逻辑。
Current Capabilities(脚本一览)
| 能力 | developerProxy path(要点) | 脚本 |
|---|
| getPricing | products/pricing/v0/price + Query | get_pricing.py |
| getCompetitivePricing | products/pricing/v0/competitivePrice + Query | get_competitive_pricing.py |
| getListingOffers | products/pricing/v0/listings/{sku}/offers + Query | get_listing_offers.py |
| getItemOffers | products/pricing/v0/items/{asin}/offers + Query | get_item_offers.py |
| getItemOffersBatch | batches/products/pricing/v0/itemOffers,POST JSON body | post_item_offers_batch.py |
| getListingOffersBatch | batches/products/pricing/v0/listingOffers,POST JSON body | post_listing_offers_batch.py |
| getFeaturedOfferExpectedPriceBatch | batches/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice,POST | post_featured_offer_expected_price_batch.py |
| getCompetitiveSummary | batches/products/pricing/2022-05-01/items/competitiveSummary,POST | post_competitive_summary_batch.py |
批量脚本(post_*_batch.py)在默认模式下会按 Amazon 要求组装子请求;高级用法可设 useAmazonRequestShape: true,直接传 requests 为官方原始数组(仍受条数上限约束)。共享逻辑见 scripts/_spapi_pricing_common.py(仅供同目录脚本 import,非独立 CLI)。
Quick Parameters(摘要)
- getPricing / getCompetitivePricing:
sellerId、region、marketplaceId(或 marketplaceIds 取首)、itemType、asins 或 skus(≤20);getPricing 另有 itemCondition、offerType;getCompetitivePricing 另有 customerType。
- getListingOffers / getItemOffers:
sku+path 或 asin+path;itemCondition 必填;可选 customerType。
- Item / Listing Offers Batch:
requests 数组,默认每项为简化对象(见 references/api.md);1~20 条(FOEP 批量脚本为 最多 40 条)。
- getCompetitiveSummary 批量:每项需
asin、marketplaceId、includedData(非空字符串数组);可选 lowestPricedOffersInputs。
- getFeaturedOfferExpectedPriceBatch:每项需
marketplaceId、sku、segment(对象,结构以官方为准)。
Scripts
get_pricing.py · get_competitive_pricing.py · get_listing_offers.py · get_item_offers.py
post_item_offers_batch.py · post_listing_offers_batch.py · post_featured_offer_expected_price_batch.py · post_competitive_summary_batch.py
check_auth_dependency.py · _spapi_pricing_common.py(内部模块)
export LINKFOXAGENT_API_KEY="<your-key>"
python scripts/get_item_offers.py '{"sellerId":"A1...","region":"NA","asin":"B0...","marketplaceId":"ATVPDKIKX0DER","itemCondition":"New"}'
python scripts/post_item_offers_batch.py '{"sellerId":"A1...","region":"NA","requests":[{"asin":"B0...","marketplaceId":"ATVPDKIKX0DER","itemCondition":"New"}]}'
Display Rules
MarketplaceId(单数)与 Listings 的 marketplaceIds 勿混用。
- 先看网关
errcode / httpStatus,再解析各脚本对应的解析字段(如 itemOffers、itemOffersBatch、competitiveSummary 等)。
- POST 类接口:
stdout 中含 requestBody(脚本组装的 Amazon 请求体),便于排查。
- 白名单:除
products/pricing/... 外,批量路径以 batches/products/pricing/... 开头;1005 时需后端放行对应前缀。
- 各接口 Usage plan 不同(尤其 2022-05-01 批量约 0.033 req/s),注意 429。
Important Limitations
- 权限:Product Pricing 及相关角色;部分 2022-05-01 能力可能另有应用内配置要求,以 Amazon 为准。
- FOEP 批量:
segment 须符合官方模型;条数上限脚本按 40 校验(与文档「up to 40」一致)。
- 返回结构以 Amazon schema 为准;详见
references/api.md。
积分消耗规则
不消耗积分。
Feedback: 见 references/api.md,skillName:linkfox-amazon-store-pricing。
更多跨境 skill:LinkFox Skills