Обработка ошибок API

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

Коротко: платформа возвращает 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.

ПолеТипЧто означает
errorbooleantrue — запрос завершился ошибкой
data.messagestringТекст ошибки
data.requestIdstringID запроса для обращения в поддержку

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

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

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

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

ПолеТипЧто означает
execIdstringID выполнения (может быть пустым)
keystringКлюч ошибки для локализации (например, errors.common_error)
codestringКод ошибки (например, ValidationError)
messagestringТекст ошибки
argsobjectДополнительные аргументы (может быть пустым)

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

{
  "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.

403 Forbidden

Причины:

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

Решение: добавьте нужный scope в настройках ключа. Подробнее — API-ключи.

404 Not Found

Причины:

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

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

500 Internal Server Error

Причины:

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

Решение:

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

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

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

См. также

HTTP-коды ошибок

Справочник HTTP-кодов API

Ошибка 401

Что делать при ошибке авторизации

Ошибка 429

Что делать при превышении лимита запросов

API-ключи

Создание и управление ключами доступа

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