4 - Eventos e o conteúdo enviado
Este capítulo descreve quando a notificação sai e o que vai dentro dela. É o material que você precisa ter em mãos para combinar a integração com o cliente.
1. O momento exato de cada evento
A notificação nasce quando a SEFAZ confirma o evento e o sistema grava essa confirmação. Na prática, cada evento corresponde a uma situação (cStat) do documento:
| Evento | Situação que dispara | Significado |
|---|---|---|
| AUTORIZADA |
100, 120 ou 150
|
Autorizado, autorizado com alerta, autorizado fora do prazo |
| CANCELADA |
101 (e 151 na consulta) |
Cancelamento homologado |
| ENCERRADA | 132 |
Encerramento de MDF-e homologado |
O 120 — autorizado com alerta, criado pela NT 2026.002 — conta como autorizada e notifica normalmente. Ele só ocorre em NF-e e NFC-e. A nota está válida; o alerta é uma observação da SEFAZ, não um impedimento.
2. A notificação também nasce na consulta de situação
Nem sempre a resposta da SEFAZ chega na hora do envio: o lote pode ficar em processamento, a conexão pode cair depois de enviado. Nesses casos o sistema descobre o desfecho depois, ao consultar a situação do documento — e a notificação é gerada nesse momento.
O sistema controla isso por documento e evento: se a notificação da autorização já foi criada no envio, a consulta não cria outra. O cliente não recebe o mesmo evento duas vezes por causa de uma reconsulta.
3. O corpo da notificação
No método POST, o corpo é um JSON com Content-Type: application/json. Exemplo no nível Resumido:
{
"versaoPayload": "1.0",
"evento": "AUTORIZADA",
"tipoDocumento": "NFe",
"ambiente": "producao",
"dataEvento": "2026-09-20T14:32:07-03:00",
"documento": {
"id": 18442,
"modelo": "55",
"serie": "1",
"numero": 4471,
"chaveAcesso": "35260912345678000199550010000044711234567890",
"protocolo": "135260004471234",
"cStat": 100,
"motivo": "Autorizado o uso da NF-e"
},
"emitente": {
"cnpj": "12345678000199",
"razaoSocial": "EMPRESA EXEMPLO LTDA"
}
}
4. Os campos
| Campo | Conteúdo |
|---|---|
versaoPayload |
Versão do formato. Hoje "1.0". Existe para o cliente conseguir evoluir sem quebrar |
evento |
AUTORIZADA, CANCELADA ou ENCERRADA
|
tipoDocumento |
NFe, NFCe, CTe, CTeOS ou MDFe
|
ambiente |
producao ou homologacao
|
dataEvento |
Data/hora do evento, com fuso (ISO 8601) |
documento.id |
Código interno do documento no TryERP — é o que a API usa |
documento.chaveAcesso |
Chave de 44 dígitos |
documento.protocolo |
Protocolo da autorização — ou do cancelamento, quando o evento é CANCELADA |
documento.cStat / motivo
|
Código e descrição devolvidos pela SEFAZ |
emitente.cnpj / razaoSocial
|
Identificação da filial emitente |
Campo sem valor vai como null, não é omitido. O sistema do cliente deve tratar null em vez de assumir que a chave não existe.
5. Resumido ou Completo
O nível Completo mantém tudo do Resumido e acrescenta:
| Campo adicional | Conteúdo |
|---|---|
documento.dataEmissao |
Data de emissão do documento |
documento.naturezaOperacao |
Natureza da operação |
documento.valorTotal |
Valor total do documento |
destinatario.nome |
Razão social / nome do destinatário |
destinatario.cnpjCpf |
CNPJ ou CPF do destinatário |
destinatario.inscricaoEstadual |
Inscrição estadual do destinatário |
O Completo coloca dado de terceiro (o destinatário da nota) dentro da notificação. Se o endpoint do cliente é hospedado fora, isso é tráfego de dado pessoal e deve ser uma decisão consciente. Resumido é o padrão certo para quem tem a API: com a chave e o id, o cliente busca o resto quando precisar — e só do que precisar.
6. Os cabeçalhos que acompanham
| Cabeçalho | Conteúdo |
|---|---|
X-TryERP-Delivery |
Número único da entrega. Repetido em toda tentativa da mesma notificação — é a chave para o cliente não processar duas vezes |
X-TryERP-Event |
O evento (AUTORIZADA, CANCELADA, ENCERRADA) |
X-TryERP-Signature |
Só quando a assinatura está ligada. Formato sha256=<hexadecimal>
|
Além desses, vão os cabeçalhos configurados em Headers (JSON) e o Content-Type: application/json.
7. No método GET
Com GET não há corpo. Os campos simples viram query string — os do primeiro nível e os de documento:
https://sistema.cliente.com.br/integracao?versaoPayload=1.0&evento=AUTORIZADA&tipoDocumento=NFe&ambiente=producao&id=18442&chaveAcesso=35260912...&protocolo=135260004471234&cStat=100
Os blocos emitente e destinatario não são enviados no GET, e não há assinatura. Os cabeçalhos de rastreio continuam indo.
Próximo capítulo: Entrega, reenvio e histórico — como acompanhar o que saiu e tratar o que falhou.