Настройка уведомлений для пользователей

 

Введение 

Система уведомлений позволяет оповещать пользователя о некоем событии через Email, Телеграм, пуш уведомление или на сайте. 

Уведомление создается через внешнее действие типа notification.

Типы уведомлений создаются на странице /notificationTypes в панели администратора.

Дополнительная обработка уведомлений через SP коллбек

Вы можете прописать процедуру, которая будет вызываться после каждого события. 

CREATE OR ALTER PROCEDURE [dbo].[nt_example_afterCreate]
	@id int,
	@username nvarchar(32), 
	@parameters ExtendedDictionaryParameter readonly
AS
BEGIN
	
	-- SELECT 1
	Select '' Msg, 1 Result, 1 SendTelegram, 0 SendEmail

	-- SELECT 2  вызов внешних действий
END

На входе: 

id - id созданного уведомления в as_nt_notifications

username - текущий пользователь

parameters - системные параметры (falconGuid, landID, userIP и т.д.)

На выходе: 

SELECT 1 

SendTelegram - отправлять или нет уведомление через телеграм бота (если он подключен к пользователю).

SELECT 2 - выполнение внешних действий (вызов API, отправка Email и т.д.)

Внимание! Избегайте ситуации, когда во внешнем действии создается новое уведомление и возникает бесконечный цикл. 

Как отправлять Email пользователю для уведомления 

Вы можете задействовать для этого внешнее действие в процедуре afterCreate - получить email пользователя из as_users, и затем отправить в SELECT 2 через внешнее действие с типом email или emailTemplate

Вызов уведомления из любой sql процедуры

Для создания уведомлений из хранимых процедур, необходимо вызвать хранимую процедуру as_nt_createNotification

Этот способ лучше использовать только в крайнем случае, когда нет возможности задействовать внешнее действие. 

Примечание: 

1. Также вы можете вызвать немедленное уведомление при сохранении формы (см. Вызов внешних действий, например через параметры Saveitem для формы в SELECT 2). 
2. Если есть возможность, то лучше вызывать процедуры через внешние действия 
3. Если стоит Мгновенное уведомление - используйте Внешние действия. Это позволит задействовать средства платформы для отправки push уведомления. Галочка мгновенные уведомления при создании уведомления сразу выводит окошко на экране у пользователя, отправляет Push уведомление (если они включены), и отправляет telegram сообщение (если пользователь привязан к боту и бот настроен в проекте).

Как сделать кастомизированную верстку для панели уведомлений вверху справа

Для этого необходимо указать в хранимой процедуре [as_nt_getUserNotifications] в SELECT 2 в параметре CustomMakeup требуемую разметку. При этом данные SELECT 1 не будут учитываться. Данная процедура вызывается на странице для запроса количества необработанных уведомлений.

Верстку панели уместно формировать через HTML блок (с процедурой) и затем использовать в параметре CustomMakeup.

Альтернативный вариант (обновление июнь 2024) - добавить контейнер с классом .as-nt-itemMakeup - в нем будет кастом разметка элемента панели. 

В ней можно использовать такие элементы: {date}, {id}, {alertType},{additionalBtn}, {url}, {from}, {text}

Как изменить формат уведомения в телеграм

Для этого используем настройку в /settings с кодом notificationTelegramTextPattern.

В нее передаются параметры {text}, {url}, {from}.

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

 

Страница-источник на сайте falconspace.ru