5 - Entrega, reenvio e histórico
Toda notificação gerada fica registrada, com o resultado de cada tentativa. A aba Histórico de Notificações é onde se acompanha isso e onde se resolve o que falhou.
1. Os dois caminhos de entrega
| Caminho | Quando age | Alcance |
|---|---|---|
| Envio imediato | Logo após o documento ser gravado como autorizado/cancelado/encerrado | Só as notificações daquele documento, a partir da estação que emitiu |
| Rede de segurança | A cada 2 minutos | Tudo que está pendente ou falhou e já está na hora de tentar de novo |
No dia a dia, quem entrega é o envio imediato — o cliente recebe em segundos. A rede de segurança existe para os casos em que ele não deu conta: endpoint fora do ar, rede instável, ou o sistema fechado antes de o envio terminar.
2. As quatro situações
| Status | Significa | Ainda vai tentar? |
|---|---|---|
| Pendente | Gerada, ainda não entregue | Sim |
| Enviado | O endpoint respondeu com sucesso (HTTP 2xx) | Não — encerrada |
| Falhou | A tentativa não deu certo, mas ainda há tentativas no limite | Sim, depois do intervalo |
| Descartado | Esgotou o Tentativas máx. do endpoint | Não — só por reenvio manual |
Sucesso é qualquer HTTP 2xx. Qualquer outra coisa — 4xx, 5xx, timeout, DNS que não resolve, conexão recusada — conta como falha e entra na fila de nova tentativa. Um 404 por URL errada é tratado como falha temporária e vai consumir todas as tentativas; não há como o sistema distinguir isso de uma indisponibilidade.
3. O intervalo entre tentativas
As tentativas são espaçadas de forma crescente, para não martelar um endpoint que está com problema:
| Tentativa que falhou | Próxima em |
|---|---|
| 1ª | 1 minuto |
| 2ª | 5 minutos |
| 3ª | 15 minutos |
| 4ª | 1 hora |
| 5ª em diante | 6 horas |
Com o padrão de 5 tentativas, uma notificação cuja primeira tentativa falha percorre pouco mais de 1 hora e 20 minutos antes de ser descartada. Aumentar Tentativas máx. estende essa janela em blocos de 6 horas.
Esse desenho dá folga real para uma manutenção do lado do cliente: uma indisponibilidade de meia hora é absorvida sem intervenção, e o cliente recebe a notificação atrasada, não perdida.
4. A aba Histórico de Notificações
Mostra as últimas 500 notificações da filial selecionada, da mais recente para a mais antiga.
| Coluna | Conteúdo |
|---|---|
| Documento | NFE, NFCE, CTE, CTEOS ou MDFE |
| Evento | AUTORIZADA, CANCELADA ou ENCERRADA |
| Chave | Chave de acesso do documento |
| Status | Pendente, Enviado, Falhou ou Descartado |
| Tentativas | Quantas já foram feitas |
| HTTP | Código devolvido na última tentativa (vazio se nem chegou a conectar) |
| Criação | Quando a notificação foi gerada |
| Envio | Quando foi entregue com sucesso |
| Último erro | A mensagem da última falha |
O campo Status no topo filtra a lista (Todos, Pendente, Enviado, Falhou, Descartado) e Atualizar recarrega. A lista não se atualiza sozinha.
Para achar problema rápido, filtre por Descartado: é a lista do que o cliente não recebeu e não vai receber sem ação. Falhou ainda está em tratamento automático.
5. Reenviar
Selecione a linha e clique em Reenviar selecionado. A notificação volta para Pendente, o contador de tentativas é zerado e o envio é disparado na hora.
Serve para quando a causa da falha já foi resolvida: a URL foi corrigida, o token foi renovado, o servidor do cliente voltou. Reenviar sem corrigir a causa só vai repetir a falha.
O reenvio manda o mesmo conteúdo gravado quando a notificação nasceu, não uma versão atualizada do documento. Se a nota foi autorizada e depois cancelada, a notificação de autorização reenviada continua dizendo AUTORIZADA — e é o correto: ela relata o evento daquele momento. O cancelamento tem a notificação dele.
O mesmo vale para o número da entrega (X-TryERP-Delivery): o reenvio mantém o número original. Um endpoint que controle idempotência por esse número vai reconhecer a repetição — o que é o comportamento desejado.
6. Limpeza automática
Notificações com status Enviado há mais de 30 dias são apagadas automaticamente pela rotina de reenvio. O histórico não cresce para sempre.
O que não é apagado: Pendente, Falhou e Descartado. Eles ficam até serem resolvidos ou removidos manualmente — justamente para que um problema antigo não desapareça sozinho do histórico.
O corpo da resposta do endpoint e a mensagem de erro são guardados truncados em 4.000 caracteres. Para diagnosticar, isso basta; o log completo fica do lado do cliente.
Próximo capítulo: Guia para o desenvolvedor do endpoint — a página que pode ser enviada a quem vai construir o receptor.