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

Engagement — API Pancake Chat

get /pages/{page_id}/statistics/customer_engagements · 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/customer_engagements

GET/public_api/v1/pages/{page_id}/statistics/customer_engagementsGọi qua 360: GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/statistics/customer_engagements
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ê LƯỢT TƯƠNG TÁC khách của trang theo ngày (hoặc theo giờ): tương tác qua inbox, bình luận, khách mới được trả lời, hội thoại mới, đơn — kèm bảng theo từng nhân viên. Dùng cho báo cáo tải trực page theo ngày / khung giờ và năng suất nhân viên.

  • Thiếu date_range, sai định dạng (vd 2026-10-26 - 2026-10-28) hoặc user_ids dạng a,b → HTTP 500 "Server internal error" (chuỗi trơn).
  • Thử thật: cộng statistics[].total theo giờ của một ngày đúng bằng giá trị total ngày đó ở chế độ theo ngày. Khoảng 301 ngày vẫn chạy.
  • Bảng users_engagements chỉ có trường khác 0 — đọc trường thiếu là 0. Tên nhân viên là dữ liệu nội bộ, chỉ lưu ở nơi có kiểm soát quyền.

Request

Địa chỉ

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

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.
date_rangequerystringCó26/10/2026 00:00:00 - 28/10/2026 23:59:59Khoảng ngày DD/MM/YYYY HH:MM:SS - DD/MM/YYYY HH:MM:SS theo GIỜ CỦA TRANG (trang VN = giờ VN).
by_hourqueryboolKhôngtruetrue → trả theo giờ (cấu trúc phản hồi khác, xem dưới).
user_idsquerystring (JSON)Không["44d4e026-a4c7-4718-a9fd-46cc117cc116"]Lọc theo nhân viên: mảng UUID dạng chuỗi JSON (lấy ở /users). Chuỗi cách dấu phẩy → lỗi 500.

Ví dụ request

curl -s "https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/107896751234567/statistics/customer_engagements?date_range=26%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/customer_engagements",
    params={
        "date_range": "26/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/customer_engagements');
for (const [k, v] of Object.entries({"date_range":"26/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/customer_engagements' . '?' . http_build_query(['date_range' => '26/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ênKiểuMẫuMô tả
successbooltrue
dataobjectTheo ngày (mặc định) — dạng biểu đồ.
categoriesstring[]["28/10/2026","27/10/2026","26/10/2026"]Nhãn ngày `DD/MM/YYYY`, MỚI trước.
seriesobject[]Mỗi chỉ số một phần tử; `data[i]` ứng với `categories[i]`.
namestringinbox`inbox` · `comment` · `total` (= inbox + comment) · `new_customer_replied` · `customer_engagement_new_inbox` · `order_count` · `old_order_count`.
dataint[][109,11,123]Giá trị theo ngày.
statistics (by_hour=true)object[]Thay cho `data` khi theo giờ — chỉ những giờ có số liệu, mới trước.
hourstring2026-10-28T21:00:00Mốc giờ — GIỜ CỦA TRANG.
inbox / comment / totalint26Tương tác.
new_customer / new_customer_from_inboxint0Khách mới.
order_count / old_order_countint0Đơn / đơn khách cũ.
users_engagementsobject[]Theo nhân viên trong cả khoảng.
user_idstring44d4e026-…UUID nhân viên.
namestringNhân viên B
inbox_countint198Tương tác inbox đã xử lý.
comment_countint5Tương tác bình luận (chỉ có khi > 0).
total_engagementint198Tổng.
order_count / old_order_countint2Đơn / đơn khách cũ.
new_customer_replied_count / customer_engagement_new_inboxint1Chỉ có khi > 0.

Mẫu phản hồi

{
  "success": true,
  "data": {
    "categories": [
      "28/10/2026",
      "27/10/2026",
      "26/10/2026"
    ],
    "series": [
      {
        "name": "inbox",
        "data": [
          109,
          11,
          123
        ]
      },
      {
        "name": "comment",
        "data": [
          0,
          0,
          0
        ]
      },
      {
        "name": "total",
        "data": [
          109,
          11,
          123
        ]
      },
      {
        "name": "new_customer_replied",
        "data": [
          1,
          0,
          0
        ]
      },
      {
        "name": "customer_engagement_new_inbox",
        "data": [
          1,
          0,
          0
        ]
      },
      {
        "name": "order_count",
        "data": [
          1,
          1,
          0
        ]
      },
      {
        "name": "old_order_count",
        "data": [
          1,
          1,
          0
        ]
      }
    ]
  },
  "users_engagements": [
    {
      "user_id": "44d4e026-a4c7-…",
      "name": "Nhân viên B",
      "inbox_count": 198,
      "total_engagement": 198,
      "order_count": 2,
      "old_order_count": 2
    },
    {
      "user_id": "8c9b045c-2ede-…",
      "name": "Nhân viên C",
      "inbox_count": 3,
      "total_engagement": 3,
      "order_count": 0,
      "old_order_count": 0,
      "new_customer_replied_count": 1,
      "customer_engagement_new_inbox": 1
    }
  ]
}

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