Você não aciona a contingência. A Spedy monitora a disponibilidade da
SEFAZ e decide automaticamente quando entrar e sair desse modo — não há
parâmetro na requisição de emissão para forçá-la, e o gatilho é o mesmo
para todas as empresas de uma UF. Sua integração continua chamando os
mesmos endpoints (
/orders, /product-invoices, /consumer-invoices),
com o mesmo payload.NF-e em contingência (SVC)
Quando a SEFAZ autorizadora da UF está indisponível, a autorização de NF-e passa a ser feita por um ambiente de contingência da própria SEFAZ — o SVC (Sistema Virtual de Contingência). Na prática, isso é transparente para a integração: a nota continua sendo autorizada de forma síncrona, com validade plena, apenas por um servidor alternativo. Ostatus segue
normalmente o fluxo até authorized, e o DANFE é gerado identificado como
emitido em contingência.
A forma de emissão fica registrada no campo InvoiceIssueType, cujos
valores relevantes para NF-e são:
InvoiceIssueType também inclui valores que não são de contingência de
NF-e: offLine (contingência offline de NFC-e, ver abaixo), website e
alt (canais de emissão de NFS-e) e annfs (Ambiente Nacional da NFS-e —
veja Reforma Tributária). Qual
modalidade de contingência de NF-e é usada em cada situação é decidido
pela Spedy/SEFAZ, não pelo integrador.NFC-e em contingência (offline)
Para NFC-e, o caminho de contingência é a emissão offline: a nota é válida no momento da emissão, sem depender de autorização síncrona da SEFAZ.O que o integrador precisa observar
- Nenhuma mudança na chamada de emissão. Contingência é decidida pela Spedy; seu código não precisa (e não deve tentar) escolher o modo de emissão.
- NF-e: a mudança é transparente — acompanhe o
statusnormalmente, sem lógica especial. A única diferença visível é oInvoiceIssueTypeda nota autorizada. - NFC-e: trate
inContingentcomo um estado intermediário legítimo — a venda já está completa (DANFE e XML disponíveis) mesmo antes da autorização definitiva chegar. Não bloqueie a operação esperandoauthorized. - Cancelamento: não tente cancelar uma NFC-e enquanto ela estiver
inContingent— a chamada será rejeitada até a autorização definitiva. - Webhooks: a entrada em contingência é sinalizada pelo evento
invoice.contingency, além das transições normais de status. Veja Eventos e payload para o formato — a própria página de eventos documenta uma divergência entre a prosa da API e o schemaWebhookEditingDtoquanto à assinatura desse evento especificamente; enquanto isso,invoice.status_changedcobre a transição parainContingentde qualquer forma.
Próximos passos
- Estados da nota, incluindo
inContingent: Ciclo de vida da nota - Formato do evento
invoice.contingencye demais eventos: Eventos e payload - Cancelamento, correção e inutilização: Cancelamento, correção e inutilização
- Configurar
tokenId/csc/allowOfflineContingency: Configuração inicial