← 返回目录(入门指南)
Facebook 市场营销 API 参考文档
本文档是 Marketing API 核心对象的完整参考,涵盖 15 个主要 API 对象的字段、端点、参数和错误码。
Ad Account(广告账户)
端点: /act_{ad_account_id}
代表在 Facebook 上创建和管理广告的业务/个人/实体。多人可以以不同访问级别管理一个账户。
广告量查询
查询广告账户中正在投放或审核中的广告数量:
curl -G -d "access_token=<access_token>" \
"https://graph.facebook.com/v25.0/act_<ad_account_ID>/ads_volume"
限制
| 限制项 | 普通账户 | 批量账户 |
| 最大广告数(未归档/未删除) | 6,000 | 50,000 |
| 最大广告组数 | 6,000 | 10,000 |
| 最大广告系列数 | 6,000 | 10,000 |
| 最大归档广告数 | 100,000 | 100,000 |
| 每账户最多管理人 | 25 | 25 |
关键字段
| 字段 | 类型 | 描述 |
account_id | 数字字符串 | 广告账户 ID |
account_status | int32 | 1=ACTIVE, 2=DISABLED, 7=PENDING_RISK_REVIEW, 101=CLOSED |
amount_spent | 数字字符串 | 当前花费 |
balance | 数字字符串 | 应付金额 |
currency | 字符串 | ISO 4217 货币代码 |
name | 字符串 | 账户名称 |
spend_cap | 数字字符串 | 花费上限(0=无上限) |
timezone_id | int32 | 时区 ID |
常见错误码
| 代码 | 描述 |
| 200 | 权限错误 |
| 613 | 超出速率限制 |
| 190 | 访问口令无效 |
| 80004 | 对广告账户的调用过多 |
| 3018 | 开始日期超出 37 个月 |
Campaign(广告系列 — Ad Campaign Group)
端点: /{campaign_id}
广告系列是广告账户中最高级别的组织结构,代表单一业务目标(如提升流量、转化)。设置广告系列目标后,其下所有广告都会受到目标验证。
新必填字段:自 v7.0 起,所有广告系列必须指定 special_ad_categories(特殊广告类别)字段。替代已弃用的 special_ad_category(字符串)。
限制
- 每个广告系列最多 200 个广告组
- 如果广告系列有 超过 70 个广告组且使用 CBO(广告系列预算优化),则无法编辑竞价策略或关闭 CBO
关键字段
| 字段 | 类型 | 描述 |
id | 数字字符串 | 广告系列 ID |
account_id | 数字字符串 | 广告账户 ID |
bid_strategy | enum | LOWEST_COST_WITHOUT_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS |
buying_type | 字符串 | AUCTION(默认)或 RESERVED(覆盖频次) |
daily_budget | 数字字符串 | 单日预算 |
effective_status | enum | ACTIVE, PAUSED, DELETED, ARCHIVED, WITH_ISSUES |
objective | 字符串 | 广告系列目标 |
special_ad_categories | 数组 | 特殊广告类别(v7.0+) |
spend_cap | 数字字符串 | 花费上限 |
读取:GET /{campaign_id}
| 参数 | 类型 | 描述 |
date_preset | enum | today, yesterday, last_7d, last_30d, maximum 等 |
time_range | 对象 | {'since':'YYYY-MM-DD','until':'YYYY-MM-DD'} |
子端点
| 端点 | 返回类型 | 描述 |
/ads | Adgroup | 广告系列下的广告 |
/adsets | AdCampaign | 广告系列下的广告组 |
/insights | AdsInsights | 广告系列的成效分析 |
/copies | AdCampaignGroup | 广告系列副本 |
Ad Set(广告组)
端点: /{ad_set_id}
广告组是一组共享相同预算、排期、竞价和定位数据的广告。
限制
| 普通账户最大广告组数 | 5,000(未删除) |
| 批量账户最大广告组数 | 10,000(未删除) |
| 每广告组最大广告数 | 50(未归档) |
关键字段
| 字段 | 描述 |
campaign_id | 父广告系列 ID |
daily_budget / lifetime_budget | 单日/生命周期预算(账户货币单位) |
bid_amount | 出价金额(美分,JPY/KRW 为基础单位) |
bid_strategy | 竞价策略 |
billing_event | 计费事件:APP_INSTALLS, IMPRESSIONS, LINK_CLICKS, THRUPLAY |
optimization_goal | 优化目标 |
targeting | 定位对象(地理位置、人口统计等) |
promoted_object | 推广对象 |
start_time | 开始时间 |
end_time | 结束时间 |
status | ACTIVE, PAUSED, DELETED, ARCHIVED |
创建(POST)
curl -X POST \
-F 'name="My First Adset"' \
-F 'lifetime_budget=20000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'bid_amount=100' \
-F 'billing_event="LINK_CLICKS"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'targeting={
"geo_locations": {"countries": ["US"]},
"publisher_platforms": ["facebook", "audience_network"]
}' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets
创建必填参数
| 参数 | 描述 |
name | 广告组名称(最多 400 字符,支持 emoji) |
campaign_id 或 campaign_spec | 现有广告系列 ID 或内联规格 |
daily_budget 或 lifetime_budget | 至少一个必须 > 0 |
targeting | 定位规格 |
billing_event | 计费事件 |
optimization_goal | 优化目标 |
status | ACTIVE 或 PAUSED |
iOS 14.5 变更:手机应用自定义受众不再支持用于 iOS 14.5 SKAdNetwork 广告系列的包含定位。
Ad(广告 — Adgroup)
端点: /{ad_id}
广告包含要展示的信息,并与广告组关联。同组内的所有广告共享预算、排期和定位。
读取方式
# 按广告 ID
curl -X GET -d 'fields="id,name"' -d 'access_token=<TOKEN>' \
https://graph.facebook.com/v25.0/<AD_ID>/
# 按广告账户
curl -G -d "fields=name" -d "access_token=<TOKEN>" \
"https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads"
# 按广告系列
curl -X GET -d 'fields="name"' -d 'access_token=<TOKEN>' \
https://graph.facebook.com/v25.0/<AD_CAMPAIGN_ID>/ads
# 按广告组
curl -F "fields=name" -F "access_token=<TOKEN>" \
"https://graph.facebook.com/v25.0/<AD_SET_ID>/ads"
关键字段
| 字段 | 描述 |
adset_id | 父广告组 ID |
campaign_id | 父广告系列 ID |
creative | 广告创意对象 |
configured_status | ACTIVE, PAUSED, DELETED, ARCHIVED |
effective_status | 包含 PENDING_REVIEW, DISAPPROVED, WITH_ISSUES |
name | 广告名称 |
ad_review_feedback | 审核反馈 |
recommendations | 广告建议列表 |
创建广告
前提:需要已有的广告组和广告创意。
curl -X POST \
-F 'name="My Ad"' \
-F 'adset_id="<AD_SET_ID>"' \
-F 'creative={"creative_id": "<CREATIVE_ID>"}' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads
政治广告需添加 -F 'authorization_category="POLITICAL"'。
Ad Creative(广告创意)
端点: /{creative_id}
广告创意定义广告的布局和内容。可独立创建或作为广告组的一部分。
创建广告创意
curl -X POST \
-F 'name=Sample Creative' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"link_data": {
"message": "Check out our new product!",
"link": "https://www.example.com/product",
"caption": "Our New Product",
"picture": "https://www.example.com/image.jpg",
"call_to_action": {"type": "SHOP_NOW"}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives
关键参数(POST)
| 参数 | 描述 |
name | 创意名称 |
object_story_id | Facebook 公共主页帖子 ID |
object_story_spec | 创建新帖子并转为广告(支持 link_data, photo_data, video_data) |
image_url | 托管图片 URL(≤8 MB) |
image_hash | 已上传图片的哈希值 |
link_url | 目标链接 URL |
call_to_action | CTA 按钮(类型+值) |
asset_feed_spec | 动态创意素材(图片、视频、文案、标题) |
文本限制
| 限制项 | 值 |
| 广告标题最大长度(推荐) | 25 字符 |
| 广告正文最大长度(推荐) | 90 字符 |
| 最大 URL 长度 | 1000 字符 |
| 单词最大长度(推荐) | 30 字符 |
Campaigns 子端点
端点: /act_{id}/campaigns
创建和管理广告账户下的广告系列。
读取
GET /v25.0/act_<AD_ACCOUNT_ID>/campaigns?effective_status=["ACTIVE","PAUSED"]&fields=name,objective
参数:date_preset(预定义日期范围)、effective_status(筛选状态)、is_completed(是否已完成)、time_range(自定义日期范围)。
创建
curl -X POST \
-F 'name="My campaign"' \
-F 'objective="OUTCOME_TRAFFIC"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/campaigns
创建必填参数
| 参数 | 描述 |
name | 广告系列名称(支持 emoji) |
objective | 目标:APP_INSTALLS, CONVERSIONS, LINK_CLICKS, OUTCOME_TRAFFIC 等 |
status | ACTIVE 或 PAUSED |
special_ad_categories | 特殊广告类别(必填) |
bid_strategy | 竞价策略(v3.0+) |
daily_budget/lifetime_budget | 预算(可设置在广告系列或广告组层级) |
spend_cap | 花费上限(最低 $100 USD) |
返回结构
{
"data": [], // Campaign 节点列表
"paging": {}, // 分页信息
"summary": {} // 聚合信息(total_count 等)
}
Ad Sets 子端点
端点: /act_{id}/adsets
读取
curl -X GET -G \
-d 'fields="name,id,status"' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets
查询参数:date_preset、effective_status、is_completed、time_range、updated_since。
创建
curl -X POST \
-F 'name="My First Adset"' \
-F 'lifetime_budget=20000' \
-F 'start_time="2026-05-12T10:45:01-0700"' \
-F 'end_time="2026-05-22T10:45:01-0700"' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'bid_amount=100' \
-F 'billing_event="LINK_CLICKS"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'targeting={
"facebook_positions": ["feed"],
"geo_locations": {"countries": ["US"]},
"publisher_platforms": ["facebook", "audience_network"]
}' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets
Ads 子端点
端点: /act_{id}/ads
创建
curl -X POST \
-F 'name="My Ad"' \
-F 'adset_id="<AD_SET_ID>"' \
-F 'creative={"creative_id": "<CREATIVE_ID>"}' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads
创建必填参数
| 参数 | 必需 | 描述 |
name | 是 | 广告名称 |
adset_id 或 adset_spec | 是 | 广告组 ID 或内联规格 |
creative | 是 | 创意 ID 或规格 JSON |
status | 是 | ACTIVE 或 PAUSED |
SDK 示例
// JavaScript SDK
FB.api("/act_<AD_ACCOUNT_ID>/ads", "POST", {
"name": "My Ad",
"adset_id": "<AD_SET_ID>",
"creative": "{\"creative_id\":\"<CREATIVE_ID>\"}",
"status": "PAUSED"
}, function (response) { /* handle */ });
Ad Creatives 子端点
端点: /act_{id}/adcreatives
读取
GET /v25.0/act_<AD_ACCOUNT_ID>/adcreatives?fields=name
创建
curl -X POST \
-F 'name=Sample Promoted Post' \
-F 'object_story_id=<PAGE_ID>_<POST_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives
关键参数
| 参数 | 描述 |
object_story_spec | 创建新未发布的公共主页帖子并转为广告 |
object_story_id | 已有帖子 ID(如已使用,返回现有 creative_id) |
image_hash | 已上传图片哈希 |
image_url | 图片 URL(≤8 MB) |
call_to_action | 行动号召按钮 |
branded_content_sponsor_page_id | 品牌内容广告的赞助商公共主页 ID |
Insights 子端点
端点: /act_{id}/insights
提供广告表现的成效指标。部分指标是估算值或开发中。
iOS 14.5 警告:Facebook 无法再跨 iOS 14.5 和非 iOS 14.5 广告系列聚合非内联转化指标值。内联事件指标(展示次数、链接点击、视频观看)仍可聚合。
date_preset=lifetime 已弃用:自 v10.0 起,请使用 date_preset=maximum。
同步查询
curl -X GET -G \
-d 'fields="impressions"' \
-d 'breakdown="publisher_platform"' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<AD_SET_ID>/insights
异步报告创建(POST)
POST /act_{ad_account_id}/insights
| 参数 | 默认值 | 描述 |
action_attribution_windows | ["7d_click","1d_view"] | 操作归因窗口 |
date_preset | last_30d | 相对时间范围 |
fields | 最常用字段 | 请求的字段 |
filtering | — | 过滤条件 |
level | — | account, campaign, adset, ad |
time_range | — | 自定义时间范围 |
Custom Audiences 子端点
端点: /act_{id}/customaudiences
读取
FB.api("/act_<AD_ACCOUNT_ID>/customaudiences",
{ "fields": "id" }, function (response) { /* handle */ });
参数:business_id(可选过滤器)、pixel_id(按像素代码筛选)、filtering(过滤对象数组)。
限制:每个广告账户最多 500 个自定义受众。
Business(商务管理平台)
端点: /{business-id}
代表 Facebook 上的一个业务实体。
读取
GET /v25.0/{business-id}
关键字段
| 字段 | 类型 | 描述 |
name | 字符串 | 业务名称 |
primary_page | Page | 主要 Facebook 公共主页 |
verification_status | enum | verified, pending, not_verified, failed 等 |
vertical | 字符串 | 垂直行业 |
timezone_id | int32 | 时区 ID |
创建业务
POST /{user_id}/businesses
-F 'name=My Business'
可选参数:email、primary_page、timezone_id、vertical、survey_business_type。
子端点
| 端点 | 描述 |
/ad_accounts | 广告账户 |
/adspixels | 可用像素代码 |
/business_users | 员工/管理员 |
/client_pages | 客户公共主页 |
/system_users | 系统用户 |
/owned_businesses | 管理的子业务 |
/instagram_accounts | Instagram 账户 |
Ads Pixel(广告像素代码)
端点: /{ads-pixel-id}
Facebook 像素是一小段 JavaScript 代码,放置在网站的每个页面上。用于捕获网站意图并创建网站自定义受众。
读取
GET /v25.0/{ads-pixel-id}
关键字段
| 字段 | 描述 |
code | 放在网站上的像素代码 |
name | 像素名称 |
owner_business | 拥有业务的 ID |
last_fired_time | 上次触发时间 |
enable_automatic_matching | 是否启用自动高级匹配 |
creation_time | 创建时间 |
创建
POST /v25.0/act_<AD_ACCOUNT_ID>/adspixels
-F 'name=My WCA Pixel'
Custom Audience(自定义受众)
端点: /{custom-audience-id}
2025 年 9 月 2 日起的限制:Meta 将主动限制可能暗示不允许的信息(如健康状况、财务状况)的自定义受众和类似受众。
关键字段
| 字段 | 描述 |
approximate_count_lower_bound / _upper_bound | 受众规模范围 |
delivery_status | 投放状态(200=活跃, 300=太小, 400+=不可用) |
subtype | 自定义受众类型 |
retention_days | 保留天数(1-180 或永久) |
rule | 受众规则字符串 |
lookalike_audience_ids | 由此受众生成的类似受众 ID |
operation_status | 操作状态(含 code 和 description) |
操作状态码
| code | 描述 |
| 200 | 正常 |
| 300 | 受众规模太小 |
| 400 | 拒绝访问 |
| 401 | 未接受服务条款 |
| 402 | 无效的受众 |
| 420 | 已删除 |
| 430 | 排除的受众 |
| 440 | 正在删除 |
| 471 | 因完整性政策被标记 |
System User(系统用户)
端点: /{system-user-id}
系统用户是用于服务器到服务器交互的账户,管理资产和调用营销 API。
读取
GET /v25.0/{system-user-id}
字段
| 字段 | 描述 |
name | 系统用户名称 |
created_by | 创建者 |
created_time | 创建时间 |
finance_permission | 财务权限角色 |
ip_permission | 广告权限角色 |
创建
POST /{business_id}/system_users
-F 'name=My System User'
-F 'role=ADMIN'
可用角色:ADMIN, EMPLOYEE, FINANCE_EDITOR, FINANCE_ANALYST, ADS_RIGHTS_REVIEWER, DEVELOPER 等。
限制:每个商务管理平台有系统用户数量上限(有限访问=1个,完全访问=10个)。
子端点
| 端点 | 描述 |
/assigned_ad_accounts | 已分配广告账户 |
/assigned_pages | 已分配公共主页 |
/assigned_product_catalogs | 已分配商品目录 |
/assigned_whatsapp_business_accounts | 已分配 WhatsApp 业务账户 |