Перейти к основному содержимому
🎉 GP CONF 2026: Конференция о рынке WEB-игр 👾 23 сентября | Подробнее

API White-label площадки

API White-label площадки предоставляет конфигурацию, контент, функции игрока, обратную связь и статистику для собственного frontend площадки GamePush. Он использует GraphQL, но отличается контекстом доступа от общего серверного API.

Адрес GraphQL API

Отправляйте запросы GamePush на адрес:

https://api.gamepush.com/gs/api/graphql

Используйте метод POST и JSON-тело с полем query и, когда необходимо, variables. API White-label площадки и общий серверный API используют один GraphQL endpoint, но разные заголовки доступа и операции.

Откройте площадку в панели GamePush. Её числовой ID находится в URL страницы на месте {id}: panel/platforms/{id}. В разделе «API» можно скопировать API KEY площадки, необходимый только для серверных запросов. Для первого запроса конфигурации используйте стандартный адрес. Если в ответе указан другой apiUrl, отправляйте последующие запросы API площадки на этот настроенный адрес в том же формате.

Есть два контекста выполнения:

КонтекстОбязательные данные запросаДля чего использовать
Сервер площадкиContent-Type, X-Game-Platform-Api-Key, X-Game-Platform-IDПолный каталог с метриками, работа с обратной связью и статистика
Браузер игрокаContent-Type, X-Game-Platform-ID, совпадающий браузерный Origin и credentials: 'include'Публичная конфигурация и контент, вход игрока, профиль, мои игры и покупки
Защищайте данные площадки

API-ключ — серверный секрет. Не добавляйте его в frontend-бандл, не передавайте браузеру и не сохраняйте в репозитории.

Секретный ключ, расположенный рядом с API-ключом, используется для подписей вебхуков. Он не является ключом доступа к GraphQL. Внутренние заголовки и токены GamePush не относятся к публичному API.

Функция для браузерных запросов

Браузер самостоятельно добавляет заголовок Origin. API проверяет, что origin совпадает с доменом площадки. Параметр credentials: 'include' позволяет браузеру получать и отправлять HttpOnly-cookie сессии игрока.

const apiUrl = 'https://api.gamepush.com/gs/api/graphql';
const platformId = '42';

async function requestWhiteLabelApi(query, variables = {}) {
const response = await fetch(apiUrl, {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'X-Game-Platform-ID': platformId,
},
body: JSON.stringify({ query, variables }),
});

const payload = await response.json();
if (!response.ok || payload.errors?.length) {
throw new Error(payload.errors?.[0]?.message ?? `HTTP ${response.status}`);
}

return payload.data;
}

Не добавляйте API-ключ в эту функцию. Cookie игрока управляется браузером и не должна читаться из JavaScript.

Обработка результата GraphQL

Операции API площадки возвращают union-тип. По __typename отличайте успешный объект от Problem. HTTP 200 сам по себе не означает успешный бизнес-результат.

const data = await requestWhiteLabelApi(query, variables);
const result = data.result;

if (result.__typename === 'Problem') {
throw new Error(result.message);
}

Разделы API

  • Быстрый старт: серверная функция и первые запросы.
  • Площадка: брендирование, SEO, аналитика, меню, реклама и платежная конфигурация.
  • Игры: игровой контент, пагинация, фильтры и метрики.
  • Страницы: метаданные страниц и блоки для отображения.
  • Подборки: метаданные подборок и игры с пагинацией.
  • Промо: промобаннеры, предложение PWA и игра дня.
  • Игрок: вход, профиль, мои игры и покупки.
  • Обратная связь: создание и обработка обращений с витрины.
  • Статистика: записанные агрегаты рекламы и покупок.

API White-label площадки читает настройки, подготовленные в панели управления. Административные операции создания, изменения, публикации и удаления остаются операциями панели и не входят в это руководство по API.