2xx confirma apenas que a solicitação foi aceita para
processamento — não que ela foi autorizada pela SEFAZ ou pela prefeitura. O
status evolui em segundo plano até um estado final (authorized,
rejected etc.). Veja Ciclo de vida da
nota para a máquina de estados
completa.
Webhooks são a forma recomendada de acompanhar essas transições: em vez de o
seu sistema perguntar repetidamente “já autorizou?” (polling), a Spedy
avisa proativamente com um HTTP POST assim que o evento acontece.
Por que usar webhooks em vez de polling
- Menos latência. Você é notificado no momento em que o status muda, em vez de esperar o próximo ciclo de consulta.
- Menos carga. Elimina chamadas repetidas a
GET /v1/{modelo}-invoices/{id}só para verificar se algo mudou — a maioria delas retornaria “sem novidade”. - Menos código de orquestração. Seu sistema reage a eventos em vez de manter um scheduler de consultas para cada nota em andamento.
Webhooks não substituem totalmente a consulta por API. Entregas podem
falhar ou, no limite, o webhook pode ser desabilitado após esgotar as
retentativas (veja Gerenciamento de
webhooks). Trate os endpoints de consulta
como a fonte de verdade para reconciliação.
Webhook é por conta, não por empresa
Um webhook é configurado uma vez por conta, não por empresa. Uma única configuração recebe eventos de todas as empresas cadastradas na conta — não é necessário (nem possível) criar um webhook separado para cada CNPJ. Para identificar qual empresa gerou um evento recebido, use o objetocompany presente no data do payload (veja Eventos e
payload).
Como começar
- Escolha os eventos que interessam à
sua integração — na maioria dos casos,
invoice.status_changedsozinho já cobre todo o ciclo de vida da nota. - Crie o webhook via
POST /v1/webhooks, informandoeventeurl. Veja os exemplos em Gerenciamento de webhooks. - Implemente o endpoint que recebe o POST e responda
2xxrapidamente. - Trate a entrega como best-effort: eventos podem chegar fora de ordem ou,
em cenários raros, não chegar. Reconcilie pelo
statusda nota consultando os endpoints de leitura (GETna nota) e deduplique peloiddo evento.
Gerenciamento de webhooks
Crie, edite, desabilite e reative webhooks via API. Política de retry.
Eventos e payload
Tipos de evento disponíveis e o formato completo do payload.