Вебхуки
Вебхуки позволяют получать HTTP-уведомления в реальном времени при возникновении событий в вашем арендаторе FeedbackPulse.
Настройка
Через дашборд
- Перейдите в Настройки > Интеграции
- Введите ваш URL вебхука
- Выберите, на какие события подписаться
- Необязательно задайте секрет для верификации HMAC-подписи
- Сохраните
Через API
PUT /api/v2/webhooks/config
{
"url": "https://your-app.com/webhooks/feedbackpulse",
"events": ["submission.created", "submission.status_changed"],
"secret": "your_shared_secret"
}
Payload вебх ука
При возникновении события FeedbackPulse отправляет POST-запрос на ваш URL:
{
"event": "submission.created",
"timestamp": "2024-03-15T10:30:00Z",
"data": {
"id": 42,
"campaign_id": 1,
"star_rating": 5,
"text_feedback": "Love this product!",
"customer_name": "Jane Doe",
"status": "pending"
}
}
Заголовки
Content-Type: application/json
X-FeedbackPulse-Signature: sha256=abc123...
X-FeedbackPulse-Event: submission.created
Верификация подписи
Если вы задали секрет вебхука, проверьте подпись:
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_FEEDBACKPULSE_SIGNATURE'];
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $signature)) {
http_response_code(403);
exit('Invalid signature');
}
Поддерживаемые эндпоинты
FeedbackPulse автоматически определяет и форматирует payload для:
| Сервис | Паттерн URL | Формат |
|---|---|---|
| Slack | hooks.slack.com/* | Формат Slack Block Kit |
| Discord | discord.com/api/webhooks/* | Формат Discord embed |
| Кастомный | Любой HTTPS URL | Чистый JSON payload |
Защита от SSRF
URL вебхуков валидируются для предотвращения Server-Side Request Forgery:
localhost,127.0.0.1,0.0.0.0заблокированы- Диапазоны частных IP (10.x, 172.16-31.x, 192.168.x) заблокированы
- Разрешены только публичные HTTPS URL
Логи вебхуков
Просматривайте историю доставки:
Через дашборд
Настройки > Интеграции > Логи вебхуков
Специальная страница Логи вебхуков также доступна по адресу /webhooks/logs, предоставляющая полную историю доставки с деталями ответов и параметрами фильтрации. Вы можете фильтровать по типу события, коду статуса и диапазону дат, а также просматривать полный payload запроса и тело ответа для каждой попытки доставки.
Просмотр логов вебхуков для администратора
Суперадминистраторы имеют доступ к просмотру логов вебхуков платформы по адресу /admin/webhook-logs. Это обеспечивает видимость доставки вебхуков по всем арендаторам, полезно для диагностики проблем интеграции и мониторинга работоспособности платформы.
Через API
GET /api/v2/webhooks/logs
Каждая запись лога показывает:
- Тип события
- URL
- Код ответа
- Отправленный payload
- Тело ответа
- Временную метку