Skip to Content

Вебхуки позволяют вашему бэкенду реагировать на события RevRoute сразу как они происходят — без поллинга API. RevRoute отправляет HTTP POST на указанный вами URL с подписанным JSON-payload’ом, описывающим что изменилось.

Типичные сценарии:

  • Синхронизация лидов и продаж в CRM или DWH
  • Slack/Telegram-уведомления о новых заявках партнёров и созданных комиссиях
  • Кастомные approval-флоу для выплат
  • Зеркалирование активности по ссылкам в собственной аналитике
📝

Доставка вебхуков — at-least-once. Сделайте обработчик идемпотентным — RevRoute может повторить одно и то же событие несколько раз при временных сбоях.

Как это работает

Создайте вебхук

В рабочем пространстве зайдите в Настройки → Вебхуки и нажмите Создать вебхук. Укажите URL (обязательно https://), выберите интересующие события и сохраните. RevRoute сгенерирует секрет подписи вида whsec_....

Получите событие

При срабатывании события RevRoute отправит POST на ваш URL с JSON-телом и заголовками:

Content-Type: application/json Revroute-Signature: <hex hmac-sha256> User-Agent: RevRoute-Webhook/1.0

Проверьте подпись

Посчитайте HMAC-SHA256 от сырого тела запроса с вашим секретом и сравните (в constant-time) с заголовком Revroute-Signature. Отклоняйте запросы с несовпадающей подписью. См. Проверка подписи.

Ответьте быстро

Верните 2xx в течение 10 секунд. Тяжёлую обработку выносите в фоновую очередь — медленные обработчики приведут к ретраям и в конце концов к отключению вебхука.

Уровни вебхуков

Вебхуки можно прикрепить на трёх уровнях:

УровеньГде создаётсяДоступные события
Workspace/<workspace>/settings/webhookslink.created, link.updated, link.deleted, lead.created, sale.created
Программа/<workspace>/program/settings/webhookspartner.application_submitted, partner.enrolled, commission.created, bounty.created, bounty.updated, payout.confirmed
СсылкаВ настройках конкретной ссылкиlink.clicked

Полный справочник payload’ов — в разделе Типы событий.

Доставка и ретраи

  • RevRoute повторяет неудачные доставки с экспоненциальной задержкой до 24 часов.
  • После 5, 10 и 15 подряд неудачных доставок вы получаете email-предупреждение.
  • После 20 подряд неудачных доставок вебхук автоматически отключается — почините эндпоинт и включите его обратно из дашборда.
  • Доставка считается успешной, если ваш эндпоинт вернул HTTP-статус из диапазона 2xx.
⚠️

Эндпоинты с self-signed сертификатами или в приватных сетях не поддерживаются. Ваш URL должен быть доступен из публичного интернета и иметь валидный сертификат.

Конверт события

Каждый webhook-payload имеет одну и ту же структуру:

{ "id": "evt_2T3jZ...", "event": "lead.created", "createdAt": "2026-05-15T12:34:56.789Z", "data": { /* данные события */ } }
  • id — уникальный id события (evt_*). Используйте для дедупликации.
  • event — имя триггера (см. Типы событий).
  • createdAt — ISO-8601 timestamp создания на сервере.
  • data — payload ресурса, специфичный для события.

Дальше

Типы событий

Каждое событие с реальным примером payload’а.

Проверка подписи

Валидация того, что запрос действительно от RevRoute.

Тестирование вебхуков

ngrok и логи доставок для локальной отладки.

Аутентификация API

API-ключи для программного создания вебхуков.

Last updated on