API de NFS-e pelo padrão Nacional: emissão, consulta e webhooks
Seu sistema emite a nota no instante da venda: um POST /notas devolve a NFS-e autorizada no padrão Nacional, com XML, PDF e chave de acesso. Autenticação Bearer por CNPJ, idempotência por referência externa, sandbox e sete webhooks assinados — a integração fica de pé em uma tarde.
Crie a chave e teste no sandbox agora. Plano grátis, 25 notas por mês.
Começar grátisO que a API cobre
- Emitir, consultar, cancelar e substituir notas;
- Notas recebidas contra o CNPJ (DistDFe) e sincronização;
- Clientes/tomadores e certificado digital;
- Fechamento de competência (pacote ZIP + CSV e envio ao contador);
- Uso e cota do plano; rotação de chave; simulação de retenções.
Emitir uma nota
curl -X POST "https://robofiscal.com.br/app/api/v1/notas" \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{"cliente_id": 12, "valor_servico": 1500.00,
"discriminacao": "Consultoria de marketing — agosto/2026",
"referencia_externa": "pedido-889"}'
A chave é por CNPJ e identifica a empresa emitente — não se envia CNPJ nas requisições. Com a empresa em ambiente producao, esta chamada emite documento fiscal real e irreversível; teste antes no sandbox.
Idempotência: retry não duplica nota
Emitir nota é irreversível, então a API é idempotente por desenho: envie referencia_externa com o identificador do seu pedido e, se a chamada repetir por timeout, a API devolve a nota que já existe com "idempotente": true em vez de emitir outra. As demais rotas de escrita aceitam o header Idempotency-Key com a mesma garantia.
Webhooks: sete eventos, assinados
| Evento | Dispara quando |
|---|---|
nota.autorizada | a SEFIN autoriza uma nota sua |
nota.rejeitada | a SEFIN rejeita a emissão |
nota.cancelada | uma nota sua é cancelada |
recebida.nova | chega documento novo emitido contra o seu CNPJ |
certificado.vencendo | seu A1 se aproxima do vencimento |
plano.limite_atingido | a cota mensal do CNPJ é atingida |
evento.oficio | o município age de ofício sobre uma nota |
Cada entrega leva X-Robofiscal-Signature — HMAC SHA-256 de timestamp.corpo com o segredo mostrado uma única vez no cadastro. Endpoint fora do ar? A entrega é retentada em 5 min, 30 min, 1 h, 3 h e 24 h; depois vai para a fila de falhas definitivas, de onde sai por replay. O payload identifica a empresa pelo CNPJ, nunca por id interno.
Sandbox: teste sem certificado
Empresa em ambiente sandbox monta e grava a DPS sem ir à SEFIN — a chave começa com SANDBOX e nada emitido ali tem valor fiscal. É o lugar de errar à vontade antes de ir a produção.
Limites e cotas
| Limite | Valor | Onde aparece |
|---|---|---|
| Requisições | 120 por minuto, por chave | headers X-RateLimit-* |
| Cota mensal de notas | Grátis 25 · Pro 250 · Max 2.000 (por CNPJ) | headers X-Quota-* |
| Falhas de autenticação | 20 por 10 min, por IP | HTTP 429 |
Documentação
Swagger completo no painel, especificação OpenAPI aberta e o /llms.txt — se você está integrando com ajuda de uma IA, aponte o agente para lá: ele traz o que a API faz, o que não faz e as regras que um gerador de código precisa respeitar.
Perguntas frequentes
A API emite nota de verdade?
Sim — com a empresa em ambiente producao, POST /notas gera documento fiscal real e irreversível. Teste antes em sandbox, que monta a DPS sem ir à SEFIN.
Como a chave identifica a empresa?
A chave é por CNPJ; não se envia CNPJ nas requisições. Multi-CNPJ = uma chave por empresa, isoladas entre si.
Tem sandbox?
Sim, sem certificado: a DPS é montada e gravada, mas não vai à SEFIN. A chave de sandbox começa com SANDBOX e nada emitido ali tem valor fiscal.
O que acontece se meu endpoint de webhook cair?
A entrega é retentada em 5 min, 30 min, 1 h, 3 h e 24 h; depois vai para a fila de falhas definitivas, de onde você a reenvia por replay.
Comece pelo plano grátis: 25 notas por mês, sem cartão de crédito.
Começar grátisPublicado em 23/08/2026 · Atualizado em 23/08/2026 · RoboFiscal — Mahalo Ventures Ltda