Cập nhật lần cuối
Pulse công khai
Các con số LIVE toàn hệ thống và những sự kiện công khai mới nhất, chính là nguồn dữ liệu phía sau trang chủ RoomScope. Không cần API key và không tốn credit.
Request
GET /web-api/public/pulse trên origin của trang web, không có tham số và không cần xác thực. Đây là một endpoint web công khai, không thuộc API /v1: nó không nhận header Authorization và không xuất hiện trong mức sử dụng của bạn.
curl "https://toktokdata.live/web-api/public/pulse"Response
Một object JSON. Mọi con số đều được đếm trên toàn nền tảng: không có gì trong đó thuộc về một workspace, một người dùng hay một luật cảnh báo.
{ "liveRooms": 55, "trackedRooms": 460, "boardsObserved24h": 244, "regions": ["VN"], "alertsDelivered24h": 820, "observedAt": "2026-11-04T04:04:36.242Z", "events": [ { "type": "live_start", "region": "VN", "at": "2026-11-04T04:02:02.941Z" }, { "type": "board_observed", "region": "VN", "board": "league_a1", "at": "2026-11-04T04:00:59.535Z" }, { "type": "rank_move", "handle": "creator.handle", "region": "VN", "board": "daily", "rank": 4, "previousRank": 12, "at": "2026-11-04T03:52:14.621Z" } ], "provenance": { "observedAt": "2026-11-04T04:04:36.242Z", "freshness": "near_realtime", "source": "platform_counters", "sourceKind": "derived", "coverageStatus": "observed", "methodologyVersion": "pulse-v1", "window": { "from": "2026-11-03T04:04:36.242Z", "to": "2026-11-04T04:04:36.242Z", "label": "24h" } }}| Trường | Kiểu | Ý nghĩa |
|---|---|---|
liveRooms | integer | Số phòng RoomScope đang ghi lại và đang live ngay lúc này. |
trackedRooms | integer | Số phòng khác nhau được ít nhất một workspace theo dõi. |
boardsObserved24h | integer | Số bảng chính thức đã quan sát trong 24 giờ qua, mỗi tổ hợp khu vực, bảng và kỳ chỉ tính một lần. |
regions | string[] | Mã khu vực của các bảng đó, đã sắp xếp. |
alertsDelivered24h | integer | Số thông báo cảnh báo đã gửi trong 24 giờ qua. |
observedAt | string | Thời điểm ảnh chụp này được tính (ISO 8601, UTC). |
events | object[] | Tối đa 10 sự kiện công khai mới nhất, mới nhất trước (xem bên dưới). |
provenance | object | Nguồn, phương pháp và khoảng 24 giờ của các con số, như trên mọi chỉ số của RoomScope. |
Sự kiện
Mỗi sự kiện có một type và thời điểm at. Chỉ có ba loại; hãy bỏ qua mọi loại khác mà bạn có thể thấy về sau.
| Loại | Trường | Khi nào |
|---|---|---|
board_observed | region, board, at | Ảnh chụp đầy đủ mới nhất của một bảng công khai (bảng shopping không công khai). |
rank_move | handle, region, board, rank, previousRank, at | Một creator trong top 10 công khai của một bảng công khai đã tăng hạng so với kỳ trước. Tối đa 3 sự kiện mỗi bảng, mức tăng lớn nhất trước. |
live_start | region, at, handle? | Một creator từng lọt vào top 10 công khai của một bảng công khai trong 7 ngày qua vừa lên sóng. |
live_start không mang handle khi creator đó vẫn đang live, đúng như cách showroom che tên các creator đang live.Độ mới và cache
Ảnh chụp được tính một lần và dùng chung cho mọi người gọi trong 60 giây; response mang header Cache-Control: public, max-age=30. Polling thường xuyên hơn mỗi phút một lần sẽ nhận lại cùng các con số. Dùng observedAt để hiển thị số liệu đã cũ bao lâu.
Giới hạn và lỗi
Lệnh gọi bị giới hạn theo IP của client: 300 lần mỗi giờ cho endpoint này, nằm trong giới hạn đột biến công khai 120 lần mỗi phút và một ngưỡng chung toàn nền tảng. Khi vượt giới hạn, câu trả lời là 429 kèm Retry-After tính bằng giây.
HTTP/2 429Retry-After: 1260 { "code": "public_allowance_exhausted", "message": "You reached the public limit of 300 per hour…", "requestId": "…", "retryable": true }Khi bề mặt công khai bị tắt hoặc không truy cập được cache của nó, câu trả lời là 503 với code public_surface_unavailable và retryable: true. Cả hai đều dùng cùng envelope lỗi như phần còn lại của API.