Saltearse 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 dinamicas: El titulo y mensaje soportan variables {{variable}} que se reemplazan con datos del flujo.
  2. Autenticacion flexible: Soporta autenticacion Bearer (tokens tk_*) y Basic. Puede usar token directo o credenciales almacenadas.
  3. Envio de archivos: Soporta enviar uno o multiples 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 notificacion: 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 ejecucion es:

  1. Procesa variables dinamicas en titulo y mensaje.
  2. Configura autenticacion (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.
ParametroTipoRequeridoDescripcion
credentials_idcredentialsNoCredenciales de autenticacion (username/token).
topictextSiTopico de ntfy.sh al que se envia la notificacion.
baseMessagetextNoCuerpo del mensaje. Soporta variables dinamicas.
titletextNoTitulo de la notificacion. Default: “Notificacion”.
prioritynumberNoPrioridad de la notificacion (1=min, 3=default, 5=max).
clicktextNoURL que se abre al hacer click en la notificacion.
tagstextNoEtiquetas separadas por comas (ej: “warning,robot”).
actionstextNoAcciones/botones para la notificacion.
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 autenticacion 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.
  • Documentacion: 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 despues del envio.
  • El tipo de contenido de archivos se detecta automaticamente usando la libreria mime-types.
  • Los tags se pueden usar para mostrar iconos en la notificacion (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 (envio programado), email (reenvio por correo) y call (llamada telefonica).
  • sendNotification (Notificaciones Push via Firebase)
  • sendMail (Send Mail - notificaciones por correo)