Перейти к содержимому

Каналы и устройства

В Notifly два базовых объекта. Канал — откуда приходят сообщения: сервис, скрипт, монитор, бот. Устройство — где вы их читаете: веб-админка, Android- или iOS-приложение, CLI. Каналы пишут, устройства читают — и одно сообщение канала приходит на все ваши устройства сразу.

Канал — это лента сообщений со своим ключом (app-токен, префикс A). Всё, что шлёт в канал — curl, SDK, монитор, heartbeat, почтовый ящик, роутер, Alertmanager или Zabbix, — попадает в его ленту и уходит push-ем на устройства.

Заводите по каналу на источник или на тему: «Прод — ошибки», «CI/CD», «Бэкапы», «Магазин — заказы». Так проще настроить приоритет, доставку и тишину отдельно для каждого потока.

В админке: раздел Каналы → Создать канал (или пункт «Добавить канал» в боковом меню). Укажите название, при желании описание, приоритет по умолчанию и родительский канал. Мастер первого запуска создаёт первый канал сам — см. Первый вход.

Через API:

Окно терминала
curl -X POST https://api.notifly.ru/application \
-H "X-Notifly-Key: $TOKEN" -H "Content-Type: application/json" \
-d '{"name": "CI/CD", "description": "Сборки и деплои", "defaultPriority": 5}'

В ответе — канал с полем token: это и есть ключ для отправки. Все поля и эндпоинты — в REST API → Каналы.

Каналы можно вкладывать друг в друга: «Прод» → «Прод / API», «Прод / БД». В боковом меню дерево сворачивается, порядок меняется перетаскиванием, а канал можно перенести к другому родителю. Глубина вложенности — до 5 уровней.

Что даёт дерево:

  • Сводный статус. Красная или жёлтая точка у родителя — если что-то не так у него или у любого потомка (heartbeat в тревоге, монитор упал).
  • Окна обслуживания по поддереву. Окно обслуживания можно наложить на канал вместе со всеми вложенными.
  • Вкладка «Источники событий» показывает всё, что пишет в канал и его потомков.

При удалении канала его дочерние каналы не пропадают — они поднимаются на уровень выше.

Шестерёнка в шапке ленты канала открывает настройки. Вкладки:

ВкладкаЧто там
ОсновноеЛоготип, название, описание, app-токен, приоритет по умолчанию (подставляется в сообщения без priority), теги
ДоставкаДосылка непрочитанного на email, SMS, звонок, в Slack, Telegram, Discord, Teams, Mattermost, PagerDuty, Opsgenie, на вебхук — с кнопкой «Проверить». См. Доставка и эскалация
ОтправкаТокен и готовые примеры отправки, конфиги приёмников Alertmanager / Grafana и Zabbix
Источники событийМониторы, heartbeat-ы, метрики, скрипты, правила почты и роутера, которые пишут в канал (с учётом вложенных) — со статусом и временем последней проверки
ОпасноУдаление канала. Нет у каналов, которыми с вами поделились

Теги (до 10 на канал, латиница в нижнем регистре, цифры, - и _) нужны прежде всего для API-токенов: токен со скоупом по тегу prod видит все каналы с этим тегом, включая созданные позже.

Основной app-токен канала виден в настройках и в списке каналов. Если ключ утёк — перевыпустите его: старое значение перестанет работать сразу. Для разных источников удобнее выдать несколько машинных ключей с отдельными правами (только отправка или отправка + чтение), меткой и сроком действия — тогда утечка одного не задевает остальные. Как это делается — в Делегировании каналов.

Heartbeat (dead-man switch) создаётся прямо в канале — вкладка Статус в ленте канала. Там же видны все heartbeat-ы канала, их состояние и история.

Удаление канала необратимо: вместе с ним удаляются его сообщения, ключи, мониторы, heartbeat-ы и вопросы. Дочерние каналы сохраняются и поднимаются на уровень выше. Служебный канал System (автоматические уведомления Notifly, например об исчерпании дневной квоты) удалить нельзя.

Устройство — это сессия, в которой вы вошли в аккаунт: вкладка браузера с админкой, Android- или iOS-приложение, CLI, MCP-сервер после входа через браузер. У каждого устройства свой токен (префикс C); сообщения канала приходят на все активные устройства.

В админке: Управление → Устройства. Для каждого устройства видны платформа, последнее использование и IP, статус; текущее помечено «это устройство». Здесь же:

  • переименовать или удалить устройство — удалённое сразу теряет доступ;
  • «Удалить все» — выйти везде, кроме текущего устройства (например, после потери телефона);
  • «Уведомления от каналов» — выбрать, какие каналы на этом устройстве не присылают уведомления (см. ниже);
  • «Добавить устройство» — выпустить токен вручную. Токен показывается один раз. Для скриптов и интеграций лучше подходит API-токен с ограниченными правами: токен устройства даёт полный доступ к аккаунту.

Число одновременно активных устройств ограничено тарифом: Free — 3, Pro — 15, Business — без ограничений (см. Квоты и тарифы). Счётчик «N / M» виден над списком устройств.

  • При входе на новом устройстве сверх лимита Notifly сам переводит самое старое активное устройство в suspended, чтобы вы всегда могли войти.
  • При понижении тарифа лишние устройства (самые старые) тоже переводятся в suspended.
  • Устройство в suspended не получает уведомлений; вернуть его в active можно, только если есть свободное место в лимите.

Иногда канал нужен на ноутбуке, но не на телефоне ночью. Для этого не надо удалять канал или терять к нему доступ — его можно отключить на конкретном устройстве:

  • на самом устройстве — кнопка «заглушить» в шапке ленты канала в админке или одноимённый пункт меню канала в мобильном приложении;
  • для любого устройства — Устройства → Уведомления от каналов: снимите галочки у ненужных каналов.

Сообщения отключённого канала по-прежнему видны в ленте — просто не приходят уведомлением на это устройство. Через API это GET|PUT /client/{id}/subscriptions и /device/me/subscriptions — см. REST API → Клиенты.