Уведомления
Способы формирования уведомлений

Способы формирования уведомлений

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

Отправка уведомления, контракт события qun-notification-create

ПараметрНазваниеТип
NotificationRecipientПолучатель уведомленияNotificationRecipient
channelProtocolLinkListСписок каналов рассылкиArray of ChannelProtocolLinkList
attachmentsСписок прикрепленных файловArray of Attachments
createdByАвтор уведомленияstring
idID записи уведомленияinteger($int64)
messageТекст сообщенияstring
messageHTMLТекст сообщения в формате HTMLstring
messageTypeТип сообщенияstring
notificationAttributesАтрибуты сообщенияstring
notificationAttributesJsonАтрибуты сообщения в формате JSON. Используется, если атрибуты не указаны в поле notificationAttributesobject
objectIdID объекта процесса, в рамках которого было отправлено уведомлениеstring
objectNumberНомер объекта процесса, в рамках которого было отправлено уведомлениеstring
objectTypeТип объекта процесса, в рамках которого было отправлено уведомлениеstring
overrideRecipientПризнак перезаписи получателей. При включенном признаке при создании уведомления из процесса по шаблону, получатели будут перезаписаны данными из процесса.bool
recipientGroupIdID группы рассылкиinteger($int64)
recipientGroupSystemNameСистемное наименование группы рассылкиstring
soundAlarmПризнак звукового сигнала при отпрвавке уведомленияbool
templateIdID шаблона уведомленияinteger($int64)
templateSystemNameСистемное наименование шаблона уведомленияstring
typeТип уведомленияinteger($int64)
typeSystemNameСистемное наименование типа уведомленияstring
useCurrentUserMailПризнак использования электронной почты текущего пользователя для отправки уведомленияbool

Отправка уведомления, контракт события qun-notification-command

ПараметрНазваниеТип
NotificationRecipientПолучатель уведомленияArray of NotificationRecipient
channelProtocolLinkListСписок каналов рассылкиArray of ChannelProtocolLinkList
attachmentsСписок прикрепленных файловArray of Attachments
createdByАвтор уведомленияstring
idID записи уведомленияinteger($int64)
messageТекст сообщенияstring
notificationAttributesАтрибуты сообщенияstring
recipientGroupIdID группы рассылкиinteger($int64)
templateIdID шаблона уведомленияinteger($int64)
typeТип уведомленияinteger($int64)

Получение сообщения по шаблону, контракт события qun-notification-template-text-command

ПараметрНазваниеТип
templateIdID шаблона уведомленияinteger($int64)
notificationAttributesАтрибуты сообщенияstring
notificationAttributesJsonАтрибуты сообщения в формате JSON. Используется, если атрибуты не указаны в поле notificationAttributesobject
channelIdID канала рассылкиinteger($int64)

Схемы объектов

NotificationRecipient

Получатель уведомления

ПараметрНазваниеТип
externalSystemIdСистемное имя получателя. Может быть передан адрес электронной почтыstring
idID записи получателяinteger($int64)
nameНаименование получателяstring
recipientIdID получателя (ID роли, ID сотрудника, ID департамента)integer($int64)
systemNameСистемное имя получателя (сис имя роли/логин сотрудника/сис имя департамента)string
typeТип получателя:

• 1 - Сотрудник (employee);
• 2 - Подразделение (department);
• 3 - Роль пользователя (role);
• 4 - Группа пользователей (group);
• 5 - Чат телеграмма (TELEGRAM_CHAT);
• 6 - Электронная почта (EMAIL);
• 7 - Телефонный номер (PHONE_NUMBER);
• 8 - Токен копии приложения (APPLICATION_INSTANCE_TOKEN);
• 9 - Участник (PARTICIPANT).
integer($int64)

ChannelProtocolLinkList

Список каналов рассылки

ПараметрНазваниеТип
attachmentsСписок прикрепленных файловArray of Attachments
channelSysNameСистемное имя канала рассылкиstring
messageШаблон текста сообщения для каналаstring
messageHTMLШаблон текста сообщения для канала в формате HTMLstring
messageTypeТип сообщенияinteger
subjectТема письмаstring

Attachments

Список прикрепленных файлов

ПараметрНазваниеТип
contentTypeТип содержимого файлаstring
fileНаименование файла с путем в файловом хранилищеstring
fileIDID файла в файловом хранилищеstring
fileInfoIdID информации о файле в файловом хранилищеinteger($int64)
fileNameНаименование файла с расширениемstring
isBase64Признак кодирования в base64bool
storageМесто хранения документа в файловом хранилищеstring

Варианты формирования события для отправки уведомления

Уведомление можно сформировать:

  1. Самостоятельно сформировать уведомление, не используя шаблона. В таком случае необходимо указать следующие параметры:
  • channelProtocolLinkList - список каналов для отправки;
  • notificationRecipient / recipientGroupId - получатель уведомления или ID группы рассылки (в которую входит список получателей);
  • type - тип уведомления;
  • message - шаблон текста уведомления (статичный текст);
  • notificationAttributes - атрибуты сообщения, если в message был указан параметризированный шаблон текста.
  • notificationAttributesJson - атрибуты сообщения в формате JSON, если в message был указан параметризированный шаблон текста. Используется, если атрибуты не указаны в поле notificationAttributes.
  1. Сформировать уведомление по шаблону. В таком случае необходимо указать следующие параметры:
  • templateId - ID шаблона уведомления;
  • notificationAttributes - атрибуты сообщения, если в шаблоне был указан параметризированный текст.
  • notificationAttributesJson - атрибуты сообщения в формате JSON, если в шаблоне был указан параметризированный шаблон текста. Используется, если атрибуты не указаны в поле notificationAttributes.

Ниже будут представлены примеры формирования уведомлений в редакторе дизайнера процессов.

Отправка статического текста

ПеременнаяТипПример
channelProtocolLinkListскрипт Groovy[["channelSysName": "email", "message": "Test1"]]
messageСтрока или выражение"Уведомление о созданной задаче"
typeСтрока или выражение1
notificationRecipientКарта
КлючЗначение
recipientId${execution.getVariable('employeeId')}
type1

empty

Отправка шаблонного текста уведомления c параметризацией

При заполнении значения переменной notificationAttributes можно делать перенос строк. Перенос осуществляется после знака "+". Заполняется одна из переменных notificationAttributes ИЛИ notificationAttributesJson. При заполнении обоих полей значения используются из поля notificationAttributes.

ПеременнаяТипПример
notificationAttributesскрипт Groovydef text = "{\"taskId\": \"" + response.content.stream().findFirst().get().id.toString() + "\", \"startDate\": \"" + startDate + "\", \"endDate\": \"" + endDate + "\", \"statusName\": \"" + statusName + "\", \"fullName\": \"" + responseEmployee.fullName + "\", \"url\": \"" + url + "\"}"; text
notificationAttributesJsonСтрока или выражение{"taskId" : ${taskId}}
channelProtocolLinkListскрипт Groovy[["channelSysName": "email"]]
messageскрипт Groovy"Подчинённый создал заявку на отпуск. Необходимо ее подтвердить через пользовательскую задачу №${taskId}"
typeСтрока или выражение1
notificationRecipientКарта
КлючЗначение
recipientId${execution.getVariable('employeeId')}
type1

Пример настройки отправки параметризированного уведомления с атрибутами бизнес-процесс.
empty

Пример настройки отправки параметризированного уведомления с атрибутами в формате JSON бизнес-процесс.
empty

Отправка уведомления с параметрами по шаблону

ПеременнаяТипПример
notificationAttributesскрипт Groovydef text = "{\"taskId\": \"" + response.content.stream().findFirst().get().id.toString() + "\", \"startDate\": \"" + startDate + "\", \"endDate\": \"" + endDate + "\", \"statusName\": \"" + statusName + "\", \"fullName\": \"" + responseEmployee.fullName + "\", \"url\": \"" + url + "\"}"; text
notificationAttributesJsonСтрока или выражение{"taskId" : ${taskId}}
templateIdСтрока или выражение1

Пример настройки отправки уведомления с параметрами по шаблону через бизнес-процесс.
empty

Пример настройки отправки уведомления с параметрами в формате JSON по шаблону через бизнес-процесс.
empty