Контакты алертов: email, Telegram и webhook

Мониторы полезны, когда сбой доходит до людей или скриптов. В SitePuls хранятся контакты оповещений — email, Telegram через бота и HTTPS webhook с опциональным секретом — и привязываются к мониторам после входа.

Зачем отдельно от мониторов

Один on-call email или канал Telegram переиспользуется десятками мониторов; правка контакта обновляет маршрутизацию везде.

Доставка email

Используется SMTP окружения; доставка зависит от антиспама и лимитов провайдера.

Подключение Telegram

Через бота и токен, как в продукте: добавьте контакт, пройдите /start, дождитесь активного состояния.

Webhook

POST JSON на ваш HTTPS; режим generic или текст для Slack Incoming Webhook — в редакторе контакта.

Безопасность

Секрет webhook помогает проверить источник; URL храните как секрет и ротируйте при увольнениях.

Со статус-страницами

Статус — для клиентов; контакты — для внутренних реагирований.

Чего нет в ядре

Нет OEM PagerDuty кроме вашего приёмника на webhook; SMS не заявлен как встроенный канал здесь.

Дальше

Создайте контакты, проверьте тестом, привяжите к стейджинг-монитору и вызовите контролируемый сбой.

Что можно проверять в SitePuls на этой странице

  • Контакты задают маршрут уведомлений при инцидентах по привязанным мониторам.
  • В продукте поддерживаются email, Telegram, вебхуки и формат Slack-style для вебхуков.
  • Уведомления при недоступности, восстановлении и деградации — в зависимости от поведения монитора и настроек.

Куда уходят оповещения об инцидентах

  • Адреса электронной почты в контактах получают письма при открытии и закрытии инцидентов (в рамках настроек уведомлений).
  • Уведомления в Telegram через бота SitePuls после привязки чата к контакту (включая сценарий /start для ожидающих контактов).
  • HTTPS-вебхуки с JSON: тип события, идентификаторы монитора, статус, время, при необходимости id инцидента и короткое сообщение — для своих интеграций.
  • Режим Slack-compatible incoming webhook: отдельный формат полезной нагрузки в настройках контакта.

Иллюстративный пример: имена полей как в продукте, значения — вымышленные.

Что получает generic webhook при инцидентах

{
  "event_type": "down",
  "monitor_id": 123,
  "monitor_name": "Пример API",
  "monitor_type": "http",
  "status": "down",
  "timestamp": "2026-03-31T12:00:00Z",
  "message": "Последняя проверка не прошла (пример)",
  "incident_id": 456
}

Вопросы и ответы

Один контакт на много мониторов?

Да — одна запись, много привязок.

Ретраи webhook?

Делайте приёмник идемпотентным; смотрите логи при ошибках.

Нативный Slack?

Режим webhook для Incoming Webhook; отдельного OAuth Slack в ядре нет.

Гости настраивают?

Нужен вход в workspace; маркетинг описывает модель.

Microsoft Teams?

Если есть HTTPS connector — generic webhook; иначе email/Telegram.

Все контакты на каждый инцидент?

Зависит от привязок и правил инцидентов в UI.

Пауза алертов?

Переключатели монитора/контакта по роли — см. в приложении.

С чего начать?

Контакты после входа, тест, привязка к стейджингу, контролируемый сбой.