Уведомления

Уведомления предоставляют возможность отправки сообщений, настраиваемых на события системы, email и telegram оповещений, в том числе по HTTP API.
Инициаторами уведомлений могут быть событие из интерфейса (при тестировании отправки уведомлений из интерфейса), публичное API, расписание. Далее рассматривается настройка отправки уведомлений, инициируемых из интерфейса.

Для использования уведомлений необходимо наличие в системе провайдера (Подробную информацию по созданию провайдеров можно найти в разделе Провайдеры):

  • Для отправки сообщений в канал Telegram или в личные сообщений провайдер типа: TELEGRAM.
  • Для отправки писем по Email провайдер типа: EMAIL.

Форма уведомлений доступна через пункт меню «Уведомления». Через форму можно настроить, запустить инициализацию, просмотреть список отправленных уведомлений.
В дополнительных параметрах уведомлений доступна настройка подписок, токенов и просмотр атрибутов уведомлений.

Создание уведомлений

  1. Для создания уведомления необходимо перейти на страницу «Управление уведомлениями», используя пункт «Уведомления» в левом меню, и нажать кнопку «Создать».

  1. На открывшейся форме заполнить поля:

  • Наименование: указать наименование уведомления в системе
  • Статус: выбрать значение Активен
  • Провайдер: опционально, доступен выбор провайдеров типа JSON
  • Описание: описание структуры уведомления в JSON формате в конструкторе.
  • Параметры: параметры уведомления, описанные в JSON формате в конструкторе.

И нажать кнопку «Создать».

Добавленное уведомление появиться в списке доступных уведомлений.

Инициализация уведомления

Для запуска уведомлений нужно нажать на кнопку «Выполнить» через панель действий.

После нажатии кнопки откроется форма для ввода параметров, при нажатии на кнопку «Выполнить» инициируется процесс отправки уведомлений получателям, согласно заданным настройкам в описании уведомлений.

Для просмотра списка отправленных уведомлений кликните по ссылке наименования уведомления и перейдите на форму "Экземпляры уведомлений".

Откроется список отправленных уведомлений в которых отражена информация по Дате отправки, Типу транспорта, Состоянию.

Описание уведомлений

Основные параметры для описания:

Контекст

Контекст (context) - форма, содержащая основную информацию по параметрам сообщений, каналам связи, отправителям и получателям. Поддерживается индивидуальная настройка для каждого условия отправки.

Структура "Контекста":

  • Сообщение (message) - параметры отправляемых сообщений
    • Тело (body) - тело сообщения
    • Формат (format) - формат отправки, поддерживаются форматы HTML, MD, TXT
    • Дополнительные параметры (options) - дополнительные параметры, влияющие на поведение при отправке
      • Игнорировать ошибки (ignore_errors) - игнорировать ошибки отправки, умолчание - True
      • Отправитель (author) - переопределяет provider.login для От:
      • Отключить уведомления (disable_notification) - отключить уведомление, умолчание - False
      • Отключить предпросмотр ссылок (disable_web_page_preview) - отключить предпросмотр ссылок, умолчание - False
    • Отчет (report) - прикрепление отчетов к уведомлению
      • Как вложение (as_attachment) - при активном чекбоксе отправляет отчет как вложенный файл, при неактивном использует отчет как тело письма (для HTML отчетов)
      • Идентификатор (id) - идентификатор отчета в системе
      • Таймаут (timeout) - время на генерацию и прикрепления отчета
    • Тема (subject) - тема письма
  • Тип транспорта (transport) - общие параметры отправки сообщений
    • Электронная почта (email) - параметры отправки по email
    • Telegram (telegram) - параметры отправки по telegram
  • Периодическая отправка (schedule) - параметры расписания
    • Расписание (timetable) - расписание заданное в формате CRON
    • Тип (type) - тип расписание, поддерживается только CRON

Структура "Тип транспорта"

На примере электронной почты:

  • Электронная почта (email) - параметры отправки по email
    • Получатели (recipients) - формирует список получателей
      • Скрытая копия (bcc) - получатели в поле "Bcc" не видят других получателей в полях "Кому" и "Cc", а также не видят других получателей в поле "Bcc".
      • Копия (cc) - все получатели в полях "Кому" и "Cc" видят адреса друг друга.
      • Теги (tags) - позволяет получить только те адреса контактов и групп, где теги соответсвуют заданным.
      • Кому (to) - основные получатели
      • Контакты (contacts) - список адресов, заданных вручную
      • Группы (groups) - список адресов, полученных из контактов заданной группы, с учетом тегов
      • Пользователи (users) - список адресов, полученных из контактов заданной группы, с учетом егов
    • Отправитель (sender)
      • Провайдер (provider) - провайдер, использующийся в качестве отправителя

Для Telegram настройки идентичны, в качестве адреса используется id чата, в которое необходимо направить сообщение.

Условия отправки

Условия отправки (``) - условия, каждый из которых может предоставлять отдельное уведомление со своими правилами. Инициализация уведомлений происходит на основе полученных аргументов.

Структура "Условий"

  • Контекст (context) - контекст, заданный для условия, если не задан, то используется основной контекст
  • Описание (description) - описание условия
  • Включено (enabled)- состояние условия
  • Вычислитель (evaluator) - вычислитель, определяющий необходимость отправки уведомления
    • Функция (type) - тип функции для вычислений
    • Значение (value) - значение функции
  • Наименование (name) - наименование условия
  • Приоритет (priority) - приоритет, влияет на порядок отправки
  • Максимальное количество повторов (repeats)-

Параметры уведомлений

Для описания уведомлений допускается параметризация. В качестве параметром могут быть применены jinja переменные и подстановки jsqlib.

Структура параметров

  • Группы
    • Наименование (label) - наименование группы
    • Элементы группы (fields) - список параметров, входящих в группу

Допустимые типы параметров:

  • Число (number)
  • Строка (text)
  • Дата (date)
  • Время (time)
  • Дата и время (datetime)
  • Логический (boolean)
  • Интервал (range)
  • Список (select)
  • Произвольный (textarea)

Значения параметров задаются при инициализации уведомлений на форме Параметров.

Экземпляры уведомлений

Для определения статуса отправки уведомлений доступны экземпляры. В экземплярах фиксируется каждый запуск уведомлений. При наличии условий на каждое условие и канал связи создаются свои экземпляры. Доступна сортировка по дате запуска уведомления.

Для просмотра детализации по отправлению откройте дополнительные свойства экземпляра кликом на наименование В блоке доп свойств раскройте таблицу "Детали"

В таблице будет доступна информация по Теме и наличии Тела и Вложений в уведомлении. Для просмотра получателей перейдите по ссылке в поле "Получатели"

Примеры использования уведомлений

1. По расписанию

Отправка уведомлений по расписанию доступна при описании расписания в формате CRON в форме "Контекст" в карточке объекта "периодическая отправка" Правила описания формата cron:

1 2 3 4 5
* * * * *
Минуты(0-59) Часы(0-24) День(1-31) Месяц(1-12) День недели(0-6)
(0) — воскресенье;

(1) — понедельник;

(2) — вторник;

(3) — среда;

(4) — четверг;

(5) — пятница;

(6) — суббота

|

Примеры: 0 9-18 * * 1-5- каждый час, с 9 утра до 18 вечера с понедельника по пятницу 0 9 15W * * - каждое 15 число месяца в 9 утра, если 15 число является выходным днем, то запускает в ближайший будний день, в пятницу или понедельник

Расписание всегда задается в главном контексте, и при запуске уведомлений расчитывает условия на основе параметров полученных по умолчанию.

2. По условию

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

При устаревании условий их можно отключить в поле "Включено" - передав условие false Можно задать количество повторов при запуске условия в поле "Максимальное количество повторов" При наличии главное условия можно задать приоритет - в этом случае если все условия будут верны, то выполниться тот, который имеет наибольший приоритет

Пример:

Условие: текущая дата соответсвует параметру
      "evaluator": {
        "value": {
          "name": "EQ",
          "kwargs": {
            "left": {
              "type": "function",
              "value": {
                "name": "TODAY"
              }
            },
            "right": {
              "type": "text",
              "value": "2025-10-21"
            }
          }
        }
      }
![](image/alert/function.png)
От даты указанной в параметрах прошло не более 3х ней
      "evaluator": {
        "type": "function",
        "value": {
          "name": "GE",
          "kwargs": {
            "left": {
              "type": "function",
              "value": {
                "name": "INT",
                "kwargs": {
                  "number": {
                    "type": "function",
                    "value": {
                      "name": "DAYS",
                      "kwargs": {
                        "end_date": {
                          "type": "datetime",
                          "value": "{{ date }}"
                        },
                        "start_date": {
                          "type": "function",
                          "value": {
                            "name": "TODAY"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "right": {
              "type": "text",
              "value": "3"
            }
          }
        }
      }
![](image/alert/unit_.png) Логика вычисления: На входе передается "date": "2025-10-24" Текущая дата и время запуска равна "2025-10-21" Функцией DAYS вычисляется разница, котрая равняется 3 дня Округляется значение до целых - 3 Проверяется условие 3>=3 Функция вовращает True и условие запускает отправку уведомления

3. Отправка отчета

Доступна отправка отчетов, как: - Тело письма - Вложение

Телом письма может служить только отчет типа HTML Для отправки в форме сообщения необходимо выбрать формат "HTML" и в карточке объекта отчет указать в поле "Как вложение": false, выбрать тип формата HTML и идентификатор созданного вами отчета.

Для отправки отчетов в виде вложений необходимо выбрать нужный вам формат для генерации отчета, выбрать идентификатор отчета и в поле "Как вложение": true.

API

Для использования публичного API требуется активный токен с действующими правами на "Инициализация уведомления".
Инструкции по созданию токенов приведены в разделе Токены

Инициализация уведомления

mutation ($input: ExecuteTriggerAlertInput) {
  public {
    alert {
      executeTrigger(input: $input) {
        ok
      }
    }
  }
}
{
  "input": {
    "token": "******",
    "arguments": {// зависит от наличия параметров в уведомлении
      "name": "answer",
      "value": "FALSE"
    }
  }
}