Ciclo de Vida e Fluxo Assíncrono

Por que 2xx significa aceito na fila, estados no banco e transições.

A autorização de documentos fiscais eletrônicos no Brasil depende de servidores governamentais (SEFAZ estaduais e Receita Federal) que apresentam oscilações de latência e instabilidades momentâneas. Por essa razão, a arquitetura do NFER é fundamentada no modelo assíncrono resiliente.

Resposta HTTP 2xx = Aceito, não Autorizado

Quando a API retorna status 201 Created ou 202 Accepted, isso significa que seu payload foi validado com sucesso e enfileirado para envio. A autorização jurídica perante a SEFAZ ocorre de forma assíncrona através de workers dedicados.

Estados do Documento Fiscal

Ao longo do seu processamento, a nota percorre os seguintes estados no banco de dados:

StatusTipoSignificado & Comportamento
rascunhoTransitórioNota salva e validada no NFER, com número e série reservados. Pode ser editada ou cancelada antes da transmissão à SEFAZ.
processandoTransitórioNota na fila de processamento. O worker assina o XML com o Certificado A1 e transmite ao Web Service da SEFAZ.
autorizadaFinalA SEFAZ autorizou o documento fiscal (cStat 100/150). O XML com protocolo e o DANFE em PDF ficam disponíveis para download.
erroIntermediárioA SEFAZ rejeitou o XML (ex.: cStat 539 duplicidade, cStat 696 indFinal). O rascunho pode ser corrigido e retransmitido.
contingenciaOperacionalAutorizada na SEFAZ Virtual (SVC) ou emitida em contingência offline (NFC-e). A mercadoria pode circular com DANFE.
canceladaFinalCancelamento homologado na SEFAZ (cStat 135) após solicitação formal com justificativa dentro do prazo legal.
denegadaFinalA SEFAZ denegou o uso por irregularidade fiscal grave do emitente ou destinatário. O número não pode ser reutilizado.
inutilizadaFinalNúmero formalmente inutilizado na SEFAZ devido a salto ou falha irrecuperável na sequência da série.

Diagrama de Transições

  [ POST /nfe ] ──> rascunho ──> [ POST /send ] ──> processando
                                                          │
                       ┌──────────────────────────────────┴──────────────────────────────────┐
                       │                                  │                                  │
                       ▼                                  ▼                                  ▼
                  autorizada                            erro                            contingencia
                       │                          (corrige e reenvia)                        │
             ┌─────────┴─────────┐                        │                                  │
             ▼                   ▼                        ▼                                  ▼
          cancelada           denegada                inutilizada                    retransmissão normal
       (cStat 135 SEFAZ)   (irregularidade)     (POST /v1/nfe/inutilizar)            (probe en background)

Como Acompanhar a Autorização

Existem duas formas de receber a chave de acesso, o protocolo e os links de impressão:

1. Webhook em Tempo Real (Recomendado)

Assim que a SEFAZ processa o documento, o NFER envia um POST HTTPS para seu servidor com o evento nfe.autorizada ou nfe.erro. Latência média de 1 a 2 segundos.

2. Polling Prudente (Fallback)

Se seu sistema não puder receber webhooks, faça consultas periódicas via GET /v1/nfe/:id com intervalo de 3 a 5 segundos até que o status mude para um estado final.

Próximos Passos