get /pages/{page_id}/statistics/users
GET/public_api/v1/pages/{page_id}/statistics/usersGọi qua 360: GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/statistics/users
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
Hiệu suất từng NHÂN VIÊN trực trang theo giờ trong khoảng ngày: số tin nhắn / bình luận đã gửi, số khách đã tư vấn, SĐT xin được, đơn tạo, thời gian phản hồi trung bình — kèm bảng tổng theo nhân viên. Dùng cho báo cáo năng suất sale online.
data.users[uuid]đã là tổng kỳ (thử thật:inbox_countcủa users = tổnginbox_countcác mốc giờ). Dùngaverage_response_timeởuserslàm trung bình kỳ — KHÔNG tự lấy trung bình các mốc (không khớp).- Hai múi giờ trong cùng phần tử:
hourlà giờ trang (VN),hour_in_integerlà UTC —2026-10-28T15:00:00↔20261028080000. date_rangesai định dạng (vdabc) → HTTP 500"Server internal error". Thiếudate_rangeKHÔNG báo lỗi mà trả khoảng mặc định — luôn gửi rõ để số liệu đúng kỳ.- Đơn vị
average_response_timechưa được Pancake ghi rõ; giá trị thật theo giờ thường vài chục (vd 21, 40, 69), ở bảng tổng có thể rất lớn — kiểm lại trước khi hiển thị.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/statistics/users
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. |
| date_range | query | string | Có | 28/10/2026 00:00:00 - 28/10/2026 23:59:59 | Khoảng ngày DD/MM/YYYY HH:MM:SS - DD/MM/YYYY HH:MM:SS (hoặc DD/MM/YYYY - DD/MM/YYYY) theo GIỜ CỦA TRANG. Bỏ trống → Pancake tự lấy khoảng mặc định (thử thật: khoảng 2 tuần gần nhất). |
Ví dụ request
curl -s "https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/107896751234567/statistics/users?date_range=28%2F10%2F2026%2000%3A00%3A00%20-%2028%2F10%2F2026%2023%3A59%3A59" \ -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/users",
params={
"date_range": "28/10/2026 00:00:00 - 28/10/2026 23:59:59"
},
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/users');
for (const [k, v] of Object.entries({"date_range":"28/10/2026 00:00:00 - 28/10/2026 23:59:59"})) 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/users' . '?' . http_build_query(['date_range' => '28/10/2026 00:00:00 - 28/10/2026 23:59:59']); $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 | |
| data | object | ||
| statistics | object | Khóa = UUID nhân viên (khớp `users[].id` của /users); giá trị = mảng mốc GIỜ có hoạt động. | |
| hour | string | 2026-10-28T15:00:00 | Mốc giờ — GIỜ CỦA TRANG. |
| hour_in_integer | string | 20261028080000 | Cùng mốc nhưng theo UTC, dạng `YYYYMMDDHHMMSS`. |
| inbox_count | int | 8 | Tin nhắn đã gửi. |
| unique_inbox_count | int | 1 | Số khách inbox đã tư vấn. |
| comment_count / unique_comment_count | int | 0 | Bình luận đã trả lời / số khách bình luận. |
| private_reply_count | int | 0 | Nhắn riêng từ bình luận. |
| phone_number_count | int | 0 | SĐT xin được. |
| order_count | int | 0 | Đơn tạo. |
| average_response_time | int | 21 | Thời gian phản hồi trung bình của mốc; 0 = không có lượt cần phản hồi. |
| page_id | string | 107896751234567 | |
| users | object | Khóa = UUID nhân viên; giá trị = TỔNG cả khoảng (các trường như trên) + `user_name`, `user_fb_id`; `hour` = mốc hoạt động cuối. |
Mẫu phản hồi
{
"success": true,
"data": {
"statistics": {
"44d4e026-a4c7-…": [
{
"hour": "2026-10-28T15:00:00",
"hour_in_integer": "20261028080000",
"page_id": "107896751234567",
"inbox_count": 8,
"unique_inbox_count": 1,
"comment_count": 0,
"unique_comment_count": 0,
"private_reply_count": 0,
"phone_number_count": 0,
"order_count": 0,
"average_response_time": 21
},
{
"hour": "2026-10-28T17:00:00",
"hour_in_integer": "20261028100000",
"page_id": "107896751234567",
"inbox_count": 3,
"unique_inbox_count": 1,
"comment_count": 0,
"unique_comment_count": 0,
"private_reply_count": 0,
"phone_number_count": 0,
"order_count": 0,
"average_response_time": 0
}
]
},
"users": {
"44d4e026-a4c7-…": {
"user_name": "Nhân viên B",
"user_fb_id": "100000920907782",
"hour": "2026-10-28T21:00:00",
"hour_in_integer": "20261028140000",
"page_id": "107896751234567",
"inbox_count": 215,
"unique_inbox_count": 2,
"comment_count": 0,
"unique_comment_count": 0,
"private_reply_count": 0,
"phone_number_count": 0,
"order_count": 0,
"average_response_time": 11
}
}
}
}
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