Настройка уведомлений для личного кабинета на сайте

Введение 

Система уведомлений позволяет оповещать пользователя о некоем событии через 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

  • from - пользователь, от которого направлено уведомление.
  • to - пользователь, которому направлено уведомление.
  • url - дополнительный URL как часть информации об уведомлении
  • text - краткий текст уведомления 
  • typecode - код уведомления из таблицы notificationTypes
  • additional - дополнительная информация по уведомлению.

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

Примечание: 

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

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

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

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

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

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

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

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

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK