VI | EN
Message us on Messenger
Developer resources

Ad sets of a campaign — Facebook API

Campaign Ad Sets · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

Campaign Ad Sets

GET/{version}/{campaign_id}/adsetsVia 360: GET https://partner.quantri360.com/v1/facebook/{version}/{campaign_id}/adsets
Coming soon. This API already runs in production through 360 and pricing is being finalised — you can read the docs and prepare your integration now.
Description

Nhóm quảng cáo của MỘT chiến dịch (trạng thái, ngân sách, mục tiêu tối ưu, lịch chạy). Dùng khi đi từ chiến dịch xuống nhóm — vd xem nhóm nào của chiến dịch đang chạy trước khi bật tắt hay nhân bản.

  • Gọi bằng token tài khoản quảng cáo: gửi platform_shop_id=act_<id> khi brand có nhiều tài sản Facebook (nhiều tài khoản QC / Trang).
  • Id không tồn tại hoặc token không có quyền: Meta trả HTTP 400 GraphMethodException code 100, error_subcode 33 "Unsupported get request. Object with ID '…' does not exist, cannot be loaded due to missing permissions, or does not support this operation".
  • Thiếu fields → 360 trả 400 (tham số bắt buộc).

Request

Endpoint

GET https://partner.quantri360.com/v1/facebook/{version}/{campaign_id}/adsets

Authentication & shop

NameInTypeSampleDescription
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystringact_123456789 hoặc 1234567890Tài sản Facebook brand đã nối với 360: tài khoản quảng cáo (act_<id> hoặc <id>), Page id hoặc Pixel id — lấy ở GET /v1/platforms. Có thể bỏ khi đường dẫn đã chứa act_<id> / page id của brand.

Request parameters

NameInTypeRequiredSampleDescription
versionpathstringYesv25.0
campaign_idpathstringYes120250025975490254Id chiến dịch (lấy ở /act_{account_id}/campaigns).
platform_shop_idquerystringNoact_5924809560908319Tài khoản quảng cáo chứa chiến dịch, dạng act_<id>. BẮT BUỘC khi brand nối nhiều tài sản Facebook — đường dẫn không có act_ nên 360 không tự suy được tài khoản.
fieldsquerystringYesid,name,status,effective_status,daily_budget,lifetime_budget,optimization_goal,billing_event,start_time,end_timeTrường cần lấy (như /act_{account_id}/adsets).
effective_statusquerystringNo["ACTIVE"]Mảng JSON lọc trạng thái thực tế.
limitqueryintNo25Số nhóm mỗi trang.
afterquerystringNoCon trỏ trang kế.

Pagination

Lặp khi có paging.next: thêm after = paging.cursors.after.

Request examples

curl -s "https://partner.quantri360.com/v1/facebook/v25.0/120250025975490254/adsets?platform_shop_id=act_5924809560908319&fields=id%2Cname%2Cstatus%2Ceffective_status%2Cdaily_budget%2Coptimization_goal%2Cbilling_event%2Cstart_time&limit=25" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/facebook/v25.0/120250025975490254/adsets",
    params={
        "platform_shop_id": "act_5924809560908319",
        "fields": "id,name,status,effective_status,daily_budget,optimization_goal,billing_event,start_time",
        "limit": 25
    },
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/facebook/v25.0/120250025975490254/adsets');
for (const [k, v] of Object.entries({"platform_shop_id":"act_5924809560908319","fields":"id,name,status,effective_status,daily_budget,optimization_goal,billing_event,start_time","limit":25})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'GET',
  headers: { Authorization: `Bearer ${KEY}` },
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/facebook/v25.0/120250025975490254/adsets' . '?' . http_build_query(['platform_shop_id' => 'act_5924809560908319', 'fields' => 'id,name,status,effective_status,daily_budget,optimization_goal,billing_event,start_time', 'limit' => 25]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]);
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by Facebook)

NameTypeSampleDescription
dataobject[]Nhóm quảng cáo của chiến dịch.
idstring120250637300010254
namestring
status / effective_statusstringACTIVE
daily_budget / lifetime_budgetstringĐơn vị nhỏ nhất (VND = đồng); vắng khi ngân sách ở cấp chiến dịch.
optimization_goalstringPOST_ENGAGEMENT
billing_eventstringIMPRESSIONS
start_timestring2026-10-29T09:42:29+0700
pagingobject`{cursors: {before, after}, next?}`.

Response sample

{
  "data": [
    {
      "id": "120250637300010254",
      "name": "Nhóm quảng cáo mẫu - Bản sao",
      "status": "ACTIVE",
      "effective_status": "ACTIVE",
      "optimization_goal": "POST_ENGAGEMENT",
      "billing_event": "IMPRESSIONS",
      "start_time": "2026-10-29T09:42:29+0700"
    },
    {
      "id": "120250025975500254",
      "name": "Nhóm quảng cáo mẫu",
      "status": "ACTIVE",
      "effective_status": "ACTIVE",
      "optimization_goal": "POST_ENGAGEMENT",
      "billing_event": "IMPRESSIONS",
      "start_time": "2026-09-23T15:09:57+0700"
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIVHZABa3FnelZ…",
      "after": "QVFIVHVFVVlTdUdn…"
    }
  }
}

Get started

  1. Sign up for Partner
  2. Enable a data type of the Quảng cáo (Marketing API) group on the platform page
  3. Create an API key (tick the Facebook channel)
  4. Call it as in the examples above