Webhooks в KinMetric: как ловить события сайта и автоматизировать реакции

Утро понедельника, которое не испортишь

Открываешь Яндекс.Метрику утром в понедельник и видишь, что за выходные рекламный бюджет на Яндекс.Директе улетел в ноль. Посадочная страница лежала, конверсии упали, а ты узнал об этом только сейчас. Знакомо? В KinMetric такая ситуация решается за пару минут без дежурства перед монитором. Всё, что нужно — настроить вебхуки, и система сама дёрнет за нужные ниточки, когда случится что-то важное.

Webhooks — это, по сути, POST-запросы, которые KinMetric отправляет на ваш URL при наступлении определённых событий. Никакого polling, никаких задержек. Сервер просто стучится к вам в дверь и говорит: «Эй, тут цель выполнили» или «Трафик резко упал, проверь». В этой статье разберём, как это работает, какие события можно ловить и что с ними делать.

Какие события умеет отправлять KinMetric

Система поддерживает пять типов событий, каждое из которых можно использовать под свою задачу:

goal — срабатывание цели (например, заполнение формы, клик по кнопке, просмотр видео). Это база для любого сайта.

purchase — совершена покупка. Если у вас интернет-магазин, это событие триггерит отправку данных в CRM или Telegram.

alert — превышение порога по любому метрику. Например, если конверсия упала ниже 1% за последний час.

error_threshold — резкий рост ошибок на сайте (4xx, 5xx, JS-ошибки). Полезно для мониторинга качества.

traffic_spike — аномалия трафика. Это может быть как внезапный наплыв посетителей (хорошо), так и резкий спад (плохо).

Каждое событие — это JSON-объект с данными: ID цели, метка времени, значение метрики, пользовательские параметры. Вы сами решаете, на какой URL отправлять и по какому именно событию срабатывать.

Как это работает технически: подпись и безопасность

Когда KinMetric отправляет POST-запрос на ваш эндпоинт, в заголовке X-KinMetric-Signature летит HMAC-SHA256 подпись. Алгоритм простой: берётся тело запроса, ваш секретный ключ (вы его задаёте в настройках вебхука), и вычисляется хеш. На вашей стороне нужно сделать то же самое и сравнить.

Пример на Node.js:

const crypto = require('crypto');
const secret = 'your-secret-key';
const signature = req.headers['x-kinmetric-signature'];
const payload = JSON.stringify(req.body);
const expected = crypto.createHmac('sha256', secret).update(payload).digest('hex');
if (signature !== expected) throw new Error('Invalid signature');

Почему это важно? Если кто-то узнает URL вашего вебхука, он сможет слать фейковые события. Подпись гарантирует, что запрос пришёл именно от KinMetric и не был изменён по пути. Всегда проверяйте подпись, особенно если вебхук ведёт к критическим действиям — например, остановке рекламы.

Реальный кейс: как мы автоматизировали реакцию на спад трафика

Представьте интернет-магазин электроники. В выходные обычно конверсия выше, но в один из воскресных дней трафик упал на 40% без видимых причин. Раньше менеджер узнавал об этом только в понедельник утром. Потери — около 150 000 рублей неполученной выручки за день.

Настроили вебхук на событие traffic_spike с порогом -30% за час. При срабатывании вебхук отправляет POST в Slack в канал #alerts. За две минуты DevOps видит сообщение, проверяет сервер, находит проблему с кэшированием. Время реакции сократилось с 12 часов до 10 минут. Теперь такие инциденты обходятся в 0 рублей потерь.

Другой пример: событие purchase отправляется в n8n, который создаёт задачу в Trello для отдела продаж и шлёт письмо клиенту с благодарностью. Всё автоматически, без участия человека.

Пошаговая инструкция: настройка вебхука за 5 минут

Зайдите в раздел «Webhooks» в настройках вашего проекта в KinMetric.

Нажмите «Добавить вебхук». Укажите URL вашего эндпоинта (например, https://your-site.com/webhook).

Выберите события, на которые будет срабатывать вебхук. Можно выбрать одно или несколько.

Сгенерируйте секретный ключ и сохраните его. Он понадобится для проверки подписи на вашей стороне.

Настройте приёмник: напишите простой скрипт на Python/Node.js, используйте n8n, Zapier или Make. Пример с n8n: создайте workflow с триггером «Webhook», укажите тот же URL, добавьте шаг «Slack» для отправки сообщения.

Протестируйте: в интерфейсе KinMetric есть кнопка «Отправить тестовый запрос». Убедитесь, что ваш эндпоинт получает данные и проверяет подпись.

Включите вебхук. Готово.

Если не хотите писать код — используйте готовые интеграции. KinMetric дружит с n8n, Zapier и Make. Просто выберите нужный сервис, авторизуйтесь, и настройка сведётся к паре кликов. Например, в Zapier триггер «New Webhook» принимает данные, а действие «Send Slack Message» отправляет уведомление.

Что вы получаете на выходе

Вебхуки в KinMetric — это не просто уведомления. Это возможность строить любые автоматизации:

Остановка рекламы при падении конверсии. Вебхук на событие alert отправляет POST в API Яндекс.Директа или Google Ads. Реклама ставится на паузу, пока вы не разберётесь с проблемой.

Автоматическое создание тикетов в техподдержку. При ошибках на сайте (error_threshold) вебхук создаёт задачу в Jira или Trello.

Персонализированные уведомления в Telegram. Простейший скрипт на Python принимает вебхук и шлёт сообщение в чат. Никаких сторонних сервисов.

Синхронизация с CRM. При покупке (purchase) данные клиента автоматически попадают в amoCRM или Bitrix24.

Главный выигрыш — вы перестаёте быть заложником рутины. Система сама мониторит, анализирует и реагирует. Остаётся только принимать решения, а не дёргаться по каждому чиху.

Хотите попробовать? Зарегистрируйтесь бесплатно и настройте первый вебхук за пару минут. В каталоге подробная документация с примерами кода и схемами. Если понадобится помощь — пишите в поддержку, ребята отвечают быстро.