HTTP Webhook
Канал webhook — это универсальная точка входа для подключения любой системы, способной выполнить HTTP POST. Это вариант, который следует выбрать, когда для вашего источника не существует выделенного канала.
Когда использовать
- Подключить внутренний инструмент (ERP, бизнес-приложение, платёжный шлюз).
- Получать события от сторонней платформы, предлагающей webhook (Stripe, Shopify, SendGrid…).
- Запускать pipeline из внешнего cron-задания или CI-конвейера.
Конфигурация
- Администрирование → Webhooks → Новая запись.
- Выберите целевой pipeline.
- betool генерирует публичный URL (
https://platform.betool.ai/entries/webhook/<id>) и секрет HMAC.
Секрет используется для подписи каждой полезной нагрузки: ваша система должна вычислить HMAC-SHA256(secret, body) и передать его в заголовке X-Betool-Signature. Запросы без действительной подписи отклоняются.
Формат полезной нагрузки
Вы отправляете любой удобный вам JSON. betool не ограничивает структуру. Полезная нагрузка предоставляется pipeline под ключом webhook.payload (с его вложенными ключами).
Пример:
curl -X POST https://platform.betool.ai/entries/webhook/abc123 \
-H "Content-Type: application/json" \
-H "X-Betool-Signature: $SIGNATURE" \
-d '{
"type": "order.created",
"order_id": "ord_42",
"amount_cents": 9900,
"customer_email": "client@exemple.com"
}'
Затем pipeline может подключить агента, который напрямую читает webhook.payload.customer_email и webhook.payload.amount_cents.
Ответ
По умолчанию HTTP-ответ немедленно возвращает 202 Accepted (pipeline запускается в фоновом режиме). Если вам нужно дождаться результата pipeline, настройте webhook в синхронном режиме — запрос блокируется до завершения pipeline (тайм-аут 30 с).
Безопасность
- Всегда подписывайте свои запросы (HMAC).
- Секрет можно перегенерировать из панели администрирования (ротация).
- Полезные нагрузки хранятся в открытом виде в истории выполнения — не отправляйте данные, которые должны быть зашифрованы только при передаче.