mcpField
L
linkfox-amazon-store-listings

linkfox-amazon-store-listings

github.com/linkfox-aiマーケティング・グロース113340 回インストール2 週間前に更新
リポジトリ

linkfox-amazon-store-listings について

`linkfox-amazon-store-listings` は、Amazon ストアの商品出品と関連 API を扱うスキルです。出品者 SKU の管理に加え、出品制限の確認や Product Type 定義の取得にも対応します。

主な機能

  1. 01出品情報の取得と一覧検索
  2. 02出品の作成・部分更新・削除
  3. 03ASIN の出品制限確認
  4. 04Product Type の検索と定義取得

活用シーン

  1. 01出品者 SKU の出品情報を確認
  2. 02条件に合う出品を検索
  3. 03商品出品を更新または削除
  4. 04ASIN の制限と Product Type 定義を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/linkfox-ai/linkfox-skills --skill linkfox-amazon-store-listings

インストール後、Claude Code で/linkfox-amazon-store-listingsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api.md
onboarding.md
scripts/
_spapi_listings_common.py
check_auth_dependency.py
delete_listings_item.py
get_definitions_product_type.py
get_listings_item.py
get_listings_restrictions.py
onboarding.py
patch_listings_item.py
put_listings_item.py
search_definitions_product_types.py
search_listings_items.py

詳細

Amazon 店铺 Listings 与相关 API

本 skill 与 linkfox-amazon-store-auth、linkfox-amazon-store-report 同属 Amazon Store 系列:依赖 linkfox-amazon-store-auth 选店(sellerId+region);直接 POST /spApi/developerProxy 传入 sellerId+region,由服务端解析 token(勿传 amzAccessToken,除非兼容旧调用)。转发上游 GET、PATCH、PUT 或 DELETE。

操作官方参考
单条刊登getListingsItem
检索列表searchListingsItems
部分更新刊登patchListingsItem
创建 / 全量更新刊登putListingsItem
删除刊登deleteListingsItem
刊登限制(ASIN)getListingsRestrictions
搜索 product typesearchDefinitionsProductTypes
获取 product type 定义getDefinitionsProductType

调用方式

  • 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 进入上下文。

解决认证和算力问题

发生以下异常情况时,采用 references/onboarding.md 引导解决问题:

异常情况
  • 未配置API Key:环境变量未配置 LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY。
  • 响应401或402状态码
  • 响应提示算力或余额不足:消息含"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。

Prerequisites(必须先读)

本 skill 依赖 linkfox-amazon-store-auth。流程与 linkfox-amazon-store-report 相同:

  1. 运行 python scripts/check_auth_dependency.py;若 exit code 42 且 stderr 含 DEPENDENCY_MISSING:,请先安装 linkfox-amazon-store-auth。
  2. 不要在本 skill 内绕过依赖实现授权或令牌逻辑。

Current Capabilities

能力Path 要点脚本
获取单条 Listinglistings/2021-08-01/items/{sellerId}/{sku} + Queryscripts/get_listings_item.py
搜索刊登列表listings/2021-08-01/items/{sellerId} + Query(无路径尾段 SKU)scripts/search_listings_items.py
部分更新 Listing(PATCH)同 get 路径 + Query + JSON bodyscripts/patch_listings_item.py
创建 / 全量更新 Listing(PUT)同 get 路径 + Query + body;marketplaceIds 仅 1 个scripts/put_listings_item.py
删除 Listing(DELETE)同 get 路径 + Query(marketplaceIds 仅 1 个)scripts/delete_listings_item.py
刊登限制listings/2021-08-01/restrictions + Query(asin、sellerId、marketplaceIds 等)scripts/get_listings_restrictions.py
搜索 Product Typedefinitions/2020-09-01/productTypes + Queryscripts/search_definitions_product_types.py
获取 Product Type 定义definitions/2020-09-01/productTypes/{productType} + Query;marketplaceIds 仅 1 个scripts/get_definitions_product_type.py

searchListingsItems 下 identifiers / variationParentSku / packageHierarchySku 三者互斥(仅该接口;见 references/api.md)。searchDefinitionsProductTypes 下 keywords 与 itemName 互斥。


Quick Parameters

getListingsItem(単一)
フィールド必須説明
sellerIdはい認可済み Seller ID
regionはいNA / EU / FE
skuはい出品者 SKU(ASIN ではありません)
marketplaceIdsはい1 つのみの marketplace id を推奨します
includedData / issueLocaleいいえreferences/api.md を参照してください
searchListingsItems(一覧)
フィールド必須説明
sellerIdはい認可済み Seller ID
regionはいNA / EU / FE
marketplaceIdsはい1 つのみの marketplace id を推奨します
identifiers + identifiersTypeいいえ最大 20 個です。variationParentSku、packageHierarchySku と併用できません
variationParentSku / packageHierarchySkuいいえidentifiers とは併用できません
時間範囲 / ステータス / 並べ替え / ページネーションいいえcreatedAfter、lastUpdatedBefore、withStatus、sortBy、pageSize(≤20)、pageToken など。references/api.md を参照してください
patchListingsItem(部分更新)
フィールド必須説明
sellerIdはい認可済み Seller ID
regionはいNA / EU / FE
skuはい出品者 SKU
marketplaceIdsはい配列またはカンマ区切り文字列。スクリプトが Query に追加します
productTypeはいAmazon product type
patchesはい少なくとも 1 件の JSON Patch(op、path など)
includedData / mode / issueLocaleいいえreferences/api.md を参照してください
putListingsItem(作成 / 全件更新)
フィールド必須説明
sellerIdはい認可済み Seller ID
regionはいNA / EU / FE
skuはい出品者 SKU
marketplaceIdsはいちょうど 1 つの marketplace id
productTypeはいAmazon product type
requirementsはいLISTING | LISTING_PRODUCT_ONLY | LISTING_OFFER_ONLY
attributesはい対象の product type schema に準拠する必要があります
includedData / mode / issueLocaleいいえreferences/api.md を参照してください
deleteListingsItem(削除)
フィールド必須説明
sellerIdはい認可済み Seller ID
regionはいNA / EU / FE
skuはい出品者 SKU
marketplaceIdsはいちょうど 1 つの marketplace id
issueLocaleいいえreferences/api.md を参照してください
getListingsRestrictions
フィールド必須説明
sellerIdはいstoreTokens と Query に使用します
regionはいNA / EU / FE
asinはいカタログ ASIN
marketplaceIdsはい配列またはカンマ区切り文字列
conditionType / reasonLocaleいいえreferences/api.md を参照してください
searchDefinitionsProductTypes
フィールド必須説明
sellerIdはいstoreTokens に使用します
regionはいNA / EU / FE
marketplaceIdsはい配列またはカンマ区切り文字列
keywords または itemNameいいえ両方を同時に指定できません(空でない場合は相互排他)
locale / searchLocaleいいえreferences/api.md を参照してください
getDefinitionsProductType
フィールド必須説明
sellerIdはいstoreTokens に使用します
regionはいNA / EU / FE
productTypeはい例:LUGGAGE(path に設定します)
marketplaceIdsはいちょうど 1 つの id
querySellerIdいいえ上流の Query sellerId(出品者専用 schema)が必要な場合は指定します。通常、sellerId と同じ値です
productTypeVersion / requirements / requirementsEnforced / localeいいえreferences/api.md を参照してください

Scripts

  • scripts/get_listings_item.py — 単一 listing。
  • scripts/search_listings_items.py — 一覧を検索します。
  • scripts/patch_listings_item.py — PATCH による部分更新。
  • scripts/put_listings_item.py — PUT による作成または全件更新。
  • scripts/delete_listings_item.py — DELETE による出品削除。
  • scripts/get_listings_restrictions.py — GET による出品制限の取得。
  • scripts/search_definitions_product_types.py — GET による product type の検索。
  • scripts/get_definitions_product_type.py — GET による product type JSON Schema の取得。
  • scripts/check_auth_dependency.py — 依存関係の確認。

例:

export LINKFOXAGENT_API_KEY="<your-key>"

python scripts/get_listings_item.py '{"sellerId":"A1...","region":"NA","sku":"MY-SKU","marketplaceIds":["ATVPDKIKX0DER"]}'

python scripts/search_listings_items.py '{"sellerId":"A1...","region":"NA","marketplaceIds":["ATVPDKIKX0DER"],"identifiers":["B0XXXXXXXX"],"identifiersType":"ASIN"}'

python scripts/patch_listings_item.py '{"sellerId":"A1...","region":"NA","sku":"MY-SKU","marketplaceIds":["ATVPDKIKX0DER"],"productType":"LUGGAGE","patches":[{"op":"replace","path":"/attributes/item_name","value":[{"value":"New Title","marketplace_id":"ATVPDKIKX0DER"}]}]}'

python scripts/put_listings_item.py '{"sellerId":"A1...","region":"NA","sku":"MY-SKU","marketplaceIds":["ATVPDKIKX0DER"],"productType":"LUGGAGE","requirements":"LISTING","attributes":{"item_name":[{"value":"Title","marketplace_id":"ATVPDKIKX0DER"}]}}'

python scripts/delete_listings_item.py '{"sellerId":"A1...","region":"NA","sku":"MY-SKU","marketplaceIds":["ATVPDKIKX0DER"]}'

python scripts/get_listings_restrictions.py '{"sellerId":"A1...","region":"NA","asin":"B0XXXXXXXX","marketplaceIds":["ATVPDKIKX0DER"]}'

python scripts/search_definitions_product_types.py '{"sellerId":"A1...","region":"NA","marketplaceIds":["ATVPDKIKX0DER"],"keywords":["luggage"]}'

python scripts/get_definitions_product_type.py '{"sellerId":"A1...","region":"NA","productType":"LUGGAGE","marketplaceIds":["ATVPDKIKX0DER"],"querySellerId":"A1..."}'

Display Rules

  1. items 类接口:路径含 卖家 SKU 时强调非 ASIN;searchListingsItems 路径仅到 sellerId。
  2. 展示网关结果时说明 errcode / httpStatus;成功后再解析 body(listing / searchResult / patchResult / putResult / deleteResult / restrictionsResult / productTypesSearchResult / productTypeDefinitionResult)。
  3. searchListingsItems 多页:从 searchResult 取下一页 token(字段名以 Amazon 响应为准),传入 pageToken。
  4. restrictions / definitions 路径与 items 不同;1005 时需为 listings/2021-08-01/restrictions 与 definitions/2020-09-01/productTypes 等前缀分别配置白名单(以运维为准)。
  5. patch / put / delete 为写操作;delete 须谨慎;put 为全量 attributes;patch 仅顶层属性可 patch(以官方为准)。

Important Limitations

  • marketplaceIds:get / searchListingsItems 脚本对多 id 常仅取第一个;put / delete / getDefinitionsProductType 多于 1 个即报错;patch、restrictions、searchDefinitionsProductTypes 行为见 references/api.md。
  • searchListingsItems:pageSize ≤ 20;identifiers ≤ 20。
  • patch:patches 至少 1 条;JSON Patch 的 delete 与 deleteListingsItem 接口不同;Vendor 对部分 patch 可能 400。
  • put:LISTING_OFFER_ONLY 对 Vendor 400。
  • 白名单:listings/.../items、listings/.../restrictions、definitions/2020-09-01/productTypes 均须按需放行。

Amazon SP-API 接口保护与重试指引

同一店铺连续收到 Amazon SP-API 的 400、403、404 或 429 时,网关会返回 450、453、454 或 459 并短暂冷却。这些自定义状态码不是 Amazon 原生状态,也不表示封号;目的是避免持续异常或高频调用扩大店铺风险。

状态与 message范围触发与冷却处理
450:400,请求异常,请优化您的参数店铺+接口60 秒内超过 3 次:5 分钟;10 分钟内超过 4 次:20 分钟停止原参数重试,检查必填字段、marketplace、ID、日期和请求体
453:403,店铺未授权,请先授权店铺全部接口60 秒内超过 2 次:5 分钟;10 分钟内超过 4 次:30 分钟停止该店铺调用,检查授权、权限、店铺归属和区域
454:404,资源不存在,请优化您的参数店铺+接口60 秒内超过 3 次:5 分钟;10 分钟内超过 4 次:30 分钟确认资源 ID、所属店铺/站点、资源状态和接口路径
459:429限流中,请降低频率店铺+接口首次:15 秒;2 分钟内超过 2 次:30 秒;3 分钟内超过 4 次:2 分钟降低并发、分页和轮询频率并逐级退避
  • 立即停止自动或并发重试,不得通过换脚本或重复创建任务绕过保护;优先遵循 retryAfter、blockedUntil,没有时按表中时长说明。
  • 450/453/454 必须先修正参数、授权或资源标识,冷却后最多谨慎重试一次;再次触发则停止调用。453 期间停止该店铺全部 SP-API。
  • 保留已有 reportId、feedId 等任务 ID;写操作结果不确定时先查询状态,不直接重放。
  • 向用户先说明店铺保护,再给原因、处理和等待时间。可回复:“为保护您的亚马逊店铺安全,检测到 Amazon SP-API 连续返回{原因},当前已进入短暂保护。请先{处理动作},预计{等待时间}后再试;这不代表封号,也不是套餐或算力限制。”不要只说“LinkFox 限流”或“服务器繁忙”。

算力消耗规则

不消耗算力。

Feedback: 见 references/api.md 中 Feedback API,skillName:linkfox-amazon-store-listings。


更多跨境 skill:LinkFox Skills

コメント