Уведомления¶
Уведомления предоставляют возможность отправки сообщений, настраиваемых на события системы, email и telegram оповещений, в том числе по HTTP API.
Инициаторами уведомлений могут быть событие из интерфейса (при тестировании отправки уведомлений из интерфейса), публичное API, расписание. Далее рассматривается настройка отправки уведомлений, инициируемых из интерфейса.
Для использования уведомлений необходимо наличие в системе провайдера (Подробную информацию по созданию провайдеров можно найти в разделе Провайдеры):
- Для отправки сообщений в канал Telegram или в личные сообщений провайдер типа: TELEGRAM.
- Для отправки писем по Email провайдер типа: EMAIL.
Форма уведомлений доступна через пункт меню «Уведомления».
Через форму можно настроить, запустить инициализацию, просмотреть список отправленных уведомлений.
В панели свойств доступен просмотр атрибутов уведомления; токены уведомления настраиваются через пункт «Токены» меню действий строки (кнопка ▾ в столбце «Действия»).
Создание уведомлений¶
- Для создания уведомления необходимо перейти на страницу «Управление уведомлениями», используя пункт «Уведомления» в левом меню, и нажать кнопку «Создать».

- На открывшейся форме заполнить поля:
- Наименование: указать наименование уведомления в системе
- Статус: выбрать значение Активен
- Провайдер: опционально, доступен выбор провайдеров типа JSON
- Описание: описание структуры уведомления в JSON формате в конструкторе.
- Параметры: параметры уведомления, описанные в JSON формате в конструкторе.
И нажать кнопку «Создать».
Добавленное уведомление появиться в списке доступных уведомлений.

Редактирование и удаление¶
Для перехода к редактированию уведомления откройте меню действий строки (кнопка ▾ в столбце «Действия») и выберите «Редактировать».
Для удаления откройте меню действий строки уведомления и выберите «Удалить». Перед удалением система запросит подтверждение.
Инициализация уведомления¶
Для запуска уведомлений нужно нажать на кнопку «Выполнить» в столбце «Действия» строки уведомления.

После нажатии кнопки откроется форма для ввода параметров, при нажатии на кнопку «Выполнить» инициируется процесс отправки уведомлений получателям, согласно заданным настройкам в описании уведомлений.
Для просмотра списка отправленных уведомлений кликните по ссылке наименования уведомления и перейдите на форму "Экземпляры уведомлений".
Откроется список отправленных уведомлений в которых отражена информация по Дате отправки, Типу транспорта, Состоянию.

Токены¶
Токены уведомления позволяют инициировать его отправку через публичное API от имени конкретного пользователя, указанного в параметрах токена.
Для управления токенами откройте меню действий строки уведомления и выберите «Токены».
Описание уведомлений¶

Основные параметры для описания:
Контекст¶
Контекст (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)
Значения параметров задаются при инициализации уведомлений на форме Параметров.

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

Для просмотра детализации по отправлению откройте дополнительные свойства экземпляра кликом на наименование В блоке доп свойств раскройте таблицу "Детали"
В таблице будет доступна информация по Теме и наличии Тела и Вложений в уведомлении. Для просмотра получателей перейдите по ссылке в поле "Получатели"
Разрешения¶
Для работы с уведомлениями пользователю необходимы следующие разрешения:
| Действие | Требуемое разрешение |
|---|---|
| Просмотр списка уведомлений и экземпляров | Чтение (READ) |
| Создание уведомления | Право на создание (CREATE) на тип объекта «Уведомление» |
| Редактирование и удаление | Запись (WRITE) |
| Запуск (инициализация) | Исполнение (EXECUTE) |
| Выдача разрешений на уведомление другим пользователям и группам | Управление (MANAGE) |
| Все действия с уведомлением | Владение |
Настройка разрешений выполняется в разделе Разрешения.
Примеры использования уведомлений¶
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 Можно задать количество повторов при запуске условия в поле "Максимальное количество повторов" При наличии главное условия можно задать приоритет - в этом случае если все условия будут верны, то выполниться тот, который имеет наибольший приоритет

Пример:
Условие: текущая дата соответствует параметру
От даты указанной в параметрах прошло не более 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"
}
}
}
}
3. Отправка отчета¶
Доступна отправка отчетов, как: - Тело письма - Вложение
Телом письма может служить только отчет типа HTML Для отправки в форме сообщения необходимо выбрать формат "HTML" и в карточке объекта отчет указать в поле "Как вложение": false, выбрать тип формата HTML и идентификатор созданного вами отчета.


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


Устранение ошибок¶
Уведомление не отправляется - Проверьте, что статус уведомления — «Активен» - Убедитесь, что провайдер активен и настроен корректно (раздел Провайдеры) - Откройте экземпляры уведомления и проверьте поле «Состояние» и блок «Детали» — там отображается причина ошибки
Условие не срабатывает
- Проверьте корректность выражения в поле evaluator
- Убедитесь, что параметры по умолчанию переданы верно
- Убедитесь, что условие не отключено (поле «Включено» = true)
Отчёт не прикрепляется к письму
- Увеличьте значение поля timeout — возможно, отчёт не успевает сгенерироваться
- Проверьте корректность идентификатора отчёта в поле id
- Для отправки отчёта как тела письма формат должен быть HTML, а as_attachment — false
API¶
Для использования публичного API требуется активный токен с действующими правами на "Инициализация уведомления".
Инструкции по созданию токенов приведены в разделе Токены
Инициализация уведомления
mutation ($input: ExecuteTriggerAlertInput) {
public {
alert {
executeTrigger(input: $input) {
ok
}
}
}
}
{
"input": {
"token": "******",
"arguments": [
{
"name": "answer",
"body": "{\"value\":\"FALSE\"}"
}
]
}
}
arguments— список параметров уведомления; передаётся, если в уведомлении заданы параметрыname— имя параметраbody— JSON-строка вида{"value": <значение>}type— необязательно; для параметров со значением-объектом указываетсяjson