Sistema de Notificações
Notificação de Teste - /api/notifications/test
-
Endpoint:
/api/notifications/test -
Método: POST
-
Descrição: Enviar notificações de teste (simples, baseadas em modelo ou e-mail) para verificar a configuração de notificações.
-
Autenticação: Requer sessão de administrador e token CSRF
-
Corpo da Solicitação: Para teste simples:
{"type": "simple","ntfyConfig": {"url": "https://ntfy.sh","topic": "test-topic","accessToken": "optional-access-token"}}
Para teste de modelo:
{
"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 teste de e-mail:
{
"type": "email"
}
-
Resposta: Para teste simples:
{"message": "Test notification sent successfully"}
Para teste de modelo:
{
"success": true,
"message": "Test notifications sent successfully via NTFY and Email",
"channels": ["NTFY", "Email"]
}
Para teste de e-mail:
{
"message": "Test email sent successfully"
}
O conteúdo do e-mail de teste exibe:
- Nome do servidor SMTP e porta
- Tipo de conexão (SMTP Simples, STARTTLS ou SSL/TLS Direto)
- Status de requisito de autenticação SMTP
- Nome de usuário SMTP (mostrado apenas quando a autenticação é necessária)
- E-mail do destinatário
- Endereço de origem e nome do remetente usado para o e-mail
- Timestamp do teste
- Respostas de Erro:
401: Não autorizado - Sessão inválida ou token CSRF inválido400: Configuração do NTFY é necessária, configuração inválida ou e-mail não configurado500: Falha ao enviar notificação de teste com detalhes do erro
- Notas:
- Suporta mensagens de teste simples, notificações baseadas em modelo e testes de e-mail
- Testes de modelo usam dados de amostra para substituir variáveis de modelo
- Inclui timestamp na mensagem de teste
- Testes do NTFY usam a configuração do NTFY armazenada; uma URL do NTFY fornecida pelo cliente não é usada
- Usa campo
accessTokenpara autenticação quando armazenado - Para testes de modelo, envia notificações para NTFY e e-mail (se configurado)
- Testes de e-mail requerem que a configuração SMTP seja definida
- O endpoint de e-mail de teste limpa o cache de solicitação antes de ler a configuração SMTP, garantindo que scripts externos possam atualizar a configuração e tê-la imediatamente refletida em e-mails de teste
- Testes de modelo e envio imediato de Resumo Diário contornam a supressão por backup
Visualização de Modelo de Notificação - /api/notifications/preview
- Endpoint:
/api/notifications/preview - Método: POST
- Descrição: Renderiza um modelo de notificação com o renderizador Markdown de produção sem enviar. O corpo inclui
kind(success,warning,overdueBackupoudailySummaryEmail) e o modelo sendo editado. Visualizações de Resumo Diário usam o snapshot real atual; outros tipos usam valores de amostra determinísticos. E-mail HTML é destinado a um iframe em sandbox. Sucesso, Aviso/Erro e Atrasado também retornam o payload do NTFY (ntfyMessage); qualquer cabeçalho de tabela GFM é omitido e linhas de corpo são texto simples. - Autenticação: Requer sessão válida e token CSRF
Verificar Backups Atrasados - /api/notifications/check-overdue
-
Endpoint:
/api/notifications/check-overdue -
Método: POST
-
Descrição: Dispara manualmente a verificação de backup atrasado e envia notificações.
-
Autenticação: Requer sessão válida e token CSRF
-
Resposta:
{"message": "Overdue backup check completed","statistics": {"totalBackupConfigs": 5,"checkedBackups": 5,"overdueBackupsFound": 2,"notificationsSent": 2}} -
Respostas de Erro:
500: Falha ao verificar backups atrasados
-
Notas:
- Aciona manualmente a verificação de backups atrasados
- Retorna estatísticas sobre o processo de verificação
- Envia notificações para backups atrasados encontrados
Alertas do Canal de Notificação - /api/notification-channel-alerts
-
Endpoint:
/api/notification-channel-alerts -
Método: GET, POST
-
Descrição: Lista as falhas de entrega de e-mail e NTFY em aberto para o administrador conectado, ou limpa os canais listados até que uma nova falha seja registrada.
-
Autenticação: Requer uma sessão de administrador. O POST também requer um token CSRF no cabeçalho
X-CSRF-Token. -
Corpo da Requisição (POST):
{"channels": ["email", "ntfy"]}
channels deve conter um ou ambos: email e ntfy.
-
Resposta:
{"alerts": [{"channel": "email","error": "SMTP authentication failed","latestTimestamp": "2026-09-23 22:10:00","failureCount": 3,"settingsTab": "email","host": "smtp.gmail.com"}]}
Cada alerta inclui channel, error (no máximo 500 caracteres), latestTimestamp, failureCount e settingsTab (email ou ntfy). Alertas de e-mail podem incluir host. Alertas do NTFY podem incluir topic.
- Respostas de Erro:
400INVALID_CONFIGURATION: O corpo do POST está ausente, ouchannelsestá vazio ou contém um valor desconhecido500INTERNAL_ERROR: Falha na Leitura ou ao Limpar os alertas
- Observações:
- O GET retorna os canais que ainda estão com falha para este administrador
- O POST registra uma limpeza por administrador para cada canal listado que esteja atualmente aberto e, em seguida, retorna os alertas restantes
- Uma falha posterior mostra o canal novamente, mesmo quando o texto do erro permanece inalterado
- Uma entrega bem-sucedida posterior para esse canal o mantém oculto
- O marcador de limpeza é armazenado na configuração e não inclui segredos
Limpar Timestamps de Backups Atrasados - /api/notifications/clear-overdue-timestamps
-
Endpoint:
/api/notifications/clear-overdue-timestamps -
Método: POST
-
Descrição: Limpa todos os timestamps de notificação de backup atrasado, permitindo que as notificações sejam enviadas novamente.
-
Autenticação: Requer sessão válida e token CSRF
-
Resposta:
{"message": "Overdue backup notification timestamps cleared successfully"} -
Respostas de Erro:
500: Falha ao limpar os carimbos de data/hora dos backups atrasados
-
Notas:
- Limpa todos os carimbos de data/hora das notificações de backups atrasados
- Permite que as notificações sejam enviadas novamente
- Útil para testar o sistema de notificações