Настройка вебхуков
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. Удобно для отладки.