2xx
de um endpoint de emissão como “nota emitida”. A API da Spedy é
assíncrona: a resposta HTTP confirma apenas que a solicitação foi aceita
para processamento, não que a nota foi autorizada pela SEFAZ ou pela
prefeitura.
Por que é assíncrono
Autorizar uma nota fiscal depende de um sistema fora da Spedy — a SEFAZ do estado ou a prefeitura do município — que pode levar de alguns segundos a, em cenários de indisponibilidade (contingência), horas ou dias para responder. Se a API da Spedy segurasse a conexão HTTP até ter esse resultado, qualquer lentidão ou instabilidade do lado da autoridade fiscal travaria sua integração. Por isso a emissão funciona em duas fases desacopladas:- Aceite da solicitação — resposta HTTP imediata (2xx), confirmando que os dados foram recebidos e a nota entrou na fila de processamento.
- Processamento fiscal — a Spedy envia o lote à SEFAZ/prefeitura, aguarda o retorno e atualiza o status da nota de forma assíncrona, independente da chamada HTTP original.
created, enqueued, received,
authorized, rejected, inContingent, denied, canceled — e as
transições entre eles estão documentados em Ciclo de vida da
nota.
Como acompanhar o resultado
Como a resposta HTTP não carrega o veredito final, seu sistema precisa de uma forma de saber quando a nota chegou a um estado terminal. Há dois mecanismos, e eles não são intercambiáveis:Não faça polling apertado logo após o
issue esperando a nota “ficar
pronta”. Prefira webhooks para ser notificado no momento da mudança de
status; use consulta de status apenas quando precisar do estado atual sob
demanda.Resumo
- Síncrono é só o aceite HTTP: confirma que a Spedy recebeu a solicitação, nada além disso.
- Assíncrono é o processamento fiscal real: pode levar segundos ou, em contingência, muito mais — veja Contingência.
- O único jeito confiável de saber se uma nota foi autorizada é observar o
statusvia webhook ou consulta — nunca o código HTTP da chamada de emissão.