VI | EN
Nhắn Messenger
Dành cho developer

Ads — API Pancake Chat

get /pages/{page_id}/statistics/ads · gọi qua Quantri360 bằng một API key cho chính tài khoản / tài sản bạn đã kết nối và ủy quyền — 360 lo việc ký request và làm mới phiên đăng nhập bạn đã cấp.

get /pages/{page_id}/statistics/ads

GET/public_api/v1/pages/{page_id}/statistics/adsGọi qua 360: GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/statistics/ads
Sắp mở. API này đã chạy thật qua 360 và đang được chốt giá — bạn có thể đọc tài liệu và chuẩn bị tích hợp trước.
Mô tả API

Thống kê QUẢNG CÁO trên trang theo Pancake: type=by_time → số lượt bấm, SĐT, đơn theo ngày + hội thoại mới theo giờ; type=by_id → từng quảng cáo (tên, nhóm, ngân sách, trạng thái, chi tiêu, lượt bấm, SĐT, đơn). Dùng cho báo cáo hiệu quả quảng cáo tin nhắn.

  • Thiếu type → {"message":"type is required!","success":false}; thiếu since → since is required! (HTTP 200).
  • Các chỉ số tiền / phân phối là CHUỖI (vd "spend": "0", "daily_budget": "150000") và có thể null hàng loạt khi kết nối quảng cáo phía Pancake lỗi — thử thật trên trang của 360 chi tiêu đều "0", impressions null. Số liệu chi tiêu chính xác nên lấy thẳng từ nền tảng quảng cáo.
  • by_id chỉ liệt kê quảng cáo có trong khoảng ngày (1 ngày có thể rỗng data: []).

Request

Địa chỉ

GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/statistics/ads

Xác thực & gian hàng

TênVị tríKiểuMẫuMô tả
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_idquerystring107896751234567page_id đã nối — có thể bỏ (lấy từ đường dẫn).

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
page_idpathstringCó107896751234567Mã trang đã nối với 360.
sincequerytimestampCó1790787600Từ (Unix giây, UTC).
untilquerytimestampCó1793206799Đến (Unix giây, UTC).
typequerystringCóby_idby_id (theo từng quảng cáo) · by_time (theo ngày).

Ví dụ request

curl -s "https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/107896751234567/statistics/ads?since=1790787600&until=1793206799&type=by_id" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/107896751234567/statistics/ads",
    params={
        "since": 1790787600,
        "until": 1793206799,
        "type": "by_id"
    },
    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/pancake_chat/public_api/v1/pages/107896751234567/statistics/ads');
for (const [k, v] of Object.entries({"since":1790787600,"until":1793206799,"type":"by_id"})) 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/pancake_chat/public_api/v1/pages/107896751234567/statistics/ads' . '?' . http_build_query(['since' => 1790787600, 'until' => 1793206799, 'type' => 'by_id']);
$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

Tham số phản hồi (nguyên của Pancake Chat)

TênKiểuMẫuMô tả
successbooltrue`false` + `message` khi lỗi (HTTP vẫn 200).
data (by_time)object[]Mỗi phần tử một ngày.
timestring2026-10-28Ngày.
sum_clickint0Lượt bấm quảng cáo vào hội thoại (= sum_fb_click + sum_tt_click).
sum_fb_click / sum_tt_clickint0Lượt bấm từ quảng cáo Facebook / TikTok.
sum_phone_numberint0SĐT thu được.
total_order_count / sum_orderint0Số đơn / giá trị đơn.
page_statistic (by_time)object[]Hội thoại mới theo giờ: hour, new_inbox_count.
data (by_id)object[]Mỗi phần tử một quảng cáo.
ad_idstring120240846951830041Mã quảng cáo.
namestringQuảng cáo Lượt tương tác mớiTên.
adset_idstring120240846951840041Nhóm quảng cáo.
account_idstring1000033501429628Tài khoản quảng cáo.
ad_status / statusstringACTIVE / CAMPAIGN_PAUSEDTrạng thái quảng cáo / trạng thái hiệu lực.
optimization_goalstringMESSAGING_PURCHASE_CONVERSIONMục tiêu tối ưu.
daily_budget / lifetime_budget / budget_remainingstring150000Ngân sách (chuỗi số, theo `currency`).
currencystringVND
spendstring0Chi tiêu (chuỗi số).
impressions / reach / clicks / ctr / cpc / cpmstringnullChỉ số phân phối — `null` khi Pancake không đọc được số liệu từ tài khoản quảng cáo.
sum_click / sum_phone_number / total_order_count / sum_orderint0Lượt bấm vào hội thoại, SĐT, số đơn, giá trị đơn do Pancake ghi nhận.
…Còn: results, cost_per_result, purchases, purchase_roas, messaging_conversation_started_7d, lead_events, link_click, ads_preview_url…

Mẫu phản hồi

{
  "success": true,
  "data": [
    {
      "ad_id": "120240846951830041",
      "name": "Quảng cáo Lượt tương tác mới",
      "adset_id": "120240846951840041",
      "account_id": "1000033501429628",
      "page_id": "107896751234567",
      "type": "ads",
      "ad_status": "ACTIVE",
      "status": "CAMPAIGN_PAUSED",
      "optimization_goal": "MESSAGING_PURCHASE_CONVERSION",
      "currency": "VND",
      "daily_budget": "150000",
      "lifetime_budget": "0",
      "budget_remaining": "0",
      "spend": "0",
      "impressions": null,
      "reach": null,
      "clicks": null,
      "ctr": null,
      "cpc": null,
      "cpm": null,
      "sum_click": 0,
      "sum_phone_number": 0,
      "total_order_count": 0,
      "sum_order": 0
    }
  ]
}

Bắt đầu dùng

  1. Đăng ký tài khoản Partner
  2. Mở loại dữ liệu thuộc nhóm Thống kê ở trang nền tảng
  3. Tạo API key (tick kênh Pancake Chat)
  4. Gọi theo ví dụ ở trên