get /pages/{page_id}/posts
GET/public_api/v1/pages/{page_id}/postsGọi qua 360: GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/posts
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
Danh sách BÀI VIẾT của trang (ảnh, video, reels, livestream) trong khoảng thời gian: nội dung, loại, số bình luận, cảm xúc, lượt chia sẻ, số SĐT bắt được từ bình luận. Dùng để xếp hạng bài theo tương tác / số SĐT, lấy mã bài lọc hội thoại bình luận.
page_sizeBẮT BUỘC: thiếu →{"message":"page_size is required!","total":null,"success":false,"posts":null}; thiếu since →start_time is required!.- Thời gian là giờ UTC; since / until lọc theo ngày đăng bài.
- Bỏ qua trường
comment_paging(liên kết tải bình luận nội bộ của Pancake, chỉ có ở một số bài livestream) — không dùng được qua 360; đọc bình luận bằng /conversations (type=COMMENT, post_ids) + API tin nhắn.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/{page_id}/posts
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ó | 1790614800 | Từ (Unix giây, UTC) — lọc theo ngày đăng. |
| until | query | timestamp | Có | 1793206799 | Đến (Unix giây, UTC). |
| page_number | query | int | Có | 1 | Trang số, từ 1. |
| page_size | query | int | Có | 30 | Số bài / trang, tối đa 30 (gửi lớn hơn vẫn trả 30). |
| type | query | string | Không | photo | Lọc loại: video · photo · text · livestream. |
Phân trang
Tăng page_number tới khi posts trả ít hơn page_size; total = tổng số bài khớp bộ lọc.
Ví dụ request
curl -s "https://partner.quantri360.com/v1/pancake_chat/public_api/v1/pages/107896751234567/posts?since=1790614800&until=1793206799&page_number=1&page_size=30" \ -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/posts",
params={
"since": 1790614800,
"until": 1793206799,
"page_number": 1,
"page_size": 30
},
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/posts');
for (const [k, v] of Object.entries({"since":1790614800,"until":1793206799,"page_number":1,"page_size":30})) 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/posts' . '?' . http_build_query(['since' => 1790614800, 'until' => 1793206799, 'page_number' => 1, 'page_size' => 30]); $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; khi đó `total`, `posts` = null). |
| message | string | null | |
| total | int | 65 | Tổng số bài. |
| posts | object[] | Bài viết, mới đăng trước. | |
| id | string | 107896751234567_1199000000000007 | Mã bài `<page_id>_<mã bài>` (dùng cho `post_ids` ở /conversations). |
| type | string | video | `photo` · `video` · `livestream` · `text`… |
| status_type | string | added_video | Kiểu đăng (added_photos, added_video…). |
| message | string | Thanh lịch và tôn dáng với set áo vest… | Nội dung bài. |
| story | string | null | Dòng trạng thái (vd "… đang phát trực tiếp."). |
| inserted_at | string | 2026-10-28T10:08:21 | Ngày đăng — giờ UTC. |
| updated_at | string | 2026-10-29T04:44:46 | Cập nhật cuối — giờ UTC. |
| comment_count | int | 74 | Số bình luận. |
| share_count | int | 1 | Lượt chia sẻ (`null` khi chưa có). |
| phone_number_count | int | 0 | Số SĐT bắt được trong bình luận. |
| reactions | object | like_count, love_count, care_count, haha_count, wow_count, sad_count, angry_count. | |
| attachments | object | Ảnh / video: type, data[{ type, url, image_data }], target{ id, url }. | |
| live_video_status | string | vod | Livestream: trạng thái (`vod` = đã kết thúc, còn bản xem lại). |
| live_video_ended_time | string | 2026-10-29T05:54:36 | Livestream: giờ kết thúc (UTC). |
| from | object | Người đăng: id, name. | |
| admin_creator | object | Tài khoản / ứng dụng đã đăng: id, name. | |
| privacy | string | EVERYONE | |
| is_removed | bool | false | Bài đã xóa. |
| … | Còn: message_tags (hashtag), story_tags, view_count, saved_count, is_visitor_post, edit_history… |
Mẫu phản hồi
{
"message": null,
"total": 21,
"success": true,
"posts": [
{
"id": "107896751234567_1199000000000007",
"page_id": "107896751234567",
"type": "video",
"status_type": "added_video",
"privacy": "EVERYONE",
"message": "Thanh lịch và tôn dáng với set áo vest… #thoitrang",
"story": null,
"inserted_at": "2026-10-28T10:08:21",
"updated_at": "2026-10-29T04:44:46",
"comment_count": 0,
"share_count": 1,
"phone_number_count": 0,
"view_count": 0,
"reactions": {
"like_count": 0,
"love_count": 1,
"care_count": 0,
"haha_count": 0,
"wow_count": 0,
"sad_count": 0,
"angry_count": 0
},
"attachments": {
"type": "video_inline",
"ids": [
"1699000000000001"
],
"data": [
{
"type": "video_inline",
"url": "…"
}
]
},
"from": {
"id": "107896751234567",
"name": "Trang ABC"
},
"is_removed": false,
"live_video_status": null
}
]
}
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Trang ở trang nền tảng
- Tạo API key (tick kênh Pancake Chat)
- Gọi theo ví dụ ở trên