VI | EN
Message us on Messenger
Developer resources

Execution history of a rule — Facebook API

Ad Rule History · 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.

Ad Rule History

GET/{version}/{rule_id}/historyVia 360: GET https://partner.quantri360.com/v1/facebook/{version}/{rule_id}/history
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

Lịch sử các lần chạy của MỘT luật tự động: thời điểm, chạy tự động hay chạy tay, đối tượng bị tác động và hành động đã làm. Dùng để trả lời "luật nào đã tắt quảng cáo này, lúc nào".

  • Luật SEMI_HOURLY chạy 48 lần / ngày nên phần lớn dòng có results rỗng — gửi hide_no_changes=true để chỉ còn lần có tác động.
  • Gọi thật: luật đang lỗi (HAS_ISSUES) trả data rỗng; luật đang bật trả các lần chạy mỗi 30 phút.

Request

Endpoint

GET https://partner.quantri360.com/v1/facebook/{version}/{rule_id}/history

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
rule_idpathstringYes23854305460760253Id luật (từ adrules_library).
platform_shop_idquerystringNoact_5924809560908319Tài khoản quảng cáo chứa luật, dạng act_<id>. BẮT BUỘC khi brand nối nhiều tài sản Facebook.
hide_no_changesqueryboolNotruetrue = bỏ các lần chạy không tác động gì (đa số lần chạy theo lịch).
object_idquerystringNoChỉ lấy lần chạy tác động lên một chiến dịch / nhóm / quảng cáo.
actionquerystringNoLọc theo hành động (ví dụ PAUSED).
limitqueryintNo25
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/23854305460760253/history?platform_shop_id=act_5924809560908319&hide_no_changes=true&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/23854305460760253/history",
    params={
        "platform_shop_id": "act_5924809560908319",
        "hide_no_changes": True,
        "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/23854305460760253/history');
for (const [k, v] of Object.entries({"platform_shop_id":"act_5924809560908319","hide_no_changes":true,"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/23854305460760253/history' . '?' . http_build_query(['platform_shop_id' => 'act_5924809560908319', 'hide_no_changes' => 'true', '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[]Lần chạy, mới nhất trước.
timestampstring2026-10-30T08:21:50+0000Giờ UTC.
is_manualboolfalse`true` = chạy tay.
resultsobject[][]Đối tượng bị tác động: `{object_id, actions[{action, field, old_value, new_value}]}`; rỗng = lần chạy không đổi gì.
pagingobject

Response sample

{
  "data": [
    {
      "is_manual": false,
      "timestamp": "2026-10-30T08:21:50+0000",
      "results": []
    },
    {
      "is_manual": false,
      "timestamp": "2026-10-30T07:51:02+0000",
      "results": []
    }
  ],
  "paging": {
    "cursors": {
      "before": "NDU5ODAzNDkwNzA3OTEwNwZDZD",
      "after": "MTQ1NTYxNTQwMzIwNDc0OAZDZD"
    },
    "next": "…"
  }
}

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