Sistema de notificaciones
Notificación de prueba - /api/notifications/test
-
Punto final:
/api/notifications/test -
Método: POST
-
Descripción: Envía notificaciones de prueba (simples, basadas en plantillas o correo electrónico) para verificar la configuración de notificaciones.
-
Autenticación: Requiere sesión de administrador y token CSRF
-
Cuerpo de la solicitud: Para prueba simple:
{"type": "simple","ntfyConfig": {"url": "https://ntfy.sh","topic": "test-topic","accessToken": "optional-access-token"}}
Para prueba de plantilla:
{
"type": "template",
"ntfyConfig": {
"url": "https://ntfy.sh",
"topic": "test-topic",
"accessToken": "optional-access-token"
},
"template": {
"title": "Test Title",
"message": "Test message with {variable}",
"priority": "default",
"tags": "test"
}
}
Para prueba de correo electrónico:
{
"type": "email"
}
-
Respuesta: Para prueba simple:
{"message": "Test notification sent successfully"}
Para prueba de plantilla:
{
"success": true,
"message": "Test notifications sent successfully via NTFY and Email",
"channels": ["NTFY", "Email"]
}
Para prueba de correo electrónico:
{
"message": "Test email sent successfully"
}
El contenido del correo de prueba muestra:
- Nombre de host y puerto del servidor SMTP
- Tipo de conexión (SMTP simple, STARTTLS o SSL/TLS directo)
- Estado del requisito de autenticación SMTP
- Nombre de usuario SMTP (solo se muestra cuando se requiere autenticación)
- Correo electrónico del destinatario
- Dirección de origen y nombre del remitente utilizados para el correo electrónico
- Marca de tiempo de la prueba
- Respuestas de error:
401: No autorizado - Sesión inválida o token CSRF incorrecto400: Se requiere configuración de NTFY, configuración inválida o correo electrónico no configurado500: Error al enviar notificación de prueba con detalles del error
- Notas:
- Admite mensajes de prueba simples, notificaciones basadas en plantillas y pruebas de correo electrónico
- Las pruebas de plantilla utilizan datos de ejemplo para reemplazar variables de plantilla
- Incluye marca de tiempo en el mensaje de prueba
- Las pruebas de NTFY utilizan la configuración de NTFY almacenada; no se utiliza una URL de NTFY proporcionada por el cliente
- Utiliza el campo
accessTokenpara autenticación cuando se almacena - Para pruebas de plantilla, envía notificaciones tanto a NTFY como a correo electrónico (si está configurado)
- Las pruebas de correo electrónico requieren que la configuración SMTP esté configurada
- El punto final de prueba de correo electrónico borra la caché de solicitud antes de leer la configuración SMTP, lo que garantiza que los scripts externos puedan actualizar la configuración y que se refleje inmediatamente en los correos de prueba
- Las pruebas de plantilla y el envío inmediato de Resumen Diario omiten la supresión por copia de seguridad
Vista previa de plantilla de notificación - /api/notifications/preview
- Punto final:
/api/notifications/preview - Método: POST
- Descripción: Representa una plantilla de notificación con el procesador Markdown de producción sin enviar. El cuerpo incluye
kind(success,warning,overdueBackupodailySummaryEmail) y la plantilla que se está editando. Las vistas previas de Resumen Diario utilizan la instantánea real actual; otros tipos utilizan valores de ejemplo deterministas. El HTML del correo electrónico está destinado a un iframe aislado. Éxito, Advertencia/Error y Vencida también devuelven la carga útil de NTFY (ntfyMessage); se omite cualquier encabezado de tabla GFM y las filas del cuerpo son texto plano. - Autenticación: Requiere sesión válida y token CSRF
Comprobar copias de seguridad vencidas - /api/notifications/check-overdue
-
Punto final:
/api/notifications/check-overdue -
Método: POST
-
Descripción: Activa manualmente la comprobación de copia de seguridad vencida y envía notificaciones.
-
Autenticación: Requiere sesión válida y token CSRF
-
Respuesta:
{"message": "Overdue backup check completed","statistics": {"totalBackupConfigs": 5,"checkedBackups": 5,"overdueBackupsFound": 2,"notificationsSent": 2}} -
Respuestas de error:
500: Error al comprobar las copias de seguridad vencidas
-
Notas:
- Activa manualmente la comprobación de copias de seguridad vencidas
- Devuelve estadísticas sobre el proceso de comprobación
- Envía notificaciones para las copias de seguridad vencidas encontradas
Alertas de canales de notificación - /api/notification-channel-alerts
-
Endpoint:
/api/notification-channel-alerts -
Método: GET, POST
-
Descripción: Enumera los errores de entrega de correo electrónico y ntfy abiertos para el administrador que ha iniciado sesión, o borra los canales enumerados hasta que se registre un error más reciente.
-
Autenticación: Requiere una sesión de administrador. POST también requiere un token CSRF en el encabezado
X-CSRF-Token. -
Cuerpo de la solicitud (POST):
{"channels": ["email", "ntfy"]}
channels debe contener uno o ambos de email y ntfy.
-
Respuesta:
{"alerts": [{"channel": "email","error": "SMTP authentication failed","latestTimestamp": "2026-09-23 22:10:00","failureCount": 3,"settingsTab": "email","host": "smtp.gmail.com"}]}
Cada alerta incluye channel, error (como máximo 500 caracteres), latestTimestamp, failureCount y settingsTab (email o ntfy). Las alertas de correo electrónico pueden incluir host. Las alertas de NTFY pueden incluir topic.
- Respuestas de error:
400INVALID_CONFIGURATION: Falta el cuerpo del POST, ochannelsestá vacío o contiene un valor desconocido500INTERNAL_ERROR: Intento fallido de leer o borrar las alertas
- Notas:
- GET devuelve los canales que siguen fallando para este administrador
- POST registra una acción de borrar por administrador para cada canal enumerado que esté abierto actualmente, y luego devuelve las alertas restantes
- Un error posterior muestra el canal de nuevo, incluso cuando el texto del error no ha cambiado
- Una entrega posterior con éxito para ese canal lo mantiene oculto
- El marcador de borrar se almacena en la configuración y no incluye secretos
Borrar marcas de tiempo de copias de seguridad vencidas - /api/notifications/clear-overdue-timestamps
-
Punto final:
/api/notifications/clear-overdue-timestamps -
Método: POST
-
Descripción: Borra todas las marcas de tiempo de notificación de copia de seguridad vencida, permitiendo que se envíen notificaciones nuevamente.
-
Autenticación: Requiere sesión válida y token CSRF
-
Respuesta:
{"message": "Overdue backup notification timestamps cleared successfully"} -
Respuestas de error:
500: Error al borrar las marcas de tiempo de las copias de seguridad vencidas
-
Notas:
- Borra todas las marcas de tiempo de notificación de copias de seguridad vencidas
- Permite que las notificaciones se envíen nuevamente
- Útil para probar el sistema de notificaciones