Перейти к основному содержимому

Запросы

Публичные и пользовательские запросы возвращают состояние пользователя, доступные серверы, настройки проекта и связанные аккаунты.

Доступность проекта​

QuerydocumentId: projectAvailableauth: X-Project-Context

projectAvailable​

Возвращает Boolean!: true, если проект доступен, или false, если его работа приостановлена. Переменные и пользовательская сессия не требуются. При false покажите сообщение о временной недоступности и предложите повторить проверку позже. Ошибка запроса не означает, что проект доступен.

Запрос
documentId: projectAvailable
{
"documentId": "projectAvailable",
"variables": {}
}
Ответ
200 OK
{
"data": {
"projectAvailable": false
}
}

Текущий пользователь​

QuerydocumentId: meauth: Bearer session

me​

Описание​

Возвращает текущего авторизованного пользователя и основные поля личного кабинета.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - User.

ПолеТипОписание
idID!ID пользователя
emailStringEmail
balanceString!Доступный основной баланс точной десятичной строкой
bonusBalanceString!Доступный бонусный баланс точной десятичной строкой
paymentDebtString!Задолженность по выбранному балансу
purchasesRestrictedBoolean!Покупки и вывод с этого баланса ограничены до погашения долга
hasPinBoolean!Установлен ли PIN-код
shieldInt!PIN-щит (1 = включен)
statusInt!Статус аккаунта
emailConfirmedBoolean!Email подтвержден
telegramStringTelegram ID
langStringЯзык
createdAtDateTimeДата регистрации
lastLoginDateTimeПоследний вход
lastIpStringПоследний IP
selectedServerIdIntВыбранный сервер
socialProfiles[SocialProfile!]!Привязанные соцсети
twoFactorMethods[String!]!Включенные методы 2FA
loyaltyProgressLoyaltyProgress!Рассчитанное состояние прогресса и текущего уровня Loyalty

Ошибки​

  • UNAUTHENTICATED - сессия не передана или истекла.
  • FORBIDDEN - пользователь заблокирован или не может выполнить запрос.

Пример обмена​

Запрос
documentId: me
{
"documentId": "me",
"variables": {}
}
Ответ
200 OK
{
"data": {
"me": {
"id": "1001",
"email": "[email protected]",
"balance": "120.5",
"bonusBalance": "15",
"paymentDebt": "0",
"purchasesRestricted": false,
"hasPin": true,
"shield": 1,
"emailConfirmed": true,
"selectedServerId": 1,
"loyaltyProgress": {
"active": true,
"programEnabled": true,
"progressMode": "rolling_window",
"progressState": "active",
"currentProgress": "4000",
"pendingProgress": "0",
"lifetimeProgress": "4000",
"currentLevelId": "level-2",
"nextLevelId": "level-3",
"cycle": {
"id": "cycle-2026-08",
"startsAt": "2026-08-01T00:00:00+00:00",
"endsAt": "2026-09-01T00:00:00+00:00",
"frozenUntil": null
},
"forecast": {
"projectedProgress": "4000",
"projectedLevelId": "level-2",
"requiredToRetain": "0",
"downgradeAt": null,
"frozenUntil": null,
"expiringContributions": []
}
}
}
}
}

Связанные типы​

LoyaltyProgress​

ПолеТипОписание
activeBoolean!Есть ли действующий уровень и доступ к его преимуществам
programEnabledBoolean!Включена ли программа в проекте
progressModeLoyaltyProgressMode!Режим расчёта: lifetime, personal_cycle, calendar_month, rolling_window или season
progressStateLoyaltyProgressState!inactive, active, frozen или grace
currentProgressString!Подтверждённый прогресс текущего расчётного периода
pendingProgressString!Прогресс, ожидающий подтверждения
lifetimeProgressString!Накопительный прогресс без ограничения периода
currentLevelIdIDТекущий уровень
nextLevelIdIDСледующий уровень
cycleLoyaltyProgressCycleГраницы текущего цикла и период заморозки
forecastLoyaltyProgressForecast!Прогноз после выхода вкладов из расчётного окна

LoyaltyProgressCycle содержит id, startsAt, endsAt и frozenUntil. LoyaltyProgressForecast содержит projectedProgress, projectedLevelId, requiredToRetain, downgradeAt, frozenUntil и список expiringContributions. Все суммы передаются строками, чтобы не терять точность денежных и прогрессных значений.

Активные сессии​

QuerydocumentId: sessionsauth: Bearer session

sessions​

Описание​

Возвращает список активных пользовательских сессий для отображения и управления безопасностью аккаунта.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - [Session!]!.

Ошибки​

  • UNAUTHENTICATED - пользователь не авторизован.

Пример обмена​

Запрос
documentId: sessions
{
"documentId": "sessions",
"variables": {}
}
Ответ
200 OK
{
"data": {
"sessions": [
{
"id": "019bef0c-2d38-7c98-a11d-d2d7ccf7e7cb",
"isCurrent": true,
"expiresAt": "2026-07-13T22:00:00Z"
}
]
}
}

Связанные типы​

Настройки проекта​

QuerydocumentId: projectSettingsauth: public

projectSettings​

Описание​

Возвращает публичные настройки проекта, которые нужны клиентскому сайту: языки, регистрацию, социальные провайдеры и доступные пользовательские сценарии.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - ProjectSettings.

Ошибки​

  • PROJECT_NOT_FOUND - проект не найден по переданному контексту.
  • VALIDATION - некорректные заголовки проекта или команды.

Пример обмена​

Запрос
documentId: projectSettings
{
"documentId": "projectSettings",
"variables": {}
}
Ответ
200 OK
{
"data": {
"projectSettings": {
"registrationEnabled": true,
"defaultLang": "ru",
"socialProviders": [
"google",
"telegram"
]
}
}
}

Связанные типы​

Список серверов​

QuerydocumentId: serversauth: public

servers​

Описание​

Возвращает список игровых серверов, доступных на проекте.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - [GameServer!]!.

Ошибки​

  • PROJECT_NOT_FOUND - проект не найден.

Пример обмена​

Запрос
documentId: servers
{
"documentId": "servers",
"variables": {}
}
Ответ
200 OK
{
"data": {
"servers": [
{
"id": 1,
"name": "Main",
"healthStatus": "AVAILABLE"
}
]
}
}

Связанные типы​

Связанные аккаунты​

QuerydocumentId: accountLinksauth: Bearer session

Описание​

Возвращает подтвержденные, ожидающие и отозванные связи текущей учетной записи. Квота возвращается соседним полем accountLinkQuota; ее полный контракт и мутации описаны в разделе Связанные аккаунты.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - [AccountLink!]!. Операция также запрашивает AccountLinkQuota.

Ошибки​

  • UNAUTHENTICATED - пользователь не авторизован.

Пример обмена​

Запрос
documentId: accountLinks
{
"documentId": "accountLinks",
"variables": {}
}
Ответ
200 OK
{
"data": {
"accountLinks": [
{
"id": "17",
"targetId": "2002",
"email": "[email protected]",
"status": "CONFIRMED",
"createdAt": "2026-07-23T10:30:00+00:00",
"confirmationExpiresAt": null
}
],
"accountLinkQuota": {
"isUnlimited": false,
"baseLimit": 5,
"effectiveLimit": 9,
"used": 3,
"remaining": 6,
"pendingUsed": 1,
"pendingLimit": 10,
"canCreate": true
}
}
}

Связанные типы​

Социальные профили​

QuerydocumentId: socialProvidersauth: public

socialProviders​

Описание​

Возвращает список социальных провайдеров, доступных для входа и привязки.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - [String!]!.

Ошибки​

  • PROJECT_NOT_FOUND - проект не найден.

Пример обмена​

Запрос
documentId: socialProviders
{
"documentId": "socialProviders",
"variables": {}
}
Ответ
200 OK
{
"data": {
"socialProviders": [
"google",
"discord"
]
}
}

Связанные типы​

Привязанные социальные профили​

QuerydocumentId: socialProfilesauth: Bearer session

socialProfiles​

Описание​

Возвращает социальные профили, привязанные к текущему пользователю.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - [SocialProfile!]!.

Ошибки​

  • UNAUTHENTICATED - пользователь не авторизован.

Пример обмена​

Запрос
documentId: socialProfiles
{
"documentId": "socialProfiles",
"variables": {}
}
Ответ
200 OK
{
"data": {
"socialProfiles": [
{
"provider": "google",
"providerUserId": "123"
}
]
}
}

Связанные типы​