linkfox-amazon-ads-entity

亚马逊广告(Amazon Ads)基础实体查询技能,覆盖 Sponsored Products (SP) 的广告活动/广告组/关键词/否定关键词/商品广告/定向 6 个 list,以及 Sponsored Brands (SB v4) 的广告活动/广告组/广告 3 个 list;自动处理分页、令牌,以及各实体在 Amazon 原生 API 上不一致的过滤条件格式。当用户提到查询亚马逊广告活动、查看广告组、列出关键词、ASIN 对应的广告投放、查定向、列 SP campaigns/adGroups/keywords/productAds/targets、SB campaigns/adGroups/ads 时触发。本技能依赖 linkfox-amazon-ads-auth。Sponsored Display (SD) / Sponsored Television (ST) / Amazon DSP 暂未覆盖。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "linkfox-amazon-ads-entity" with this command: npx skills add linkfox-ai/linkfox-amazon-ads-entity

Amazon Ads 基础实体查询

Amazon Ads 的只读查询 skill,自动处理 token、分页、过滤字段规范化。

广告产品覆盖实体脚本子目录详细参数
SP (Sponsored Products) v3campaigns / adGroups / keywords / negativeKeywords / productAds / targetsscripts/sp/references/api/sp.md
SB (Sponsored Brands) v4campaigns / adGroups / adsscripts/sb/references/api/sb.md

依赖 linkfox-amazon-ads-auth(脚本启动时自动检查;未安装时 exit 42,stderr 打 DEPENDENCY_MISSING)。

⚠️ 多账号场景:调用前必须解析好 profileId

用户经常只说自然语言("美国站"、"日本站"、"我的店铺"),本 skill 的所有脚本都必须拿到数字 profileId 才能调。按下列顺序处理,不要跳过

  1. 先调 linkfox-amazon-ads-authauthorized_stores.py 拉出用户已授权的账号 × 站点清单。
  2. 根据用户提到的站点(映射到 countryCode,如 美国→US)匹配候选 profile:
    • 只有 1 个候选 → 静默取对应 profileId,继续调用;不要把 profileId 数字播报给用户。
    • ≥ 2 个候选(同站点下多个授权账号)必须向用户澄清,用 accountName 问:"你在美国站授权了 A 和 B 两个账号,这次用哪个?"
    • 0 个候选 → 告知用户该站点未授权,引导去 linkfox-amazon-ads-auth 做授权。
  3. 严禁让用户直接报 profileId 数字。
  4. 严禁在歧义下"挑第一个"或"选默认"绕过澄清。

完整决策表见 linkfox-amazon-ads-auth SKILL.md 的 Usage Scenarios 第 4 节

Core Concepts

  • 自动分页fetchAll=true(默认)跟随分页 token 到结束或 maxPages=50 兜底(约 5000 条,超出标 truncated=true
  • 过滤器结构不统一:不同字段需要不同写法(详见下方"过滤器结构速查");本 skill 已对常见写错格式做自动兜底规范化,但仍建议按速查表准确传入
  • 只给 metadata,不含指标:返回实体字段(id / 名称 / 状态 / 匹配类型 等),曝光 / 点击 / 花费 / 转化 等指标要调 linkfox-amazon-ads-report,按 id join
  • 只读:不做 create / update / delete / archive
  • SB 和 SP 的差异:SB 只有 campaigns/adGroups/ads 三个 list;其 keywords/targets 官方未提供 list all

可用脚本

SP(6 个)

脚本业务实体返回 key
sp/list_campaigns.py广告活动campaigns
sp/list_ad_groups.py广告组adGroups
sp/list_keywords.py关键词keywords
sp/list_negative_keywords.py否定关键词negativeKeywords
sp/list_product_ads.py商品广告productAds
sp/list_targets.py商品定向targetingClauses(不是 targets

SB(3 个)

脚本业务实体返回 key
sb/list_campaigns.py广告活动campaigns
sb/list_ad_groups.py广告组adGroups
sb/list_ads.py广告创意ads

详细过滤器、枚举值、返回字段见 references/api/sp.md / references/api/sb.md

共用参数(SP + SB 均适用)

字段类型说明
profileIdnumber必填,从 ads-auth 获取
regionstring必填,NA / EU / FE
fetchAllbool默认 true
maxResultsint1-100,默认 100
includeExtendedDataFieldsbool返回扩展字段(部分实体)
localestring本地化(SP keywords 支持)

过滤器结构速查(最易错)

结构示例适用字段
Object{"include":[...]} / {"exclude":[...]}全部 id/状态类:campaignIdFilter、adGroupIdFilter、keywordIdFilter、stateFilter、portfolioIdFilter、expressionTypeFilter、adIdFilter
Array["EXACT","BROAD"]matchTypeFilter(SP keywords/negativeKeywords)
Scalar"AUTO"campaignTargetingTypeFilter(SP adGroups)
Text{"queryTermMatchType":"BROAD_MATCH","include":["..."]}nameFilter、keywordTextFilter
Client任意形式,本 skill 本地过滤asinFilter、skuFilter(SP productAds)

易错点

  • SP matchTypeFilter裸数组 ["EXACT"](传错本 skill 自动规范化)
  • expressionTypeFilter 反而是 Object(与 matchType 不同)
  • asinFilter / skuFilter 客户端过滤,建议同时传 campaignIdFilter / adGroupIdFilter 收窄

响应格式

{
  "success": true,
  "<entityKey>": [ /* 实体数组,字段原样 */ ],
  "total": 157,
  "pagesFetched": 2,
  "truncated": false
}

SP productAds 客户端过滤时额外带:serverTotalBeforeClientFilter + clientSideFilters

使用示例

1. 列活跃 SP 广告活动

python scripts/sp/list_campaigns.py '{"profileId":1234567890,"region":"NA",
  "stateFilter":{"include":["ENABLED"]}}'

2. 看某 SP campaign 下的广告组

python scripts/sp/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
  "campaignIdFilter":{"include":["998877665544"]}}'

3. 按 ASIN 反查 SP 投放(客户端过滤)

python scripts/sp/list_product_ads.py '{"profileId":1234567890,"region":"NA",
  "asinFilter":{"include":["B01ABCDEFG"]},
  "campaignIdFilter":{"include":["998877665544"]}}'

4. 列 SB 广告活动

python scripts/sb/list_campaigns.py '{"profileId":1234567890,"region":"NA",
  "stateFilter":{"include":["ENABLED"]}}'

5. 列某 SB campaign 下的 adGroups / ads

python scripts/sb/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
  "campaignIdFilter":{"include":["1122334455"]}}'

python scripts/sb/list_ads.py '{"profileId":1234567890,"region":"NA",
  "adGroupIdFilter":{"include":["5566778899"]}}'

6. 与 report 配合分析指标

本 skill 返回实体元数据(id、名称、状态、匹配类型等);指标(曝光、点击、花费、转化)交给 linkfox-amazon-ads-reportreportTypeId: "spTargeting" / "sbCampaigns" 等),按 id join。

调用原则

  • 返回字段原样保留;不改名、不翻译、不补算派生指标
  • 非 2xx 不自动重试;保留 httpStatus + body 告知用户
  • truncated=true 时明确提示数据未取完

常见错误

状态含义建议
HTTP 401accessToken 过期调 ads-auth 的 refresh_token.py 后重试
HTTP 403profileId 无权限核对 profileId 归属
HTTP 400入参结构错先核对"过滤器结构速查"表
HTTP 429限流等 2-5s 重试
exit 42依赖 skill 未安装先装 linkfox-amazon-ads-auth

Not Applicable

  • 创建 / 修改 / 删除 / 归档 → 本 skill 只读
  • SB 的 keywords / negativeKeywords / targets / negativeTargets 的 list all → Amazon 官方未提供,需按 id 单查(不在本 skill)
  • SD / DSP / ST 实体 → 不在本 skill
  • 指标报表 → linkfox-amazon-ads-report
  • 授权 / token / profile → linkfox-amazon-ads-auth

Feedback:

Auto-detect and report feedback via the Feedback API when any of the following apply:

  1. The functionality or purpose described in this skill does not match actual behavior
  2. The skill's results do not match the user's intent
  3. The user expresses dissatisfaction or praise about this skill
  4. Anything you believe could be improved

Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.


For more high-quality, professional cross-border e-commerce skills, visit LinkFox Skills.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.