Ошибки и лимиты API
Все ответы WazzaBee API возвращаются в формате JSON. При ошибке поле error содержит описание проблемы на русском языке.
Формат ответа при ошибке
{
"error": "Описание ошибки",
"details": "Дополнительная информация (опционально)"
}
Формат ответа при успехе
{
"success": true,
...данные ответа
}
Коды HTTP-ответов
| Код | Статус | Описание | Что делать |
|---|---|---|---|
200 | OK | Запрос выполнен успешно | Обработайте данные из ответа |
202 | Accepted | Запрос принят в обработку (для отправки сообщений) | Сообщение в очереди, будет доставлено в ближайшие секунды |
400 | Bad Request | Неверные параметры запроса | Проверьте обязательные параметры и их формат |
401 | Unauthorized | Ошибка авторизации | Проверьте заголовок Authorization и API-ключ |
403 | Forbidden | Нет доступа к ресурсу | Проверьте привязку каналов к интеграции |
404 | Not Found | Ресурс не найден | Проверьте URL эндпоинта и ID ресурсов |
500 | Internal Server Error | Внутренняя ошибка сервера | Повторите запрос позже. Если повторяется — обратитесь в поддержку |
Частые ошибки и решения
«Отсутствует заголовок Authorization» (401)
Причина: Вы не передали заголовок Authorization или передали в неверном формате.
Решение: Добавьте заголовок Authorization: Bearer ВАШ_API_КЛЮЧ. Обратите внимание на пробел после Bearer.
# ❌ Неправильно (нет заголовка)
curl -X GET "https://api.wazzabee.com/api-gateway/v1/channels"
# ❌ Неправильно (нет Bearer)
curl -X GET "https://api.wazzabee.com/api-gateway/v1/channels" \
-H "Authorization: wac_live_sk_..."
# ✅ Правильно
curl -X GET "https://api.wazzabee.com/api-gateway/v1/channels" \
-H "Authorization: Bearer wac_live_sk_..."
«Неверный API-ключ» (401)
Причина: Ключ не найден в системе — возможно, опечатка или ключ от другой интеграции.
Решение: Скопируйте ключ заново из раздела Коннекторы → API.
«Интеграция деактивирована» (403)
Причина: Интеграция была отключена в личном кабинете.
Решение: Зайдите в Коннекторы и активируйте интеграцию.
«Канал не привязан к данной интеграции» (403)
Причина: Вы пытаетесь использовать канал, который не входит в список разрешённых для данного API-ключа.
Решение: Проверьте настройки интеграции — убедитесь, что нужный канал включён.
«Канал не найден или нет доступа» (404)
Причина: Указанный channelId не существует или принадлежит другому аккаунту.
Решение: Получите актуальный список каналов через GET /v1/channels.
«Канал неактивен» (400)
Причина: Канал (линия связи) отключён или потерял соединение.
Решение: Проверьте статус канала в личном кабинете. Для WhatsApp QR — возможно, нужно пересканировать QR-код.
«Неподдерживаемый тип канала» (400)
Причина: Тип канала не поддерживается для отправки через API.
Решение: Убедитесь, что канал имеет поддерживаемый тип: whatsapp_qr, whatsapp_waba, telegram_bot, telegram_personal.
«Неизвестный маршрут» (404)
Причина: Вы обратились к несуществующему эндпоинту.
Решение: Проверьте URL и HTTP-метод. Доступные маршруты:
POST /v1/messages/send
GET /v1/messages
GET /v1/channels
PATCH /v1/webhooks
GET /v1/webhooks
POST /v1/iframe
Лимиты
| Параметр | Лимит | Описание |
|---|---|---|
| Сообщений на запрос истории | 200 | Максимальное значение limit в GET /v1/messages |
| Время жизни iframe-сессии | 24 часа | После истечения нужно создать новую сессию |
| Таймаут тестового запроса webhook | 10 секунд | Ваш сервер должен ответить за 10 секунд при регистрации вебхука |
Рекомендации
- Всегда проверяйте поле
successв ответе перед обработкой данных - Обрабатывайте коды ошибок программно — не полагайтесь только на текст ошибки
- При ошибке
500— подождите 5-10 секунд и повторите запрос - Храните
channelIdв конфигурации — не запрашивайте каналы перед каждой отправкой - Используйте webhooks вместо постоянного опроса GET /v1/messages
