Настройка вебхуков

Webhook — это HTTP-запрос, который внешний сервис отправляет в ImpactBot при наступлении события (например, оплата прошла, заказ создан).

Важно: воронку входящий вебхук не запускает

Событие приходит на проект, а не на конкретного клиента и канал — отправлять сообщения воронки некому. Если в проекте есть активная воронка с триггером "Webhook", запрос вернёт 501 WEBHOOK_TRIGGER_NOT_SUPPORTED и список таких воронок.

Чтобы внешнее событие завело клиента в воронку, вызывайте Public API с явным клиентом:

POST /public/v1/flows/{flowId}/trigger
X-API-Key: <ключ проекта>

{ "clientId": "<uuid клиента>" }

Приём события

Отправляйте POST на адрес проекта:

POST https://api.impactbot.ru/api/webhook/custom/{projectId}
X-Impactbot-Signature: sha256=<HMAC-SHA256 от тела>
X-Impactbot-Webhook-Id: <уникальный id события>

{
  "event": "order_created",
  "data": { "order_id": "12345", "amount": 1000 }
}

Событие проверяется по подписи, дедуплицируется (окно 5 минут) и попадает в журнал вебхуков.

Безопасность

  • Секрет задаётся в настройках проекта → Интеграции → Webhook
  • Подпись обязательна: без секрета вебхуки отключены (503), без подписи — 401
  • Используйте HTTPS — HTTP запросы отклоняются

Тестирование

В разделе Integrations → Webhook Logs вы увидите последние 100 вебхуков с их статусами и payload. Удобно для отладки.