get /pages/{page_id}/export_data
GET/public_api/v1/pages/{page_id}/export_dataGọi qua 360: GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/export_data
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
Xuất các hội thoại ĐẾN TỪ QUẢNG CÁO (khách bấm quảng cáo Click-to-Messenger) trong khoảng thời gian: mã hội thoại, mã quảng cáo khách đã bấm, SĐT khách để lại, nhãn, nhân viên đã xem / phụ trách. Dùng để đo chi phí trên mỗi hội thoại / mỗi SĐT theo từng quảng cáo và tỉ lệ khách để lại số.
- Mỗi phần tử là một LƯỢT bấm, không phải một hội thoại: cùng
idcó thể lặp lại (thử thật: trang 60 bản ghi chỉ có 59 hội thoại khác nhau). Khóa đúng là (hội thoại, ad id, inserted_at). - Múi giờ trộn lẫn:
inserted_at/updated_atlà GIỜ VN, cònrecent_seen_users[].seen_atvà API tin nhắn / hội thoại trả UTC — lệch 7 giờ cho cùng sự kiện. - since / until là mốc UTC trong khi dữ liệu trả giờ VN → gọi từng ngày dễ hụt hội thoại ở rìa ngày. Nên quét một khoảng liền mạch nới thêm 1 ngày hai đầu rồi tự chia ngày theo
inserted_at. - Thiếu
action→ HTTP 400"Server internal error"; thiếu since / until → HTTP 500"Server internal error"(chuỗi trơn, không phải JSON). - Phản hồi chứa tên, SĐT và đoạn tin nhắn của khách — chỉ lưu ở nơi có kiểm soát quyền. Pancake giới hạn 5 lượt / giây / trang: nghỉ ~1 giây giữa các lần.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/export_data
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. |
| action | query | string | Có | conversations_from_ads | Luôn là conversations_from_ads. |
| since | query | timestamp | Có | 1790614799 | Từ (Unix giây, UTC). |
| until | query | timestamp | Có | 1793206799 | Đến (Unix giây, UTC). |
| offset | query | int | Không | 0 | Vị trí bắt đầu, mặc định 0; mỗi lần trả tối đa 60 bản ghi. |
Phân trang
Tăng offset thêm 60 (0, 60, 120…) tới khi data_length < 60. Bản ghi xếp theo inserted_at TĂNG dần (cũ trước).
Ví dụ request
curl -s "https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/107896751234567/export_data?action=conversations_from_ads&since=1790614799&until=1793206799&offset=0" \ -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/export_data",
params={
"action": "conversations_from_ads",
"since": 1790614799,
"until": 1793206799,
"offset": 0
},
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/export_data');
for (const [k, v] of Object.entries({"action":"conversations_from_ads","since":1790614799,"until":1793206799,"offset":0})) 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/export_data' . '?' . http_build_query(['action' => 'conversations_from_ads', 'since' => 1790614799, 'until' => 1793206799, 'offset' => 0]); $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 | |
| offset | int | 0 | offset đã dùng. |
| limit | int | 60 | Số bản ghi tối đa / lần. |
| data_length | int | 6 | Số bản ghi lần này. |
| id_export_history | string | 0c7cf221-…_107896751234567… | Mã lượt xuất phía Pancake (không cần dùng). |
| data | object[] | Mỗi phần tử là MỘT LƯỢT bấm quảng cáo dẫn tới hội thoại. | |
| id | string | 107896751234567_7712345678901234 | Mã hội thoại — dùng cho API tin nhắn. |
| psid | string | 7712345678901234 | PSID khách. |
| inserted_at | string | 2026-10-04T08:57:33 | Thời điểm bấm quảng cáo / mở hội thoại — GIỜ VN. |
| updated_at | string | 2026-10-04T09:01:02 | Cập nhật cuối — giờ VN. |
| ad_clicks | string[] | ["120247891034600559"] | Mã quảng cáo khách đã bấm (tra tên ở /ads). |
| tags | int[] | [39] | Mã nhãn (số; có thể có mã âm không nằm trong /tags). |
| from | object | Khách: id, name, email. | |
| customers | object[] | Hồ sơ khách: id, fb_id, name. | |
| recent_phone_numbers | object[] | [] | SĐT khách để lại: phone_number, captured, m_id (mã tin chứa số), m_content (nội dung tin chứa số), offset, length, status. |
| recent_seen_users | object[] | Nhân viên đã xem: fb_id, fb_name, seen_at (giờ UTC). | |
| assignees | object[] | [] | Nhân viên phụ trách: id, name. |
| thread_key | string | t_3000802860213832 | Mã luồng Messenger. |
| is_banned | bool | false | Khách bị chặn. |
Mẫu phản hồi
{
"data": [
{
"id": "107896751234567_7712345678901234",
"psid": "7712345678901234",
"inserted_at": "2026-10-04T08:57:33",
"updated_at": "2026-10-04T09:01:02",
"ad_clicks": [
"120247891034600559"
],
"tags": [
39
],
"from": {
"id": "7712345678901234",
"name": "Khách hàng A",
"email": "7712345678901234@facebook.com"
},
"customers": [
{
"id": "23aeef26-8157-…",
"fb_id": "7712345678901234",
"name": "Khách hàng A"
}
],
"recent_phone_numbers": [],
"recent_seen_users": [
{
"fb_id": "100000920907782",
"fb_name": "Nhân viên B",
"seen_at": "2026-10-04T02:01:00.693950"
}
],
"thread_key": "t_3000802860213832",
"is_banned": false,
"assignees": []
}
],
"offset": 0,
"success": true,
"limit": 60,
"data_length": 6,
"id_export_history": "0c7cf221-…"
}
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