Рекомендации
Отвечайте быстро. Верните200 OK в течение 10 секунд. Если обработка занимает больше — примите запрос, положите в очередь, обработайте асинхронно.
Обрабатывайте повторы. Одно событие может прийти дважды. Сохраняйте id события и проверяйте дубликаты перед обработкой.
Всегда проверяйте подпись. Особенно на продакшене — это защита от поддельных запросов. Подробнее — в разделе Безопасность и подпись.
Логируйте всё входящее. Сохраняйте сырые запросы целиком — заголовки и тело. Это сильно упрощает отладку и аудит.
Распространённые ошибки
| Код | Что значит | Что делать |
|---|---|---|
400 Bad Request | Некорректные данные | Проверьте тело запроса и параметры |
403 Forbidden | Сервер недоступен | Проверьте файрвол и настройки сервера |
404 Not Found | URL не найден | Проверьте правильность адреса |
5xx Server Error | Ошибка на вашем сервере | Смотрите логи своего сервера |
| Timeout | Сервер не ответил за 10 секунд | Выносите обработку в фоновую очередь |
Отладка
Тестовый запрос
Отправьте фиктивное событие через
POST /api/call-lists/{callListId}/webhooks/test не дожидаясь реальных звонковЛокальная разработка
Используйте ngrok или localtunnel чтобы получить публичный URL для локального сервера
Если события пропадают
Проверьте статус вебхука в настройках колл-листа. Если активен, но события всё равно не приходят — напишите в поддержку.- Вебхук активен (статус
active) - Ваш сервер работает и доступен извне
- Выбран правильный тип события для вашего типа назначения
- Для
lead_only: звонки завершаются с подтвержденной договоренностью - Нет ошибок в логах вашего сервера