Вебхуки и уведомления¶
Вебхуки¶
Вебхук отправляет событие трекера на ваш HTTP-эндпоинт — в свою CRM, Google Sheets через прослойку, Slack-бота, что угодно.
Настройка: Настройки → Webhooks. Указываете имя, URL, события (через запятую) и секрет.
Новый вебхук создаётся выключенным
После создания нажмите Вкл в списке — до этого события в него не идут. Секрет больше не показывается нигде: API отдаёт только признак «секрет задан». Забытый секрет не восстановить, только заменить новым.
В интерфейсе вебхук можно создать, включить, выключить и удалить. Смена URL,
списка событий или секрета у существующего вебхука делается через
Admin API (PUT /admin_api/v1/webhooks/{id}, частичное
обновление) — или пересозданием вебхука.
События¶
| Событие | Когда |
|---|---|
conversion.created |
записана конверсия — из постбэка или браузерного события (/action, /px.gif) |
rule.fired |
сработало авто-правило с действием Webhook |
rule.recovered |
авто-правило вернуло цель в работу, и в его действиях восстановления есть Webhook |
Вебхук получает только те события, которые перечислены в его поле «События»:
если там оставить один conversion.created, срабатывания правил в него не
придут.
Тело запроса¶
Обёртка одинаковая для всех событий, полезная нагрузка — в data.
{
"event": "conversion.created",
"timestamp": "2026-08-24T10:15:00.123456789Z",
"data": {
"conversion_id": "3f1c…",
"click_id": "9a2b…",
"campaign_id": "1d4e…",
"flow_id": "77aa…",
"offer_id": "5b0c…",
"status": "sale",
"payout": 12.5,
"currency": "USD",
"transaction_id": "TX-1024",
"timestamp": "2026-08-24T10:15:00.120000000Z"
}
}
{
"event": "rule.fired",
"timestamp": "2026-08-24T10:15:00.123456789Z",
"data": {
"rule_id": "8c31…",
"rule_name": "Stop-loss: ROI < −30%",
"workspace": "0f21…",
"target_kind": "campaign",
"target_id": "1d4e…",
"target_name": "FB • RU • Nutra",
"dry_run": false,
"metrics": { "clicks": 1258, "conversions": 3, "roi": -62.4, "cr": 0.24 }
}
}
В metrics приходит полный снапшот метрик правила, здесь показаны несколько
полей для примера.
Заголовки запроса¶
| Заголовок | Содержимое |
|---|---|
X-Minik-Event |
имя события |
X-Minik-Timestamp |
время отправки, RFC3339 с наносекундами, UTC |
X-Minik-Signature |
sha256=<hex> — HMAC-SHA256 тела запроса на вашем секрете |
Проверка подписи на принимающей стороне (Python):
import hmac, hashlib
def valid(secret: str, body: bytes, header: str) -> bool:
expected = "sha256=" + hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header)
Подпись считается по сырому телу запроса — проверяйте её до разбора JSON. Если секрет не задан, заголовок с подписью не отправляется — но задайте его: без подписи ваш эндпоинт примет что угодно от кого угодно.
Доставка и повторы¶
- Метод —
POST,Content-Type: application/json, таймаут 10 секунд на попытку. - Успех — любой ответ 2xx. Иначе трекер повторяет: всего до 5 попыток с паузами 2, 4, 8 и 16 секунд.
- Каждая попытка пишется в журнал доставок — с телом запроса, кодом и телом ответа (ответ сохраняется до 8 КБ). Журнал хранится 30 дней.
- Один вебхук держит одновременно не больше 64 событий (в очереди, в отправке и в ожидании повтора). Сверх этого события отбрасываются — мёртвый эндпоинт не тормозит доставку остальным.
Время последней доставки и её код видны прямо в списке вебхуков. Полный журнал
попыток отдаёт Admin API:
GET /admin_api/v1/webhooks/deliveries (параметры webhook_id, limit).
URL — только наружу
Адрес проверяется в момент подключения и на каждом редиректе: loopback
(127.0.0.1), приватные сети (10/8, 172.16/12, 192.168/16),
link-local и 169.254.169.254 (метаданные облака) блокируются. Причина
прямая: ответ вашего эндпоинта сохраняется в журнал доставок, иначе
вебхуком можно было бы читать внутренние сервисы сервера.
Права: список вебхуков виден с правом settings на просмотр, создание и изменение требуют редактирования, удаление — удаления.
Уведомления в интерфейсе¶
Центр уведомлений в шапке — канал inapp действия «Уведомить» у
авто-правил: срабатывания и восстановления. Уведомление
создаётся каждому участнику воркспейса и прилетает мгновенно, по
push-соединению. Есть отметка «прочитано» и «отметить все».
Telegram¶
Общий канал алертов для авто-правил. Настройка — Настройки → Интеграции → Telegram, там же кнопка Тест.
Токен бота хранится зашифрованным и не отдаётся через API.
Доступные каналы¶
Наружу события уходят вебхуком и в Telegram, внутри панели — в центр уведомлений. Отдельных каналов e-mail и Slack, как и отчётов по расписанию на почту, нет: их подключают вебхуком через свою прослойку.