> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.erlcrussia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Коды Ошибок

> Если API ER:LC Россия отклоняет запрос, оно возвращает JSON-ответ с кодом ошибки. На этой странице можно легко понять, что именно пошло не так и как вашему сервису это исправить.

### Формат Ответа Об Ошибке

Все ошибки возвращаются в формате JSON с полями `code` и `message`.

**Например:**

```json theme={null}
{
  "code": 5007,
  "message": "Missing Token"
}
```

## Таблица Ошибок API ER:LC Россия

<AccordionGroup>
  <Accordion title="Внутренние ошибки API (5001–5037)">
    | Код    | Описание                     | Значение                                                                       |
    | ------ | ---------------------------- | ------------------------------------------------------------------------------ |
    | `5001` | Missing Discord Id           | Отсутствует `discord_id`. Добавьте поле `discord_id` в тело запроса            |
    | `5002` | Missing Parameters           | Отсутствуют обязательные параметры. Проверьте тело запроса                     |
    | `5003` | Invalid Version              | Неверная версия API. Используйте `v1` или `v2`                                 |
    | `5004` | Invalid Param Name           | Неверное имя query-параметра                                                   |
    | `5005` | Missing Command              | Не передана команда. Добавьте поле `command` в тело запроса                    |
    | `5006` | Invalid Master Key           | Недействительный мастер-ключ. Обратитесь к администратору                      |
    | `5007` | Missing Token                | Отсутствует токен. Добавьте заголовок `Authorization: Bearer <токен>`          |
    | `5008` | Invalid Token                | Токен недействителен или деактивирован                                         |
    | `5009` | Forbidden                    | Нет доступа к этому эндпоинту. Обратитесь к администратору                     |
    | `5010` | Api Version Forbidden        | Доступ к этой версии API запрещён для вашего ключа                             |
    | `5011` | Query Param Forbidden        | Доступ к запрошенным query-параметрам запрещён                                 |
    | `5012` | Discord Id Not Found         | Discord ID не найден в базе данных                                             |
    | `5013` | Token Not Found              | Токен не найден                                                                |
    | `5014` | Token Not Found Or Deleted   | Токен не найден или был удалён                                                 |
    | `5015` | Command Queue Full           | Очередь команд заполнена. Попробуйте позже                                     |
    | `5016` | Rate Limit Exceeded          | Превышен лимит запросов. Дождитесь сброса (см. `retry_after`)                  |
    | `5017` | Internal Error               | Внутренняя ошибка сервера. Ошибка логируется                                   |
    | `5018` | Server Error                 | Ошибка при обращении к внешнему API. Данные могут быть из кеша                 |
    | `5019` | Prc Api Error                | Ошибка от PRC API. См. поле `prc_code` для кода ошибки PRC                     |
    | `5020` | Not Found                    | Эндпоинт не найден. Проверьте URL запроса                                      |
    | `5021` | Webhook Url Already Exists   | URL вебхука уже существует                                                     |
    | `5022` | Webhook Not Found            | Вебхук не найден                                                               |
    | `5023` | Webhook Url Not Found        | URL вебхука не найден                                                          |
    | `5024` | Cache Expired                | Кеш устарел и недоступен. Все источники данных вернули ошибку                  |
    | `5025` | Websocket Key Not Found      | WebSocket ключ не найден                                                       |
    | `5026` | Invalid Subscription Channel | Неверный канал подписки                                                        |
    | `5034` | Invalid Json                 | Неверный формат JSON в теле запроса                                            |
    | `5035` | Missing Signature Headers    | Отсутствуют заголовки подписи (`X-Signature-Ed25519`, `X-Signature-Timestamp`) |
    | `5036` | Timestamp Too Old            | Таймстамп запроса слишком старый (более 5 минут)                               |
    | `5037` | Invalid Signature            | Неверная подпись запроса                                                       |
  </Accordion>

  <Accordion title="Ошибки WebSocket Gateway (5101–5134)">
    | Код    | Описание               | Значение                                            |
    | ------ | ---------------------- | --------------------------------------------------- |
    | `5101` | Invalid Message Format | Проверьте формат JSON и поле `action`               |
    | `5102` | Token Required         | Добавьте поле `token` в сообщение `auth`            |
    | `5107` | Not Authenticated      | Отправьте сообщение `auth` перед другими действиями |
    | `5108` | Invalid Token          | Проверьте ваш WebSocket токен                       |
    | `5109` | Connection Blocked     | Обратитесь к администратору                         |
    | `5117` | Authentication Failed  | Внутренняя ошибка. Попробуйте позже                 |
    | `5127` | Connected              | Информационный код, действий не требуется           |
    | `5128` | Auth Success           | Информационный код, действий не требуется           |
    | `5129` | Pong                   | Информационный код, действий не требуется           |
    | `5130` | Subscription Denied    | Нет прав на этот канал данных                       |
    | `5131` | Subscribed             | Информационный код, действий не требуется           |
    | `5132` | Unsubscribed           | Информационный код, действий не требуется           |
    | `5133` | Cache Empty            | Данные ещё не загружены, подождите                  |
    | `5134` | Empty Snapshot         | Кеш есть, но нет данных для ваших подписок          |
  </Accordion>

  <Accordion title="Ошибки API Экономики (6000–6021)">
    | Код    | Описание                                         | Значение                                                 |
    | ------ | ------------------------------------------------ | -------------------------------------------------------- |
    | `6000` | Unknown Error Occurred                           | Проверьте логи, обратитесь к администратору              |
    | `6001` | Database Error Occurred. Please Try Again Later. | Повторите запрос через несколько секунд                  |
    | `6002` | Invalid Amount Specified.                        | Проверьте формат суммы (должно быть положительное число) |
    | `6003` | Invalid Or Missing Parameters.                   | Проверьте обязательные поля в запросе                    |
    | `6004` | Requested Resource Not Found.                    | Проверьте ID ресурса                                     |
    | `6005` | Internal Server Error Occurred.                  | Повторите запрос позже                                   |
    | `6006` | Discord Operation Failed.                        | Проверьте права бота в Discord                           |
    | `6007` | Data Serialization Error.                        | Обратитесь к администратору                              |
    | `6008` | Guild Not Found                                  | Проверьте `guildId` в параметрах                         |
    | `6009` | Discord Channel Not Found                        | Проверьте `channelId` в запросе                          |
    | `6010` | Business Not Found                               | Проверьте `businessId` или `businessName`                |
    | `6011` | Mafia Not Found                                  | Проверьте `mafiaId` или `mafiaName`                      |
    | `6012` | Transaction Not Found                            | Проверьте `transactionId`                                |
    | `6013` | Item Not Found                                   | Проверьте `itemName`                                     |
    | `6014` | Request Not Found Or Expired                     | Проверьте `requestId`                                    |
    | `6015` | Duplicate Entry Found.                           | Ресурс уже существует                                    |
    | `6016` | User Not Found                                   | Проверьте `userId`                                       |
    | `6017` | Insufficient Funds                               | Недостаточно средств у пользователя                      |
    | `6018` | Invalid Action Specified                         | Проверьте параметр `action`                              |
    | `6019` | Missing Required Fields                          | Заполните все обязательные поля                          |
    | `6020` | Permission Denied                                | Проверьте токен и права доступа                          |
    | `6021` | Rate Limit Exceeded                              | Дождитесь сброса лимита                                  |
  </Accordion>
</AccordionGroup>

## Таблица Ошибок ER:LC API

Эти коды ошибок могут возвращаться от внешнего ER:LC API при запросах к эндпоинтам `*/erlc/*`.

<AccordionGroup>
  <Accordion title="Системные ошибки (0, 1001, 1002)">
    | Код    | Значение                                                                                                                                                           |
    | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | `0`    | Произошла неизвестная ошибка. Если ошибка повторяется, обратитесь в поддержку ER:LC Россия через тикет (мы обратимся в поддержку PRC, если ошибка вылезает часто). |
    | `1001` | Ошибка связи с Roblox или внутриигровым приватным сервером.                                                                                                        |
    | `1002` | Произошла внутренняя системная ошибка.                                                                                                                             |
  </Accordion>

  <Accordion title="Ошибки аутентификации (2000–2004)">
    | Код    | Значение                                                  |
    | ------ | --------------------------------------------------------- |
    | `2000` | Вы не предоставили server-key.                            |
    | `2001` | Вы указали server-key в неверном формате.                 |
    | `2002` | Вы предоставили недействительный или истёкший server-key. |
    | `2003` | Вы предоставили недействительный глобальный API-ключ.     |
    | `2004` | Ваш server-key заблокирован для доступа к API.            |
  </Accordion>

  <Accordion title="Ошибки запросов (3001–3002)">
    | Код    | Значение                                                                            |
    | ------ | ----------------------------------------------------------------------------------- |
    | `3001` | Вы не указали корректную команду в теле запроса.                                    |
    | `3002` | Сервер, к которому вы пытаетесь обратиться, в данный момент отключён (нет игроков). |
  </Accordion>

  <Accordion title="Ошибки лимитов и доступа (4001–4003)">
    | Код    | Значение                                              |
    | ------ | ----------------------------------------------------- |
    | `4001` | Превышен лимит запросов.                              |
    | `4002` | Команда, которую вы пытаетесь выполнить, ограничена.  |
    | `4003` | Сообщение, которое вы пытаетесь отправить, запрещено. |
  </Accordion>

  <Accordion title="Специальные коды (9998, 9999)">
    | Код    | Значение                                      |
    | ------ | --------------------------------------------- |
    | `9998` | Ресурс, к которому вы обращаетесь, ограничен. |
    | `9999` | Модуль на внутриигровом сервере устарел.      |
  </Accordion>
</AccordionGroup>

## Обработка Кода `0`

Если вы ловите ошибку с кодом `0` (Unknown Error) и она повторяется при нескольких запросах подряд, создайте тикет на нашем Discord-сервере. Прикрепите к обращению детали вашего запроса, чтобы наша команда могла разобраться, в чём проблема.
