Notificador
Un objeto de tipo notifier representa un canal de notificación integrado en Netsocs. Su función es enviar mensajes o alertas hacia destinatarios externos (usuarios, sistemas de mensajería, servicios de terceros) a través del mecanismo que el driver implemente: correo electrónico, SMS, push móvil, Telegram, Slack, webhooks, etc.
Piensa en el notificador como el "mensajero" del ecosistema. No observa ni controla el entorno: su única responsabilidad es despachar una notificación cuando se le ordena, e informar si la entrega fue exitosa o falló.
Características principales
- Entrega bajo demanda: Solo actúa al recibir la acción
create; no genera notificaciones por cuenta propia.
- Contenido enriquecido: El payload admite título, mensaje, adjuntos multimedia (imágenes, audio, video) y un destinatario específico.
- Trazabilidad: Cada notificación puede incluir un
notification_id para correlacionar la entrega con otros eventos del sistema.
- Ciclo de vida visible: Los estados permiten detectar si el notificador está libre, procesando o en error, y actuar en consecuencia desde automatizaciones.
Casos de uso comunes
- Envío de alertas de seguridad a operadores cuando un sensor detecta una anomalía.
- Notificación push a un usuario al concederle acceso a una puerta.
- Reportes automáticos generados por automatizaciones programadas.
- Integración con plataformas de mensajería empresarial (Slack, Teams, Telegram).
- Escalado de incidentes cuando un sistema entra en estado de error.
Estados
| Estado |
Descripción |
notify.state.unknown |
Estado inicial desconocido; el notificador aún no ha operado. |
notify.state.idle |
El notificador está listo para recibir una acción create. |
notify.state.busy |
Hay una notificación en proceso de envío. |
notify.state.error |
El último intento de envío falló. |
Acciones
| Acción |
Descripción |
create |
Envía una notificación con el contenido especificado en el payload. |
Payload de la acción create
| Campo |
Tipo |
Requerido |
Descripción |
message |
string |
Sí |
Texto principal de la notificación. |
title |
string |
No |
Título o asunto de la notificación. |
notification_id |
string |
No |
Identificador para correlacionar la notificación con otros eventos. |
target |
string |
No |
Destinatario específico (usuario, canal, número de teléfono, etc.). |
data.image_urls |
[]string |
No |
Lista de URLs de imágenes adjuntas. |
data.audio_urls |
[]string |
No |
Lista de URLs de archivos de audio adjuntos. |
data.video_urls |
[]string |
No |
Lista de URLs de videos adjuntos. |