Посібник користувача

Детальний покроковий посібник з усіх функцій WardenPoint. Якщо у вас є питання — відповідь тут.

Що таке WardenPoint?

WardenPoint — це багатоканальна платформа сповіщень для компаній та команд. Ви створюєте одержувачів (людей, яким потрібно надсилати алерти), налаштовуєте канали доставки (Telegram, голосові дзвінки, WhatsApp, Viber, Email, SMS) та відправляєте критичні сповіщення — вручну з панелі керування або автоматично через API.

Головна перевага: якщо одержувач не підтвердив отримання сповіщення, система автоматично ескалює — повторює через інший канал, підвищує терміновість або сповіщає керівника. Це гарантує, що критичні алерти ніколи не будуть пропущені.

💬 Telegram (текст, голос, дзвінки)
📞 Голосові дзвінки (АТС / Asterisk)
📱 Повідомлення WhatsApp
💜 Повідомлення Viber
📧 Email-сповіщення
✉️ SMS-повідомлення

Як це працює — 4 прості кроки

1
📝

Створіть акаунт

Зареєструйтесь, вкажіть назву компанії, підтвердіть email

2
⚙️

Налаштуйте

Додайте одержувачів, налаштуйте канали та правила ескалації

3
📤

Відправте

Відправляйте сповіщення через панель керування або API

4
🔄

Авто-ескалація

Система автоматично ескалює непідтверджені сповіщення

🚀 Початок роботи

1

Зареєструйте акаунт

Перейдіть на сторінку реєстрації. Введіть ім'я, email, пароль та назву компанії. Після реєстрації ви автоматично потрапите в панель керування. Кредитна картка не потрібна — безкоштовний тариф доступний одразу.

2

Додайте одержувачів

Перейдіть до Панель керування → Одержувачі → Додати одержувача. Введіть ім'я та хоча б один спосіб зв'язку: Telegram-юзернейм, номер телефону або email. Для Telegram — вкажіть юзернейм одержувача (наприклад, @johndoe), щоб система могла надсилати повідомлення напряму.

3

Налаштуйте канали сповіщень

Спочатку налаштуйте Telegram: перейдіть до Налаштування → Облікові дані, введіть API-дані Telegram та авторизуйте акаунт. Голосові дзвінки через АТС WardenPoint працюють без налаштування на платних тарифах. Для WhatsApp, Viber або власної АТС Asterisk — також додайте їхні облікові дані.

4

Відправте тестове сповіщення

Перейдіть до Панель керування → Сповіщення → Відправити сповіщення. Оберіть одержувача, введіть текст, оберіть пріоритет (почніть зі 'звичайного') та натисніть Відправити.

5

Запуск через API

Перейдіть до Налаштування → API-ключі, створіть ключ. Використовуйте його в заголовку X-API-Key для програмної відправки сповіщень. Приклади коду дивіться в розділі API нижче.

💡

Порада

Почніть з 2–3 тестових одержувачів. Переконайтесь, що Telegram прив'язаний і сповіщення доходить. Потім додайте решту команди.

📊 Панель керування

Панель керування — ваш основний робочий простір. Ось що робить кожен розділ:

Головна

Огляд останніх сповіщень, статистика доставки та швидкі дії. Перша сторінка після входу.

Одержувачі

Список усіх людей, що отримують сповіщення. Додавайте, редагуйте, видаляйте. У кожного може бути кілька способів зв'язку.

Групи

Організуйте одержувачів у групи. Відправляйте сповіщення всій групі одним кліком або API-викликом.

Сповіщення

Історія всіх відправлених сповіщень. Статус доставки, канал, часові мітки, статус ескалації.

Політики ескалації

Налаштуйте правила ескалації: що робити, якщо сповіщення не підтверджено.

Аналітика

Графіки та метрики доставки. Доступно на тарифі Team і вище.

Налаштування компанії

Назва компанії, часовий пояс, мова за замовчуванням.

Облікові дані

Токени та дані підключення: Telegram-акаунт, Asterisk, WhatsApp, Viber.

API-ключі

Створення та управління API-ключами для програмного доступу.

Оплата та тариф

Поточний тариф, статистика використання, історія платежів.

Команда

Запрошуйте співробітників. Призначайте ролі (адміністратор, учасник).

👥 Одержувачі

Одержувачі — це люди, яким ви відправляєте сповіщення. У кожного має бути ім'я та хоча б один спосіб зв'язку. Чим більше способів — тим більше каналів система зможе використати.

Додавання одержувачів

Натисніть «Додати одержувача». Заповніть ім'я та хоча б одне: Telegram-юзернейм, номер телефону або email. Можна вказати всі три.

Типи контактів та які канали вони відкривають

Кожен тип контакту відкриває доступ до певних каналів:

Тип контактуПрикладДоступні канали
Telegram@johndoeTelegram текст, голосові повідомлення, голосові дзвінки через Telegram
Телефон+380501234567Голосові дзвінки через АТС (Asterisk), SMS
Email[email protected]Email-сповіщення

Групи одержувачів

Групи дозволяють організувати одержувачів. При відправці групі всі учасники отримують сповіщення. Можна налаштувати правила на рівні групи.

Імпорт з CSV

Для масового додавання використовуйте CSV. Перейдіть до Одержувачі → Імпорт. CSV має містити заголовок: name, phone, email, telegram_username. Тільки 'name' обов'язкове. Приклад:

name,phone,email,telegram_username
John Doe,+380501234567,[email protected],@johndoe
Jane Smith,+380671234567,[email protected],

📡 Канали сповіщень

WardenPoint підтримує 9 каналів сповіщень через 7 провайдерів. Текстові канали — для інформаційних алертів, голосові — для критичних ситуацій. Детальний огляд:

💬

Telegram — Текстове повідомлення

Провайдер: Telegram

Відправляє текстове повідомлення в Telegram одержувача від виділеного Telegram-номера вашої компанії. До 4 096 символів. Підтвердження через посилання в повідомленні.

Найкраще для: інформаційних алертів, оновлень статусу.

🎤

Telegram — Голосове повідомлення

Провайдер: Telegram

Відправляє аудіо голосове повідомлення. Система перетворює текст у мовлення (TTS) та відправляє аудіо.

Найкраще для: алертів середньої важливості.

📞

Telegram — Голосовий дзвінок

Провайдер: Telegram

Ініціює голосовий дзвінок через Telegram. Телефон одержувача дзвонить, він чує TTS-повідомлення.

Найкраще для: важливих та критичних алертів через Telegram.

🤖

Telegram Bot — Текст

Провайдер: Telegram Bot

Окремий бот (через BotFather) доставляє текст із inline-кнопками підтвердження та відкладення. Не потребує особистого Telegram-акаунту з номером телефону.

Найкраще для: self-service onboarding одержувачів, які не хочуть діліться номером телефону.

🎙️

Telegram Bot — Голосові замітки

Провайдер: Telegram Bot

Той самий бот надсилає аудіо-замітку (OGG/Opus) із кнопками підтвердження. TTS-замовчанням генерує озвучку, або можна підвантажити власну аудіо-доріжку.

Найкраще для: алертів, які мають бути прослухані поза текстовим контекстом, без особистого Telegram-акаунту.

☎️

Голосовий дзвінок — АТС WardenPoint

Провайдер: АТС WardenPoint

Справжній телефонний дзвінок через вбудовану АТС WardenPoint. Працює без налаштування на платних тарифах.

Найкраще для: критичних алертів на реальний номер телефону.

🏢

Голосовий дзвінок — Своя АТС Asterisk

Провайдер: Ваш Asterisk

Підключіть свою АТС Asterisk. Дзвінки йдуть через ваші SIP-транки та номери. Потрібен тариф Team або вище.

Найкраще для: компаній з власною АТС-інфраструктурою.

📱

WhatsApp — Текстове повідомлення

Провайдер: WhatsApp Business API

Відправляє повідомлення через WhatsApp. Потрібні облікові дані WhatsApp Business API.

Найкраще для: команд, де WhatsApp — основний месенджер.

💜

Viber — Текстове повідомлення

Провайдер: Viber Bot API

Відправляє повідомлення через Viber. Максимум 1 000 символів. Потрібен токен бота Viber.

Найкраще для: одержувачів у регіонах, де Viber популярний.

📧

Email

Провайдер: Email (SMTP)

Email-сповіщення з HTML-форматуванням. До 50 000 символів. Працює без налаштування.

Найкраще для: детальних сповіщень, одержувачів без месенджерів.

✉️

SMS

Провайдер: SMS-шлюз

Коротке SMS до 160 символів. Працює на будь-якому телефоні без інтернету. Тариф Team і вище.

Найкраще для: одержувачів без інтернету, резервний канал.

🧭 Маршрутизація сповіщень

Правила маршрутизації автоматично скеровують вхідні сповіщення від систем моніторингу до потрібної групи одержувачів — на основі серйозності сповіщення, його поточного стану або будь-яких міток, що надходять від джерела.

Правило першого збігу

Правила перевіряються по черзі, зверху вниз. Перший збіг завершує перевірку — сповіщення надходить до групи, прив'язаної до цього правила, а решта правил ігнорується. Змініть порядок правил кнопками вгору/вниз.

Два виміри збігу

Кожне правило може фільтрувати за двома вбудованими вимірами та будь-якою кількістю умов міток. Порожня умова означає: збігається з будь-яким значенням.

🔴

Серйозність

Відображає критичність сповіщення — наприклад, critical, warning, info, none. Зіставляється з полем серйозності у даних від джерела.

🔄

Статус

Відображає стан сповіщення в його циклі — наприклад, firing або resolved для Prometheus, ok або alarm для CloudWatch. Доступні значення залежать від налаштованого джерела інтеграції.

Умови міток

Фільтруйте за будь-якою міткою ключ/значення від джерела — наприклад, team=backend, service=payments або host=~prod-.*. Доступно чотири оператори:

=точний збіг
!=не дорівнює
=~збіг за регулярним виразом
!~регулярний вираз не збігається

Кілька умов у межах одного правила об'єднуються оператором AND — усі умови мають виконуватись одночасно.

Група та акумуляція для правила

Кожне правило, що спрацювало, надсилає сповіщення до вказаної групи та, за потреби, перевизначає вікно акумуляції — час, протягом якого WardenPoint групує схожі сповіщення перед відправкою.

Папка без маршруту

Сповіщення, що не відповідають жодному правилу, потрапляють до папки без маршруту. Там їх можна закрити без дій, вручну направити до групи або скористатись ними як основою для нового правила, яке надалі оброблятиме схожі сповіщення.

Параметри залежать від джерела

Значення серйозностей, статусів і ключів міток, що відображаються в редакторі правил, беруться безпосередньо з налаштованого джерела інтеграції. Сповіщення Prometheus має інші значення серйозності, ніж тригер Zabbix — WardenPoint показує відповідні варіанти для кожного джерела.

Активні health-check проби

Вкажіть URL health-check для будь-якої інтеграції — WardenPoint звертатиметься до нього щохвилини. Якщо точка доступу повертає код поза діапазоном 2xx або вичерпується ліміт очікування понад порогове значення збоїв, чергова група одержувачів отримає сповіщення. Після відновлення роботи сповіщення закривається автоматично. URL повинен бути публічно доступним — ресурси лише за VPN не підтримуються.

🔔 Пріоритети

Кожне сповіщення має рівень пріоритету, що визначає агресивність доставки та ескалації:

🟢 Низький (Low)

Інформаційні алерти. Текстове повідомлення через канал за замовчуванням. Тихі години дотримуються.

За замовчуванням: Telegram текст → без ескалації.

🔵 Звичайний (Normal)

Стандартні алерти. Якщо текст не доставлено, система переходить на голосове повідомлення.

За замовчуванням: Telegram текст → голосове при помилці.

🟠 Високий (High)

Важливі алерти. Починається з голосового, ескалація до дзвінка, потім текст. Ігнорує тихі години.

За замовчуванням: голосове → дзвінок → текст.

🔴 Критичний (Критично)

Екстрені алерти. Починається з дзвінка, потім голосове, потім текст. Завжди ігнорує тихі години.

За замовчуванням: дзвінок → голосове → текст.

Ескалація

Ескалація — ключова функція WardenPoint. Система не просто відправляє і забуває — вона відстежує підтвердження та діє, якщо його немає.

Що таке ескалація?

Після відправки система чекає підтвердження (ПІДТВЕРДЖЕННЯ). ПІДТВЕРДЖЕННЯ: натискання кнопки в Telegram, клік по посиланню в email, або відповідь на дзвінок. Якщо ПІДТВЕРДЖЕННЯ не отримано протягом таймауту (2–5 хвилин) — система переходить до наступного кроку.

📤
Відправка першим каналом
Очікування підтвердження
Немає підтвердження
🔄
Ескалація
Підтверджено → стоп

Політики ескалації

Створюйте політики в Панелі керування → Політики ескалації. Політика — набір правил: 'спочатку Telegram текст, зачекай 3 хв, потім дзвони через АТС, зачекай 2 хв, потім сповісти керівника'.

Доступні дії ескалації

sendВідправити через конкретний канал та провайдер.
retryПовторити канал, що не спрацював.
notify_managerСповістити керівника, що одержувач не відповів.

Підтвердження (ПІДТВЕРДЖЕННЯ)

ПІДТВЕРДЖЕННЯ — як система дізнається, що одержувач побачив повідомлення. Telegram — посилання підтвердження. Email — посилання. Дзвінок — відповідь. Після ПІДТВЕРДЖЕННЯ ескалація зупиняється.

⚙️ Налаштування сповіщень

Налаштування сповіщень дозволяють точно налаштувати доставку для кожного одержувача або групи по кожному рівню пріоритету:

Налаштування по одержувачу

Індивідуальні правила для кожного пріоритету. Одержувачі → обрати → Налаштування сповіщень.

Налаштування по групі

Те саме, але для всієї групи. Індивідуальні налаштування мають пріоритет.

Тихі години

Час, коли low/normal сповіщення затримуються (наприклад, 22:00–08:00). High/critical проходять завжди.

Розклад (7×24)

Тижневий розклад доступності. Корисно для змінних працівників.

Вибір каналу та провайдера

Для кожного кроку ескалації оберіть канал та провайдер.

📤 Відправка сповіщень

Два способи відправки: вручну через панель керування або програмно через API.

Відправка з панелі

Сповіщення → Відправити. Оберіть одержувача, введіть текст, оберіть пріоритет. Натисніть Відправити.

Відправка через API

REST API під /api/v1/. Потрібен API-ключ. Доступні методи:

Синхронна відправка

Відправляє та чекає результат.

POST /api/v1/notifications/send

Асинхронна відправка

Ставить у чергу, повертає ID.

POST /api/v1/notifications/send-async

Відправка групі

Всім учасникам групи.

POST /api/v1/notifications/send-to-group

Масова відправка

До 100 сповіщень за запит.

POST /api/v1/notifications/send-bulk-async

🔌 Інтеграція API

REST API WardenPoint дозволяє інтегрувати сповіщення в будь-яку систему. Ендпоінти під /api/v1/, відповіді в JSON.

📖

Інтерактивна документація API (Swagger UI)

Досліджуйте всі ендпоінти, пробуйте запити інтерактивно та переглядайте схеми відповідей у нашій Swagger-документації.

Відкрити Swagger UI

Налаштування облікового запису агентом ШІ

WardenPoint розмовляє мовою MCP. Під'єднайте Claude, Cursor чи будь-якого клієнта MCP до свого облікового запису й опишіть, як має бути, замість того щоб виклацувати — люди, групи, сценарії ескалації, графіки та правила маршрутизації.

Як це працює

Паролі лишаються осторонь: їх не прочитає жодне право, а додавання йде через одноразове посилання, яке ви відкриваєте тут, за власним входом.

Автентифікація

Кожен запит потребує API-ключ в заголовку X-API-Key. Створіть ключі в Налаштування → API-ключі.

🔑

Як отримати API ключ

  1. Увійдіть у дашборд WardenPoint
  2. Перейдіть до Налаштування → API ключі
  3. Натисніть «Створити API ключ» та дайте йому назву
  4. Скопіюйте повний токен (показується лише один раз!) — виглядає як acb_xxx...xxx.secret

Офіційні SDK та CLI

Не хочете звертатися до REST API вручну? Два офіційно підтримувані клієнти огортають усі наведені нижче точки доступу — встановіть один, додайте ключ API, і ви вже надсилаєте сповіщення.

SDK для Python

PyPI

Клієнт зі встановленням через pip і функцією guard(), що викликає чергового, коли код викидає виняток.

pip install wardenpoint

CLI на Go

Go

Один статичний виконуваний файл для скриптів оболонки, cron і CI — спрямуйте невдалу команду в сповіщення.

go install github.com/WardenPoint/wardenpoint-cli@latest

Ендпоінти API

MethodPathОпис
POST/api/v1/notifications/sendВідправити сповіщення синхронно.
POST/api/v1/notifications/send-asyncПоставити в чергу (асинхронно).
POST/api/v1/notifications/send-to-groupВідправити групі (синхронно).
POST/api/v1/notifications/send-to-group-asyncВідправити групі (асинхронно).
POST/api/v1/notifications/send-bulk-asyncДо 100 сповіщень за запит.
GET/api/v1/notificationsСписок сповіщень з фільтрацією.
GET/api/v1/notifications/{id}Деталі конкретного сповіщення.
GET/api/v1/notifications/{id}/statusСтатус доставки.
POST/api/v1/notifications/{id}/retryПовторити невдале сповіщення.
POST/api/v1/notifications/{id}/cancelСкасувати сповіщення.
POST/api/v1/notifications/{uuid}/acknowledgeПідтвердити сповіщення.
GET/api/v1/recipients/{id}/availabilityДоступні канали одержувача.
GET/api/v1/recipients/{id}/routesМаршрути доставки одержувача.

Тіло запиту (POST /send)

ПолеТипОбов'язковоОпис
recipient_uuidstring (UUID)ТакUUID одержувача (зі сторінки Одержувачі або API).
messagestringТакТекст сповіщення. Максимум 4 096 символів.
prioritystringНіПріоритет: low, normal (за замовчуванням), high, critical.
audio_filestringНіШлях до аудіофайлу для голосових каналів.
max_attemptsintegerНіКількість спроб (1–10).

Приклади коду

send-alert.sh
POSThttps://wardenpoint.com/api/v1/notifications/send
# Send a critical production alert
curl -X POST https://wardenpoint.com/api/v1/notifications/send \
-H "X-API-Key: $WARDENPOINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"recipient_uuid": "00000000-0000-4000-8000-000000000001",
"message": "Production checkout latency above threshold",
"priority": "critical"
}'
200 OK· 20ms·
Ln 9

🪝 Вихідні вебхуки

WardenPoint надсилає POST-запити у ваші системи, коли відбуваються події життєвого циклу сповіщень — підтвердження, ескалації, помилки доставки. Підпишіть власні ендпоінти на потрібні події й реагуйте автоматично: закривайте тікети, оновлюйте інциденти, запускайте сценарії.

⚙️

Де налаштувати

Створіть і керуйте вебхуками в Дашборді: Інтеграції → Вебхуки. Кожен вебхук має URL, унікальний секрет для підпису, маску подій і перемикач active.

Відкрити вебхуки

Доступні події

Оберіть одну або декілька подій. WardenPoint надсилатиме окремий POST на кожну.

  • notification.sentСповіщення поставлено в чергу та відправлено через перший канал.
  • notification.deliveredКанал підтвердив доставку (delivery receipt від провайдера).
  • notification.failedУсі спроби доставки вичерпані без успіху.
  • notification.acknowledgedОдержувач підтвердив прийняття алерту (кнопка, дзвінок, DTMF).
  • escalation_chain.startedЗапущено ланцюг ескалації для непідтвердженого алерту.
  • escalation_chain.resolvedЛанцюг ескалації завершено через підтвердження.
  • escalation_chain.expiredЛанцюг ескалації вичерпав усі кроки без підтвердження.
  • recipient.contact.failedОкремий контакт одержувача не зміг доставити повідомлення.

Спільні поля запиту

Усі події починаються однаковим конвертом: ім'я події, UUID компанії та timestamp. Далі додаються поля специфічні для події (див. схеми нижче).

envelope.json
{
"event": "<event.name>",
"company_uuid": "8d4a7a30-c5e0-4f48-9a76-a3a4d3e0c1f2",
"timestamp": "2026-05-21T08:14:23+00:00",
...<event-specific fields below>
}

Схеми payload по подіях

Точний контракт за кожною із 8 подій. Поля з префіксом «// optional» можуть бути відсутні залежно від каналу.

notification.acknowledged.json
{
"event": "notification.acknowledged",
"company_uuid": "...",
"timestamp": "...",
"notification_uuid": "...",
"recipient_uuid": "...",
"recipient_name": "Alice Smith",
"channel": "telegram",
"status": "acknowledged",
"sent_at": "...",
"acknowledged_via": "telegram_button" // telegram_button | dtmf | api | dashboard | telegram_bot_button | telegram_bot_snooze_1h
}

Перевірка підпису

Кожен запит підписаний HMAC-SHA256 у заголовку X-WardenPoint-Signature. Завжди перевіряйте підпис, перш ніж обробляти payload — це гарантує, що запит надійшов саме від WardenPoint, а не від зловмисника, який знає вашу URL.

verify-webhook.mjs
// Node.js — Express / raw HTTP
const crypto = require('crypto');
 
function verifyWebhook(req) {
const secret = process.env.WP_WEBHOOK_SECRET;
const signature = req.headers['x-wardenpoint-signature'] || '';
const body = req.rawBody; // requires bodyParser.raw or similar — do NOT use req.body (parsed)
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(body).digest('hex');
 
// Constant-time compare to defeat timing attacks
const a = Buffer.from(expected);
const b = Buffer.from(signature);
return a.length === b.length && crypto.timingSafeEqual(a, b);
}
 
app.post('/webhooks/wardenpoint', (req, res) => {
if (!verifyWebhook(req)) return res.status(401).send('bad signature');
const event = JSON.parse(req.rawBody.toString());
// handle event.event === 'notification.acknowledged' etc.
res.status(204).end();
});

Заголовки запиту

  • X-WardenPoint-SignatureПідпис HMAC-SHA256 від тіла запиту з префіксом «sha256=».
  • X-WardenPoint-Webhook-IdUUID вебхука у вашому акаунті — корисно для логів і дебагу.
  • X-WardenPoint-TimestampUnix timestamp моменту відправки. Корисно для дедуплікації або відсіювання застарілих запитів.

Повтори та dead-letter

Якщо ваш ендпоінт повертає не-2xx або timeout, WardenPoint автоматично повторить:

  • 5 спроб із затримками 1с / 5с / 30с / 5хв / 1год.
  • Після останньої невдалої спроби доставку позначено як «dead-letter» — це видно в дашборді.
  • Натисніть «Повторити» в журналі доставок, щоб відправити запит знову після виправлення проблеми на вашому боці.

🛡️ Моніторинг доступності

WardenPoint повідомить вас, коли підключене джерело моніторингу перестає відповідати — два режими, які обираються окремо для кожної інтеграції.

🔍

Активний (опитування)

WardenPoint щохвилини звертається до публічного URL. Код поза діапазоном 2xx або перевищення ліміту часу → сповіщення чергової групи.

💓

Пульс / мертвий чоловік (push)

Ваше джерело саме надсилає сигнал до WardenPoint за розкладом. Якщо сигнал припиняється — ми сповіщаємо вас.

🔍 Активний режим — WardenPoint перевіряє вашу точку доступу

Оберіть цей режим, коли точка доступу health-check публічно доступна з інтернету. WardenPoint надсилає HTTP GET на вказаний URL раз на хвилину. Якщо відповідь містить код поза діапазоном 2xx або запит перевищує встановлений ліміт часу, чергова група одержує сповіщення. Коли сервіс відновлюється, сповіщення закривається автоматично.

  1. 1Відкрийте налаштування інтеграції та встановіть режим Активний.
  2. 2Вставте публічний URL health-check (наприклад https://your-service.example.com/health).
  3. 3За потреби налаштуйте поріг збоїв і ліміт часу, після чого збережіть.
  4. 4WardenPoint одразу починає опитування — індикатор статусу інтеграції показує UP або DOWN.

Захист від SSRF

Приватні діапазони IP (10.x.x.x, 172.16–31.x.x, 192.168.x.x), адреси зворотного зв'язку та точки доступу метаданих хмарних провайдерів (169.254.169.254, fd00:ec2::254) заблоковані. Приймаються лише публічно маршрутизовані URL.

💓 Режим пульсу — джерело саме відгукується до WardenPoint

Оберіть цей режим, коли джерело моніторингу знаходиться в приватній мережі або за VPN і недоступне ззовні — наприклад, внутрішній стек Prometheus/Alertmanager. Замість опитування, ваше джерело саме надсилає сигнал на URL прийому WardenPoint за фіксованим розкладом. Якщо протягом налаштованого вікна допуску жодного сигналу не надходить, чергова група отримує сповіщення.

  1. 1Відкрийте налаштування інтеграції та встановіть режим Пульс.
  2. 2Встановіть вікно допуску — скільки часу без сигналу вважається збоєм (наприклад, 3 хвилини).
  3. 3Скопіюйте URL прийому інтеграції, показаний у панелі керування.
  4. 4Налаштуйте джерело моніторингу для надсилання POST-запиту на цей URL з інтервалом, коротшим за вікно допуску.
  5. 5Після надходження першого сигналу WardenPoint починає відстеження — індикатор статусу показує UP.

Приклад: Watchdog у Prometheus Alertmanager

Канонічний підхід: постійно активне правило Prometheus генерує регулярний webhook через Alertmanager до WardenPoint. Коли Prometheus або Alertmanager зупиняється, сигнали перестають надходити, і WardenPoint надсилає тривогу.

Крок 1 — постійно активне правило в Prometheus

prometheus-rules.yml
groups:
- name: watchdog
rules:
- alert: Watchdog
expr: vector(1)
labels:
severity: none
annotations:
description: "heartbeat: alerting pipeline alive"

Крок 2 — маршрут і одержувач в Alertmanager

alertmanager.yml
route:
routes:
- receiver: wardenpoint-heartbeat
matchers:
- alertname = "Watchdog"
group_wait: 0s
group_interval: 1m
repeat_interval: 1m
 
receivers:
- name: wardenpoint-heartbeat
webhook_configs:
- url: <YOUR INGEST URL>
http_config:
authorization:
type: Bearer
credentials: <YOUR SECRET>

Який режим обрати?

  • 🔍Публічно доступна точка доступу → Активний. Найшвидше налаштування, жодних змін на стороні джерела.
  • 💓Приватне джерело або за VPN → Пульс. Налаштуйте інструмент моніторингу для надсилання сигналу; WardenPoint виявить тишу.

Карта сповіщень

Вкладка «Карта» на сторінці інтеграції відображає повну топологію доставки у вигляді автоматично згенерованого графа — правила маршрутизації, групи одержувачів, кроки ескалації, графіки чергувань із живою позначкою поточного чергового та кожен резервний шлях аж до email власника. Граф будується з живої конфігурації при кожному завантаженні, тож ніколи не розійдеться з тим, що насправді виконується. Гілки, що не отримали жодної події за останні 7 днів, відображаються пунктиром — невикористані шляхи стають одразу помітні. Вбудований симулятор дозволяє виконати пробний прогін за живими правилами в будь-який момент часу — оберіть момент, і карта підсвітить точний шлях доставки та покаже, хто чергує в той момент, без жодного запису до продакшну.

Редагування прямо на карті

Правила маршрутизації, склад груп, кроки ескалації та підміна чергового в графіку редагуються безпосередньо на карті — натисніть будь-який вузол, щоб відкрити редактор у бічній панелі. Збереження проходить через ті самі кінцеві точки, що й сторінки налаштувань; карта перемальовується з бази даних одразу після збереження. Налаштування каналів окремих одержувачів з карти не редагуються — перейдіть на сторінку одержувача. Спільні сценарії ескалації відкривають власну сторінку замість вбудованого редагування. Те, що бачите на карті, — це саме те, що виконується.

📋 Шаблони сповіщень

Збережіть готові шаблони повідомлень із плейсхолдерами один раз — і викликайте їх із коду одним POST-запитом за slug. Параметри підставляються з тіла запиту, інше (одержувач, пріоритет, політика ескалації) береться зі шаблону.

Коли це корисно

  • Одне й те саме повідомлення летить із 3-5 різних місць у вашому коді — централізуйте формулювання.
  • DevOps/runbook посилаються на «db_down»-сценарій — slug стає публічним контрактом.
  • Хочеться змінити текст алерту без перевикладки коду — оновіть тіло шаблону, версія підбамплюється автоматично.

Запустити шаблон

Передайте ; backend підставить значення, застосує дефолтний пріоритет/одержувача й відправить через ту саму pipeline, що й /send.

fire-template.sh
POSThttps://wardenpoint.com/api/v1/notifications/from-template/{slug}
# Fire pre-saved 'db_down' template
curl -X POST https://wardenpoint.com/api/v1/notifications/from-template/db_down \
-H "X-API-Key: $WARDENPOINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vars": {
"service": "mysql",
"host": "db-prod-01",
"error": "connection timeout after 30s"
}
}'
200 OK· 20ms·
Ln 11

Пін на конкретну версію

Будь-яке збереження шаблону створює нову версію. Старі callers продовжують працювати — додайте «version»: N у тіло запиту, щоб закріпитися на конкретній версії.

pin-version.sh
# Pin to a specific version (e.g. v2)
curl -X POST https://wardenpoint.com/api/v1/notifications/from-template/db_down \
-H "X-API-Key: $WARDENPOINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"version": 2,
"vars": { "service": "mysql", "host": "db-01", "error": "..." }
}'

Перевизначення дефолтів

Передайте поле «override» з ключами priority, recipient_uuid, group_uuid у тілі запиту — значення замінять дефолти шаблону лише для цього виклику.

override.sh
# Override defaults per-call
curl -X POST https://wardenpoint.com/api/v1/notifications/from-template/db_down \
-H "X-API-Key: $WARDENPOINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vars": { "service": "mysql", "host": "db-01", "error": "..." },
"override": {
"priority": "critical",
"recipient_uuid": "00000000-0000-4000-8000-000000000001"
}
}'

Синтаксис плейсхолдерів

Мінімалістичний (Mustache-lite) — без логіки, без циклів. Знає тільки підстановку:

  • {{ var }} — HTML-escape (за замовчуванням, безпечно для будь-якого каналу).
  • {{{ var }}} — сире значення без escape. На вашу відповідальність.
  • Жодних умовних блоків, циклів, виразів — це не повноцінний шаблонізатор.

🔑 Облікові дані

Більшість каналів потребують облікових даних. Перейдіть до Налаштування → Облікові дані. Тільки email працює без додаткового налаштування — решта каналів потребують налаштування.

Telegram-акаунт

WardenPoint надсилає повідомлення в Telegram від імені звичайного користувача (не бота). Ваша компанія виділяє окремий Telegram-акаунт — система авторизується через MadelineProto і надсилає повідомлення, голосові та дзвінки від цього акаунту напряму одержувачам.

Що потрібно

  • Telegram API ID та API Hash (з my.telegram.org)
  • Виділений номер телефону для Telegram-акаунту
  • Одноразова авторизація за SMS-кодом у Налаштування → Облікові дані
  • Пароль 2FA (якщо увімкнено на акаунті)

Своя АТС Asterisk

Підключіть АТС компанії для дзвінків через вашу інфраструктуру.

Що потрібно

  • Хост та порт Asterisk AMI
  • Логін та пароль AMI
  • Конфігурація SIP-транку
  • Caller ID (ваш номер)

WhatsApp Business API

Відправка через WhatsApp. Потрібен акаунт WhatsApp Business API.

Що потрібно

  • ID бізнес-акаунту WhatsApp
  • ID номера телефону
  • Постійний токен доступу
  • Webhook URL для звітів про доставку

Viber-бот

Відправка через Viber. Потрібен токен бота.

Що потрібно

  • Токен бота Viber
  • Ім'я бота
  • Webhook URL (налаштовується автоматично)
  • Доступ до Viber Admin Panel

💳 Тарифи та оплата

WardenPoint пропонує тиерові плани. Free включає Telegram і email; платні плани розблоковують PSTN голос, SMS, WhatsApp і Viber разом із вищими квотами і додатковими функціями. Картки нижче — з активного конфігу білінгу.

Free

0 USD/місяць

Для одиночних SRE — спробувати без картки

Team

9 USD/місяць

Перша справжня чергова команда

Популярний

Pro

29 USD/місяць

Робочі команди — заміна PagerDuty без оплати за користувача

Business

89 USD/місяць

Між Pro і Enterprise

Enterprise

Індивідуально

Налаштований під вашу організацію

Оплата: картка через MonoPay або PayPal. Річні тарифи зі знижкою 20%. Змінити тариф можна будь-коли.

Часті питання

Потрібна допомога?

Не знайшли відповідь? Наша підтримка готова допомогти.