Как проверить события вебхуков и найти причину, почему они не доходят

Вы настроили вебхук, чтобы данные о проектах и клиентах уходили во внешнюю систему, но там пусто. Первым делом загляните в очередь событий — она покажет, что вообще происходило с каждым уведомлением.
Где смотреть события вебхуков
Очередь находится в разделе «Интеграции» на странице управления компанией. Там же включается сам вебхук. Если он выключен, события не будут создаваться — проверьте переключатель «Использовать webhook».
В списке событий видно каждую попытку отправки. Для каждого события указан статус. Именно он подскажет, на каком этапе затык.
Что означают статусы событий
- pending — событие ждёт отправки. Если всё время висит в этом статусе, обработчик вебхуков не запущен или не справляется.
- sent — событие успешно ушло на ваш сервер. Если данные не появились, проверяйте логи внешней системы.
- failed — отправка не удалась. Причин может быть несколько: сервер недоступен, неверный URL, неверная подпись или сервер вернул ошибку.
- no_webhook — для этого события не нашлось активного вебхука. Проверьте, включён ли вебхук и правильно ли настроены фильтры.
Как найти причину ошибки
Если статус failed, проверьте по порядку:
- Убедитесь, что ваш сервер доступен и отвечает на запросы.
- Проверьте URL вебхука — он должен быть указан без опечаток и принимать POST-запросы.
- Сравните подпись. Komplekt.com добавляет к каждому запросу HMAC-SHA256 подпись. Если ваш сервер проверяет её, убедитесь, что секретный ключ совпадает.
- Посмотрите, не слишком ли узкие фильтры. Если вы указали только определённые типы сущностей или событий, часть данных может не попадать в очередь.
Если событий вообще нет, проверьте, что у хотя бы одного пользователя компании есть API-ключ. Без него вебхук не включится.
Как переотправить событие
Если событие завершилось ошибкой, его можно отправить повторно. Найдите нужное событие в очереди и нажмите «Отправить» — система попробует доставить его ещё раз. Это удобно, если проблема была временной, например сервер лежал пару минут.
После повторной отправки статус обновится. Если снова failed, ищите причину в настройках или на стороне принимающего сервера.