Son güncelleme
Herkese açık pulse
Sistem genelindeki LIVE sayıları ve en son herkese açık olaylar; RoomScope ana sayfasının arkasındaki akış. API anahtarı gerektirmez ve kredi harcamaz.
İstek
Site kökünde GET /web-api/public/pulse; parametre ve kimlik doğrulama gerekmez. Bu, /v1 API’sinin bir parçası değil, herkese açık bir web endpoint’idir: Authorization başlığı almaz ve kullanımınızda görünmez.
curl "https://toktokdata.live/web-api/public/pulse"Yanıt
Tek bir JSON nesnesi. Her sayı platformun tamamı üzerinden sayılır: içindeki hiçbir şey bir çalışma alanına, bir kullanıcıya veya bir uyarı kuralına ait değildir.
{ "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" } }}| Alan | Tür | Anlamı |
|---|---|---|
liveRooms | integer | RoomScope’un kaydettiği ve şu anda yayında olan odalar. |
trackedRooms | integer | En az bir çalışma alanının takip ettiği farklı odalar. |
boardsObserved24h | integer | Son 24 saatte gözlemlenen resmî sıralamalar; her bölge, sıralama ve dönem için bir kez sayılır. |
regions | string[] | Bu sıralamaların bölge kodları, sıralı olarak. |
alertsDelivered24h | integer | Son 24 saatte iletilen uyarı bildirimleri. |
observedAt | string | Bu anlık görüntünün hesaplandığı zaman (ISO 8601, UTC). |
events | object[] | En yeniden eskiye en fazla 10 son herkese açık olay (aşağıda). |
provenance | object | Sayıların kaynağı, yöntemi ve 24 saatlik zaman aralığı; her RoomScope metriğinde olduğu gibi. |
Olaylar
Her olayın bir type değeri ve bir at zamanı vardır. Yalnızca üç tür mevcuttur; ileride görebileceğiniz diğer türleri yok sayın.
| Tür | Alanlar | Ne zaman |
|---|---|---|
board_observed | region, board, at | Herkese açık bir sıralamanın en yeni eksiksiz anlık görüntüsü (alışveriş sıralamaları herkese açık değildir). |
rank_move | handle, region, board, rank, previousRank, at | Herkese açık bir sıralamanın açık ilk 10’undaki bir içerik üreticisi önceki döneme göre yükseldi. Sıralama başına en fazla 3, en büyük yükseliş önce. |
live_start | region, at, handle? | Son 7 günde herkese açık bir sıralamanın açık ilk 10’una girmiş bir içerik üreticisi canlı yayına başladı. |
live_start, o içerik üreticisi hâlâ yayındayken handle taşımaz; showroom’un yayındaki içerik üreticilerini gizlemesiyle tamamen aynı şekilde.Güncellik ve önbellek
Anlık görüntü bir kez hesaplanır ve 60 saniye boyunca tüm çağıranlarla paylaşılır; yanıtlar Cache-Control: public, max-age=30 taşır. Dakikada birden sık yoklamak aynı sayıları döndürür. Sayıların ne kadar eski olduğunu göstermek için observedAt değerini kullanın.
Limitler ve hatalar
Çağrılar istemci IP’si başına sınırlıdır: bu endpoint için saatte 300; bu sınır, dakikada 120’lik herkese açık ani yük limitinin ve platform genelindeki bir üst sınırın içindedir. Bir limit aşıldığında yanıt, saniye cinsinden Retry-After ile 429 olur.
HTTP/2 429Retry-After: 1260 { "code": "public_allowance_exhausted", "message": "You reached the public limit of 300 per hour…", "requestId": "…", "retryable": true }Herkese açık yüzey kapatıldığında veya önbelleğine ulaşılamadığında yanıt, public_surface_unavailable koduyla ve retryable: true ile 503 olur. İkisi de API’nin geri kalanıyla aynı hata zarfını kullanır.