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
GraphMethodExceptioncode 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
| Name | In | Type | Sample | Description |
|---|---|---|---|---|
| Authorization | header | header | Bearer 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_id | query | string | act_123456789 hoặc 1234567890 | Tà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
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| version | path | string | Yes | v25.0 | |
| campaign_id | path | string | Yes | 120250025975490254 | Id chiến dịch (lấy ở /act_{account_id}/campaigns). |
| platform_shop_id | query | string | No | act_5924809560908319 | Tà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. |
| fields | query | string | Yes | id,name,status,effective_status,daily_budget,lifetime_budget,optimization_goal,billing_event,start_time,end_time | Trường cần lấy (như /act_{account_id}/adsets). |
| effective_status | query | string | No | ["ACTIVE"] | Mảng JSON lọc trạng thái thực tế. |
| limit | query | int | No | 25 | Số nhóm mỗi trang. |
| after | query | string | No | Con 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)
| Name | Type | Sample | Description |
|---|---|---|---|
| data | object[] | Nhóm quảng cáo của chiến dịch. | |
| id | string | 120250637300010254 | |
| name | string | ||
| status / effective_status | string | ACTIVE | |
| daily_budget / lifetime_budget | string | Đơn vị nhỏ nhất (VND = đồng); vắng khi ngân sách ở cấp chiến dịch. | |
| optimization_goal | string | POST_ENGAGEMENT | |
| billing_event | string | IMPRESSIONS | |
| start_time | string | 2026-10-29T09:42:29+0700 | |
| paging | object | `{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
- Sign up for Partner
- Enable a data type of the Quảng cáo (Marketing API) group on the platform page
- Create an API key (tick the Facebook channel)
- Call it as in the examples above