Install
openclaw skills install 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 暂未覆盖。
openclaw skills install linkfox-amazon-ads-entityAmazon Ads 的只读查询 skill,自动处理 token、分页、过滤字段规范化。
| 广告产品 | 覆盖实体 | 脚本子目录 | 详细参数 |
|---|---|---|---|
| SP (Sponsored Products) v3 | campaigns / adGroups / keywords / negativeKeywords / productAds / targets | scripts/sp/ | references/api/sp.md |
| SB (Sponsored Brands) v4 | campaigns / adGroups / ads | scripts/sb/ | references/api/sb.md |
依赖 linkfox-amazon-ads-auth(脚本启动时自动检查;未安装时 exit 42,stderr 打 DEPENDENCY_MISSING)。
用户经常只说自然语言("美国站"、"日本站"、"我的店铺"),本 skill 的所有脚本都必须拿到数字 profileId 才能调。按下列顺序处理,不要跳过:
linkfox-amazon-ads-auth 的 authorized_stores.py 拉出用户已授权的账号 × 站点清单。countryCode,如 美国→US)匹配候选 profile:
accountName 问:"你在美国站授权了 A 和 B 两个账号,这次用哪个?"linkfox-amazon-ads-auth 做授权。完整决策表见 linkfox-amazon-ads-auth SKILL.md 的 Usage Scenarios 第 4 节。
fetchAll=true(默认)跟随分页 token 到结束或 maxPages=50 兜底(约 5000 条,超出标 truncated=true)linkfox-amazon-ads-report,按 id join| 脚本 | 业务实体 | 返回 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) |
| 脚本 | 业务实体 | 返回 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。
| 字段 | 类型 | 说明 |
|---|---|---|
profileId | number | 必填,从 ads-auth 获取 |
region | string | 必填,NA / EU / FE |
fetchAll | bool | 默认 true |
maxResults | int | 1-100,默认 100 |
includeExtendedDataFields | bool | 返回扩展字段(部分实体) |
locale | string | 本地化(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) |
易错点:
matchTypeFilter 是裸数组 ["EXACT"](传错本 skill 自动规范化)expressionTypeFilter 反而是 Object(与 matchType 不同)asinFilter / skuFilter 客户端过滤,建议同时传 campaignIdFilter / adGroupIdFilter 收窄{
"success": true,
"<entityKey>": [ /* 实体数组,字段原样 */ ],
"total": 157,
"pagesFetched": 2,
"truncated": false
}
SP productAds 客户端过滤时额外带:serverTotalBeforeClientFilter + clientSideFilters。
python scripts/sp/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'
python scripts/sp/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
"campaignIdFilter":{"include":["998877665544"]}}'
python scripts/sp/list_product_ads.py '{"profileId":1234567890,"region":"NA",
"asinFilter":{"include":["B01ABCDEFG"]},
"campaignIdFilter":{"include":["998877665544"]}}'
python scripts/sb/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'
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"]}}'
本 skill 返回实体元数据(id、名称、状态、匹配类型等);指标(曝光、点击、花费、转化)交给 linkfox-amazon-ads-report(reportTypeId: "spTargeting" / "sbCampaigns" 等),按 id join。
httpStatus + body 告知用户truncated=true 时明确提示数据未取完| 状态 | 含义 | 建议 |
|---|---|---|
HTTP 401 | accessToken 过期 | 调 ads-auth 的 refresh_token.py 后重试 |
HTTP 403 | profileId 无权限 | 核对 profileId 归属 |
HTTP 400 | 入参结构错 | 先核对"过滤器结构速查"表 |
HTTP 429 | 限流 | 等 2-5s 重试 |
| exit 42 | 依赖 skill 未安装 | 先装 linkfox-amazon-ads-auth |
linkfox-amazon-ads-reportlinkfox-amazon-ads-authFeedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
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.