¿como hacer un sistema de alerta Push si una query trae resultados?

Lordnet

Autoridad Ancestral de Transacciones
Se incorporó
11 Junio 2004
Mensajes
2.171
Estimados describo el problema

tengo un sistema que registra casos, los cuales tienen una fecha de vencimiento. ese caso debe ser gestionado antes que llegue dicha fecha de vencimiento para cumplir con los SLA.

mediante SQL armaré una consulta que me muestre todos los casos que estén abiertos y que le queden queden tres horas o menos por vencer. el caso al ser gestionado, cambia de estado, por lo que desaparece de la consulta.

la pregunta es como debería notificarle al usuario que hay casos sin resolver?

mi solución de tipo artesanal en mente es crear una vista en producción de la DB. esa vista llevarla a powerbi, y con el gateway que consulte cada hora por los casos abiertos.

Me gustaria que pudiera a partir del resultado de la query (>1 registro) , le enviare un correo, un mensaje via teams o un push en chrome.
alguna idea de cómo podría hacerlo?

el motor es mariadb.

de antemano gracias
 

Deadmaus

Miembro Regular
Se incorporó
13 Enero 2014
Mensajes
48
Da igual quien o como gatilles las notificaciones luego de que la query te retorne >1, lo que tienes que tener en mente es que cada medio por el cual quieras notificar tendrá ciertas restricciones, siendo algunas mas simples que otras. De hecho ahora en la pega estoy diseñando un sistema centralizado de notificaciones para múltiples canales, por lo que tendras que documentarte sobre cada uno.

Email: la mas simple, ya que usando una cuenta de servicio puede enviar el correo a cualquier usuario. En termino de implementación y tiempo es la más fácil por lejos.

Teams: desconozco como funciona, pero asumiendo que esta tiene restricciones por la organización, es probable que funcione similar a Slack, donde vas a necesitar una autenticación vía token y ciertos permisos que posea la cuenta/bot/app que quieras usar como origen al mandar la notificación, además de conocer el ID del usuario, correo o cualquier medio para identificarlo y enviar el mensaje 1:1 como chat, ya sea app->usuario, bot->usuario o usuario->usuario.

Teams API Documentation

Push: esta es mas "complicada", ya que el usuario primero debe habilitar las notificaciones de esa web/app en concreto. Luego la misma app debe validar que las notificaciones están habilitadas en el browser y si es así debe generar un token usando una vapid public key. Ese token es un JSON que contiene la URL del push y las respectivas KEYS. Idealmente tienes que guardarlo en algún lugar, ya que es el que luego debe usar el backend o push service para mandarle el mensaje a ese usuario en el navegador que el habilitó dicha notificación. Si el usuario luego las deshabilita, aunque intentes mandarle el push este nunca se las mostrara.

1680467675256.png


Web Push using python
 
Upvote 0
Subir