linkfox-amazon-ads-entity

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Amazon Ads 基础实体查询

Amazon Ads 基础实体查询

Amazon Ads 的只读查询 skill,自动处理 token、分页、过滤字段规范化。
广告产品覆盖实体脚本子目录详细参数
SP (Sponsored Products) v3campaigns / adGroups / keywords / negativeKeywords / productAds / targets
scripts/sp/
references/api/sp.md
SB (Sponsored Brands) v4campaigns / adGroups / ads
scripts/sb/
references/api/sb.md
依赖
linkfox-amazon-ads-auth
(脚本启动时自动检查;未安装时 exit 42,stderr 打
DEPENDENCY_MISSING
)。
Amazon Ads 的只读查询 skill,自动处理 token、分页、过滤字段规范化。
广告产品覆盖实体脚本子目录详细参数
SP (Sponsored Products) v3campaigns / adGroups / keywords / negativeKeywords / productAds / targets
scripts/sp/
references/api/sp.md
SB (Sponsored Brands) v4campaigns / adGroups / ads
scripts/sb/
references/api/sb.md
依赖
linkfox-amazon-ads-auth
(脚本启动时自动检查;未安装时 exit 42,stderr 打
DEPENDENCY_MISSING
)。

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

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

用户经常只说自然语言("美国站"、"日本站"、"我的店铺"),本 skill 的所有脚本都必须拿到数字
profileId
才能调。按下列顺序处理,不要跳过
  1. 先调
    linkfox-amazon-ads-auth
    authorized_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 节
用户经常只说自然语言("美国站"、"日本站"、"我的店铺"),本 skill 的所有脚本都必须拿到数字
profileId
才能调。按下列顺序处理,不要跳过
  1. 先调
    linkfox-amazon-ads-auth
    authorized_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

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
  • 自动分页
    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 个)

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
脚本业务实体返回 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 个)

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
脚本业务实体返回 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 均适用)

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

字段类型说明
profileId
number必填,从 ads-auth 获取
region
string必填,
NA
/
EU
/
FE
fetchAll
bool默认
true
maxResults
int1-100,默认 100
includeExtendedDataFields
bool返回扩展字段(部分实体)
locale
string本地化(SP keywords 支持)
字段类型说明
profileId
number必填,从 ads-auth 获取
region
string必填,
NA
/
EU
/
FE
fetchAll
bool默认
true
maxResults
int1-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)
易错点
  • SP
    matchTypeFilter
    裸数组
    ["EXACT"]
    (传错本 skill 自动规范化)
  • expressionTypeFilter
    反而是 Object(与 matchType 不同)
  • asinFilter
    /
    skuFilter
    客户端过滤,建议同时传
    campaignIdFilter
    /
    adGroupIdFilter
    收窄
结构示例适用字段
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
    收窄

响应格式

响应格式

json
{
  "success": true,
  "<entityKey>": [ /* 实体数组,字段原样 */ ],
  "total": 157,
  "pagesFetched": 2,
  "truncated": false
}
SP productAds 客户端过滤时额外带:
serverTotalBeforeClientFilter
+
clientSideFilters
json
{
  "success": true,
  "<entityKey>": [ /* 实体数组,字段原样 */ ],
  "total": 157,
  "pagesFetched": 2,
  "truncated": false
}
SP productAds 客户端过滤时额外带:
serverTotalBeforeClientFilter
+
clientSideFilters

使用示例

使用示例

1. 列活跃 SP 广告活动

1. 列活跃 SP 广告活动

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

2. 看某 SP campaign 下的广告组

2. 看某 SP campaign 下的广告组

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

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

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

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

4. 列 SB 广告活动

4. 列 SB 广告活动

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

5. 列某 SB campaign 下的 adGroups / ads

5. 列某 SB campaign 下的 adGroups / ads

bash
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"]}}'
bash
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 配合分析指标

6. 与 report 配合分析指标

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

调用原则

调用原则

  • 返回字段原样保留;不改名、不翻译、不补算派生指标
  • 非 2xx 不自动重试;保留
    httpStatus
    +
    body
    告知用户
  • truncated=true
    时明确提示数据未取完
  • 返回字段原样保留;不改名、不翻译、不补算派生指标
  • 非 2xx 不自动重试;保留
    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
状态含义建议
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

Not Applicable

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.
  • 创建 / 修改 / 删除 / 归档 → 本 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.