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ểnullhà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", impressionsnull. 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_idchỉ liệt kê quảng cáo có trong khoảng ngày (1 ngày có thể rỗngdata: []).
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ên | Vị trí | Kiểu | Mẫu | Mô tả |
|---|---|---|---|---|
| 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 | 107896751234567 | page_id đã nối — có thể bỏ (lấy từ đường dẫn). |
Tham số request
| Tên | Vị trí | Kiểu | Bắt buộc | Mẫu | Mô tả |
|---|---|---|---|---|---|
| page_id | path | string | Có | 107896751234567 | Mã trang đã nối với 360. |
| since | query | timestamp | Có | 1790787600 | Từ (Unix giây, UTC). |
| until | query | timestamp | Có | 1793206799 | Đến (Unix giây, UTC). |
| type | query | string | Có | by_id | by_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ên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| success | bool | true | `false` + `message` khi lỗi (HTTP vẫn 200). |
| data (by_time) | object[] | Mỗi phần tử một ngày. | |
| time | string | 2026-10-28 | Ngày. |
| sum_click | int | 0 | Lượt bấm quảng cáo vào hội thoại (= sum_fb_click + sum_tt_click). |
| sum_fb_click / sum_tt_click | int | 0 | Lượt bấm từ quảng cáo Facebook / TikTok. |
| sum_phone_number | int | 0 | SĐT thu được. |
| total_order_count / sum_order | int | 0 | Số đơ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_id | string | 120240846951830041 | Mã quảng cáo. |
| name | string | Quảng cáo Lượt tương tác mới | Tên. |
| adset_id | string | 120240846951840041 | Nhóm quảng cáo. |
| account_id | string | 1000033501429628 | Tài khoản quảng cáo. |
| ad_status / status | string | ACTIVE / CAMPAIGN_PAUSED | Trạng thái quảng cáo / trạng thái hiệu lực. |
| optimization_goal | string | MESSAGING_PURCHASE_CONVERSION | Mục tiêu tối ưu. |
| daily_budget / lifetime_budget / budget_remaining | string | 150000 | Ngân sách (chuỗi số, theo `currency`). |
| currency | string | VND | |
| spend | string | 0 | Chi tiêu (chuỗi số). |
| impressions / reach / clicks / ctr / cpc / cpm | string | null | Chỉ 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_order | int | 0 | Lượ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
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Thống kê ở trang nền tảng
- Tạo API key (tick kênh Pancake Chat)
- Gọi theo ví dụ ở trên