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

Ошибки API

API возвращает стандартный GraphQL-ответ: поле data при успешном выполнении и массив errors, если запрос не может быть выполнен полностью.

Формат ошибки​

Плохой запрос
POST /graphql
POST /graphql HTTP/1.1
Accept-Language: ru
Content-Type: application/json
X-Project-Context: <project-context-token>
X-Request-Id: optional-request-id

{
"documentId": "me",
"variables": {}
}
Ответ API
401 Unauthorized
{
"errors": [
{
"message": "Authentication required",
"extensions": {
"category": "authentication"
}
}
],
"data": null
}

Типовые категории​

КатегорияПричинаЧто проверить
authenticationНет сессии или сессия истеклаAuthorization, повторный login
validationНеверные переменные операцииНазвания и типы полей в variables
authorizationНедостаточно правСтатус пользователя, PIN, доступ к серверу
not_foundСущность не найденаID проекта, сервера, товара, аккаунта
internalОшибка платформыПовторить запрос позже или обратиться в поддержку

Частые причины​

  • documentId написан с ошибкой или не существует в справочнике.
  • Не передан, повреждён или устарел X-Project-Context.
  • Для операции нужен Authorization: Bearer <sessionId>, но пользователь не авторизован.
  • variables.gameServerId отсутствует, имеет неверный формат или указывает на сервер другого проекта.
  • Явный variables.gameServerId не принадлежит текущему проекту.

Рекомендации​

PROJECT_UNAVAILABLE означает, что проект временно недоступен. Покажите уведомление вместо повторной отправки действия. Проверить доступность позже можно запросом projectAvailable.

Логируйте documentId, HTTP status, errors[].message и errors[].extensions.category. Не логируйте пароли, PIN-коды, токены, секретные ключи и персональные данные без маскирования.