Central Data · allSeries
| Series ID | Старт (локально) | Title | Турнир | Формат | Команды | Тип | |
|---|---|---|---|---|---|---|---|
Укажите ключ и нажмите «Загрузить» | |||||||
Live Data Feed · seriesState
Ответ
Series Events · WebSocket
Справочники Central Data
Нет данных |
Произвольный GraphQL-запрос
Query
Variables (JSON)
Ответ
Шпаргалка
Эндпоинты
| Central Data (расписание, турниры, команды, игроки, Series ID) | https://api.grid.gg/central-data/graphql |
| Series State (текущее состояние серии) | https://api.grid.gg/live-data-feed/series-state/graphql |
| Series State — Open Access | https://api-op.grid.gg/live-data-feed/series-state/graphql |
| Series Events по серии (WebSocket) | wss://api.grid.gg/live-data-feed/series/{SERIES_ID}?key={KEY} |
| Series Events по игроку (WebSocket) | wss://api.grid.gg/live-data-feed/series?playerId={PLAYER_ID}&key={KEY} |
| Feed Viewer (официальный) | portal.grid.gg/developers/feed-viewer |
| Документация | docs.grid.gg |
| Через прокси этого сервера (режим «этот сервер» в селекторе хоста) | {origin}/central-data/graphql, {origin}/live-data-feed/… |
Аутентификация
HTTP/GraphQL — заголовок x-api-key: XXX. WebSocket — заголовки задать нельзя, поэтому ключ идёт query-параметром ?key=XXX. Только HTTPS/WSS.
Тестовые «loop»-серии (крутятся постоянно, ID серии = ID тайтла)
| Title | Series ID |
|---|
Лимиты WebSocket
- Максимум 3 одновременных соединения на серию для одного ключа.
- Максимум 5 попыток подключения в минуту на ключ.
- Соединение живёт до 24 часов после последней активности; шлите ping-фреймы, чтобы держать неактивный сокет открытым.
- Фид по серии доступен ещё ~2 часа после её окончания.
Параметры WebSocket
| Параметр | Описание |
|---|---|
key | обязательный — API-ключ |
useConfig | если true — после подключения сервер ждёт JSON с конфигурацией фильтров |
fromSequenceNumber | начать с этого номера транзакции |
fromSessionSequenceNumber | начать с этого номера в рамках сессии |
Структура транзакции
Транзакция = {id, correlationId, occurredAt, publishedAt, seriesId, sequenceNumber, sessionSequenceNumber, events[]}.
Событие = {id, type, includesFullState, actor, action, target, seriesStateDelta, seriesState}, где тип имеет вид
actor-action-target (например player-killed-player). Откатанное событие помечается восклицательным знаком в действии
(player-!killed-player) и ссылается на revertedEventId; дельты в нём инвертированы.
Иерархия состояния
Series → Games → Segments → Segments … Внутри каждого уровня: Teams → Players. Одни и те же метрики агрегируются на всех уровнях.
Основные фильтры allSeries
startTimeScheduled: {gte, lte}, updatedAt: {gte, lte}, titleId / titleIds: {in: []},
tournamentId / tournament: {name: {contains}}, teamId / teamIds,
type / types, live: {games: {id | map}}, livePlayerIds, private.
Аргументы orderBy (StartTimeScheduled|UpdatedAt|ID) и orderDirection (ASC|DESC) — обязательные.