跳转到主要内容
GET
Get campaign tree

请求规范

  • 方法与路径: GET /apis/v1/ads/tree
  • 可用状态: enabled
  • 请求 URL 模板: https://api.aisa.one/apis/v1/ads/tree
  • connectionId: query; 必填
  • page: query; 可选
  • limit: query; 可选
  • source: query; 可选
  • platform: query; 可选
  • status: query; 可选
  • adAccountId: query; 可选
  • pageId: query; 可选
  • campaignId: query; 可选
  • updatedSince: query; 可选
  • search: query; 可选
  • fromDate: query; 可选
  • toDate: query; 可选
  • hasDelivery: query; 可选
  • minSpend: query; 可选
  • sort: query; 可选
  • timeIncrement: query; 可选
  • dailyLevel: query; 可选
  • compare: query; 可选
  • results: query; 可选
  • Runtime 事实版本: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
完整 OpenAPI 定义 有效请求与价格声明(包括认证和引用的 schema):

费用与请求规则

当前未提供请求参考价格;请使用接口支持的报价功能确认费用。 最终费用以账户适用价格及实际结算为准。 公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口,执行前请针对完整请求获取免费报价;执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

查询参数

connectionId
string
必填

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$
page
integer
默认值:1

Page number (1-based)

必填范围: x >= 1
limit
integer
默认值:20

Campaigns per page

必填范围: 1 <= x <= 100
source
enum<string>
默认值:all

Matches the web UI's default view. Status is NOT filtered by default; use the status param for that.

可用选项:
aisa,
all
platform
enum<string>
可用选项:
facebook,
instagram,
tiktok,
linkedin,
pinterest,
google,
twitter,
openai,
reddit,
microsoft,
meta,
x
status
enum<string>

Filter by derived campaign status (post-aggregation)

可用选项:
active,
paused,
pending_review,
rejected,
completed,
cancelled,
error
adAccountId
string

Comma-separate for multiple (?adAccountId=act_1,act_2,act_3); a single value keeps its old shape. Max 50 accounts per request.

pageId
string

Meta only: Facebook Page ID. Prunes the tree to ads whose creative is backed by this Page: campaigns and ad sets with no ad on the Page drop out, and rolled-up metrics cover only the Page's ads.

campaignId
string

Restrict the tree to one or more campaigns by platform campaign id (the id the platform assigns, e.g. Meta's numeric campaign id). Comma-separate up to 100 ids (?campaignId=123,456). Must be yours: it is checked through the connection before the request is sent, and an id that is not yours answers not_found.

updatedSince
string<date-time>

Returns only campaigns with a change stored since this time (ISO 8601 with offset, e.g. 2026-09-30T10:00:00Z). Each matching campaign comes back whole (every ad set and ad).

Case-insensitive substring match on campaign, ad set and ad names (_, % and spaces match literally), or an exact platform campaign, ad set or ad id. A campaign whose name matches returns with all its ad sets and ads.

Maximum string length: 500
fromDate
string<date>

Start of the METRICS date range (YYYY-MM-DD). On its own it affects only the spend/impression numbers overlaid on each node, not which campaigns are returned. Pass hasDelivery or minSpend to also filter the campaign set to this window.

toDate
string<date>

End of metrics date range (YYYY-MM-DD). Defaults to today. Max 730-day range.

hasDelivery
boolean

Return only campaigns that delivered between fromDate and toDate: spend above zero, or impressions served at zero spend.

minSpend
number

Return only campaigns whose spend between fromDate and toDate reaches this amount.

必填范围: x >= 0
sort
enum<string>
默认值:newest

Campaign-level sort order. newest (default) / oldest order by the campaign's newest-ad createdAt. spend_desc / spend_asc order by aggregated spend in the requested date range; campaigns with no spend land at the end.

可用选项:
newest,
oldest,
spend_desc,
spend_asc
timeIncrement
enum<integer>

Set to 1 to also return a daily breakdown (mirrors Meta Insights' time_increment=1). Only 1 (daily) is supported. See dailyLevel to control which levels carry it.

可用选项:
1
dailyLevel
enum<string>
默认值:campaign

Which tree levels get the daily[] series when timeIncrement=1. Ignored when timeIncrement is unset. campaign (default): on campaign nodes only. The common per-campaign-trend case, and the smallest payload. adset: on ad sets too.

可用选项:
campaign,
adset,
ad
compare
enum<string>

Set to previous to also read the period of the same length that ends the day before fromDate.

可用选项:
previous
results
boolean

Set to true to add your own results (see Campaign results): every campaign gains results, the values you sent for the range plus each formula they allow, and the response gains resultMetrics to label them.

响应

Nested campaign tree with pagination

backfillPending
boolean

Meta only. Present and true while historical data is being backfilled.

campaigns
object[]
pagination
object
previousRange
object

Only with compare=previous. The range previousMetrics covers.

syncedAt
string<date-time> | null

When the most recently synced ad on this page was last read from the platform. Null before the first sync.