Ir al contenido

ntfy Notify

Este modulo envia notificaciones al servicio ntfy.sh, un servicio de notificaciones push basado en topicos (topics). Sus capacidades incluyen:

  1. Mensaje con variables dinámicas: El título y mensaje soportan variables {{variable}} que se reemplazan con datos del flujo.
  2. Autenticación flexible: Soporta autenticación Bearer (tokens tk_*) y Basic. Puede usar token directo o credenciales almacenadas.
  3. Envío de archivos: Soporta enviar uno o múltiples archivos, tanto locales como remotos (URLs). Los archivos remotos se descargan temporalmente antes de enviarlos.
  4. Lista de archivos en mensaje: Opcionalmente agrega al mensaje la lista de nombres de archivos enviados.
  5. Opciones avanzadas de notificación: Soporta prioridad (1-5), tags, acciones (botones), click URL, iconos, delay, email y llamada.
  6. Formato Markdown: Opcionalmente permite formato Markdown en el mensaje.

El flujo de ejecución es:

  1. Procesa variables dinámicas en título y mensaje.
  2. Configura autenticación (Bearer o Basic).
  3. Envia archivos individuales via PUT a https://ntfy.sh/{topic}.
  4. Envia el mensaje principal como JSON via POST a https://ntfy.sh.
ParámetroTipoRequeridoDescripción
credentials_idcredentialsNoCredenciales de autenticación (username/token).
topictextSiTopico de ntfy.sh al que se envia la notificación.
baseMessagetextNoCuerpo del mensaje. Soporta variables dinámicas.
titletextNoTítulo de la notificación. Default: “Notificación”.
prioritynumberNoPrioridad de la notificación (1=min, 3=default, 5=max).
clicktextNoURL que se abre al hacer click en la notificación.
tagstextNoEtiquetas separadas por comas (ej: “warning,robot”).
actionstextNoAcciones/botones para la notificación.
showFileNamesbooleanNoAgregar lista de archivos enviados al mensaje. Default: true.
filePathtextNoRuta a un archivo local o URL remota para adjuntar.
filePathstextNoArray de rutas/URLs de archivos para adjuntar.
fileUrlstextNoURLs de archivos remotos para adjuntar.

Opcionales. Si se proporcionan, el objeto debe contener username o token para autenticación con ntfy.sh.

{
"nextModule": "siguiente-nodo",
"data": {
"topic": "mi-topico",
"message": "Proceso completado exitosamente\n\nArchivos enviados:\n- reporte.pdf",
"title": "Alerta de sistema",
"priority": 4
},
"result": {
"messageSent": true,
"sentFiles": ["reporte.pdf"],
"payload": { },
"status": 200
}
}
{
"topic": "mi-canal-alertas",
"title": "Alerta: {{tipo_alerta}}",
"baseMessage": "Se detecto un evento en {{sistema}}",
"priority": "4",
"tags": "warning,alert"
}
  • ntfy.sh API:
    • POST https://ntfy.sh - Enviar mensaje JSON.
    • PUT https://ntfy.sh/{topic} - Enviar archivos adjuntos.
  • Documentación: https://docs.ntfy.sh/
  • ntfy.sh es un servicio gratuito y open-source de notificaciones push.
  • Los archivos remotos (URLs) se descargan temporalmente al directorio del sistema y se eliminan después del envío.
  • El tipo de contenido de archivos se detecta automáticamente usando la libreria mime-types.
  • Los tags se pueden usar para mostrar iconos en la notificación (ej: “warning” muestra un icono de advertencia).
  • La prioridad va de 1 (minima) a 5 (urgente). El default es 3.
  • Soporta opciones adicionales como delay (envío programado), email (reenvio por correo) y call (llamada telefonica).
  • sendNotification (Notificaciones Push via Firebase)
  • sendMail (Send Mail - notificaciones por correo)