---
title: Обработка ошибок API
description: HTTP-коды ошибок API и форматы ответов — для OMNI API, Broadcasts API и Recipients API
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.mydialogi.ru/llms.txt). Append `.md` to any page URL for its markdown version.


> **Коротко:** платформа возвращает HTTP-коды. Формат тела ошибки отличается в зависимости от API: OMNI API использует один формат, Broadcasts API и Recipients API — другой.

## Кому подходит

- Роль: Разработчик
- Уровень: Опытный

## HTTP-коды

| Код | Значение | Что делать |
|---|---|---|
| 200 OK | Успешно | Всё в порядке |
| 202 Accepted | Запрос принят | Сообщение в очереди на отправку |
| 204 No Content | Успешно, тело пустое | Используется для удаления |
| 400 Bad Request | Неверные параметры | Проверьте тело запроса |
| 401 Unauthorized | Неверный или отсутствующий ключ | Проверьте заголовок X-API-Key |
| 403 Forbidden | Нет прав | Проверьте scopes в настройках ключа |
| 404 Not Found | Ресурс не найден | Проверьте URL и ID |
| 500 Internal Server Error | Ошибка сервера | Повторите запрос или обратитесь в поддержку |

## Формат ошибки OMNI API

Используется в эндпоинтах `/api/v1/messages`, `/api/v1/omnimessages`, `/api/v1/senders`, `/api/v1/channels`, `/api/v1/balance`, `/api/v1/edrs`, `/api/v1/templates`, `/api/v1/wa_templates`.

| Поле | Тип | Что означает |
|---|---|---|
| error | boolean | `true` — запрос завершился ошибкой |
| data.message | string | Текст ошибки |
| data.requestId | string | ID запроса для обращения в поддержку |

**Пример ответа с ошибкой:**

```json
{
  "error": true,
  "data": {
    "message": "something went wrong",
    "requestId": "af8c5065-5849-455b-ae1a-6a0b9f4b7209"
  }
}
```

## Формат ошибки Broadcasts API и Recipients API

Используется в эндпоинтах `/api/v1/broadcast/*` и `/api/v1/recipient/*`.

| Поле | Тип | Что означает |
|---|---|---|
| execId | string | ID выполнения (может быть пустым) |
| key | string | Ключ ошибки для локализации (например, `errors.common_error`) |
| code | string | Код ошибки (например, `ValidationError`) |
| message | string | Текст ошибки |
| args | object | Дополнительные аргументы (может быть пустым) |

**Пример ответа с ошибкой:**

```json
{
  "execId": null,
  "key": "errors.common_error",
  "code": "ValidationError",
  "message": "Selected filter's attributes don't exist.",
  "args": null
}
```

## Частые ошибки

### 400 Bad Request

**Причины:**

- Неверный формат JSON.
- Отсутствует обязательное поле (например, `phoneNumber`, `type`, `contentType`).
- Неверный формат номера телефона.
- Передан параметр, которого нет в фильтре.

**Примеры сообщений:**

- `Phone number can't be null or empty`
- `Recipient type can't be null`
- `Selected filter's attributes don't exist.`

**Решение:** проверьте тело запроса и обязательные поля.

### 401 Unauthorized

**Причины:**

- Заголовок `X-API-Key` не передан.
- Ключ неверный.
- Ключ от другого сервиса.

**Решение:** проверьте заголовок и ключ. Подробнее — [Ошибка 401](https://docs.mydialogi.ru/06-reference/03-troubleshooting/ts-mapi-401).

### 403 Forbidden

**Причины:**

- У ключа нет нужного scope.
- Scope отключён в настройках.

**Решение:** добавьте нужный scope в настройках ключа. Подробнее — [API-ключи](https://docs.mydialogi.ru/06-reference/01-api/api-keys).

### 404 Not Found

**Причины:**

- Неверный URL.
- Несуществующий ID (шаблон, получатель, рассылка).

**Решение:** проверьте базовый URL и параметры.

### 500 Internal Server Error

**Причины:**

- Ошибка на стороне сервера.

**Решение:**

1. Повторите запрос через 30 секунд.
2. Сохраните `requestId` (для OMNI API) или `execId` (для Broadcasts/Recipients).
3. Обратитесь в поддержку.

## Что приложить к обращению в поддержку

- Метод и URL запроса.
- Тело запроса (без API-ключа).
- Полный ответ с ошибкой.
- Код ответа.
- Время запроса.
- `requestId` или `execId`, если есть.

## См. также

<Columns cols={2}>
  <Card title="HTTP-коды ошибок" icon="triangle-exclamation" href="/06-reference/03-troubleshooting/ts-api-http-codes">
    Справочник HTTP-кодов API
  </Card>
  <Card title="Ошибка 401" icon="lock" href="/06-reference/03-troubleshooting/ts-mapi-401">
    Что делать при ошибке авторизации
  </Card>
  <Card title="Ошибка 429" icon="gauge-high" href="/06-reference/03-troubleshooting/ts-rate-limit-429">
    Что делать при превышении лимита запросов
  </Card>
  <Card title="API-ключи" icon="key" href="/06-reference/01-api/api-keys">
    Создание и управление ключами доступа
  </Card>
</Columns>

## Нужна помощь?

- OTP-коды: support@otpcod.ru
- Multi API: support@multiapi.ru
- Мой диалог: support@mydialogi.ru
