API NFSe Nacional: entenda como funciona na prática — um guia para devs e ERPs

Ah, a NFS-e Nacional… 👀

Será que um dia emitir notas fiscais para cidades diferentes vai ser menos caótico do que o trânsito de São Paulo na hora do rush? 🚗🚗🚗

Com a API NFSe Nacional, em vez de adaptar seu sistema para cada prefeitura, agora existe uma chance real de lidar com tudo de forma padronizada, num só lugar — ou quase isso. 😅

Claro, tudo ainda depende da adesão dos municípios, mas a API começa a desenrolar esse nó fiscal, trazendo um padrão unificado que já alivia a vida de quem precisa lidar com notas de vários municípios

Neste guia, você entenderá o que é a API NFSe Nacional, como ela funciona (DPS → NFS-e → Eventos/DFe), quais são os requisitos técnicos e os endpoints que realmente importam.

Além de um passo a passo de integração e boas práticas de produção — Bora?! 👇

O que você precisa saber em 30 segundos (+sumário)

API NFSe Nacional: o que é e por que isso muda o jogo

A API NFSe Nacional é a porta de entrada para o Padrão Nacional de NFS-e.

Em vez de um labirinto de integrações por prefeitura, você lida com regras, layouts e fluxos únicos.

O resultado?

Menos tempo apagando incêndios e mais foco em construir produtos.

MEIs continuam podendo emitir notas pelo site ou app do governo, usando login via GOV.BR — simples e direto.

Mas pra quem desenvolve ERP, marketplace ou SaaS, a história muda.

A integração via API exige mTLS com certificado ICP-Brasil, XML assinado e trocas em JSON.

Pode parecer complexo, mas a boa notícia é que tudo isso tem um propósito: garantir segurança, validade jurídica e padronização.

E ao longo deste artigo, vamos esclarecer cada parte pra você entender como tudo se encaixa na prática.

Como funciona: do envio da DPS à distribuição dos DF-e

O fluxo é direto: você envia uma DPS e, no modo síncrono, recebe a NFS-e.

Com uma chave de acesso de 50 caracteres, você pode consultar o documento, baixar o DANFSe em PDF e registrar ou acompanhar eventos como cancelamento, crédito/débito ou apuração.

E usando o NSU (Número Sequencial Único), é possível recuperar DF-e emitidos em nome do seu CNPJ.

Isso concentra emissão, consulta e compliance no mesmo ecossistema.

Se o seu produto também lida com varejo B2C e NFC-e/NF-e, vale revisar os limites entre documentos de serviço e de mercadoria.

Requisitos técnicos: o que o seu stack precisa ter

Integrar com a API NFSe Nacional não exige um laboratório da NASA, mas tem alguns pré-requisitos importantes que você precisa conhecer antes de colocar a mão no código.

Começando pela segurança: a comunicação precisa acontecer com certificado digital do tipo A1 ou A3, emitido pela ICP-Brasil.

E não basta só ter o certificado — ele precisa estar configurado para autenticação mútua (o famoso mTLS), garantindo que tanto você quanto o outro lado da conversa saibam com quem estão falando.

Na parte de formato de dados, os pedidos e respostas seguem o padrão JSON nas rotas, mas os documentos fiscais em si (a NFS-e) continuam sendo XML.

A diferença é que, agora, esse XML precisa estar compactado (via GZip), codificado (em Base64) e devidamente assinado digitalmente.

Já do lado da operação, vale a pena tratar a DPS (Declaração Prévia de Serviços) como a base de tudo.

Ela é o que vai dar origem à NFS-e.

Também é importante ter uma estrutura para lidar com diferentes códigos de serviço e regras por município — mesmo com a padronização, algumas variações ainda existem.

Ah, e se você cuida da infraestrutura, prepare-se para lidar com rotação de certificados, organização de ambientes (produção, homologação, etc.) e boas práticas de segurança.

Endpoints essenciais (mapa rápido)

Antes dos bullets, um norte: abaixo estão as rotas do dia a dia — emissão/consulta da NFS-e, relação com a DPS, eventos (inclusive cancelamento), distribuição de DF-e por NSU e a consulta de parametrizações municipais (alíquota, convênio, regimes, retenções e benefícios).

Foque nelas para montar seu cliente HTTP e seus casos de teste.

  • NFS-e: POST /nfse (gera NFS-e a partir da DPS, síncrono) • GET /nfse/{chaveAcesso} (retorna XML GZip+Base64).
  • DPS: GET /dps/{id} (retorna chave de acesso) • HEAD /dps/{id} (verifica se já virou NFS-e).
  • Eventos: POST /nfse/{chaveAcesso}/eventos (registro) • GET /nfse/{chaveAcesso}/eventos (lista/leitura por tipo e sequência).
  • DANFSe: GET /danfse/{chaveAcesso} (PDF auxiliar para compartilhamento).
  • DFe: GET /DFe/{NSU} e GET /NFSe/{ChaveAcesso}/Eventos (distribuição de DF-e).
  • Parâmetros municipais: /parametros_municipais/{codigoMunicipio}/… (alíquotas, convênio, regimes especiais, retenções e benefícios).

Passo a passo de integração

Para sair do zero ao produção com previsibilidade, siga a sequência abaixo.

Ela cobre credenciamento, segurança, testes (inclusive falhas clássicas) e operação contínua:

  • Credenciamento: obtenha acesso ao Padrão Nacional e valide o certificado ICP-Brasil A1/A3 do cliente.
  • Ambiente: configure mTLS (truststore/keystore), base URLs, variáveis seguras e rotas de webhook.
  • Modelagem: defina a DPS como entidade idempotente; normalize serviços e parametrizações municipais.
  • Testes: “happy path” e falhas (assinatura, GZip/Base64, timeout, 429/rate limit, duplicidade de DPS).
  • Observabilidade: logs com correlation-id, métricas (p50/p95/p99), auditoria dos XMLs e alarmes por status-code.
  • Produção: retries com backoff, DLQ para reprocesso e política de rotação de certificados/secrets.

Se sua operação também exige documentos de transporte, confira o que mudou no CT-e. E para remessas sem obrigação de documento fiscal, entenda a DC-e obrigatória.

Boas práticas de produção (o que evita plantões)

Quer evitar dores de cabeça no ambiente de produção?

Comece implementando idempotência: deduplicar por idDps combinado com CNPJ, série e número é essencial para não correr o risco de autorizar a mesma NFS-e duas vezes.

Ao lidar com instabilidades, não basta dar retry automático: use retries com backoff exponencial e complemente com mecanismos como circuit breaker e jitter para evitar sobrecarga nos momentos mais críticos.

Outra prática importante é adotar webhooks para acompanhar DF-e e eventos emitidos contra o CNPJ do cliente. Assim, você evita varrer os endpoints com chamadas frequentes e ganha agilidade na atualização das informações.

Como as parametrizações municipais mudam com pouca frequência, vale a pena aplicar um cache tático com expiração coerente, e lógica clara para invalidar quando necessário — isso alivia o tráfego e melhora o desempenho.

Por fim, não negligencie a segurança: implemente rotação versionada de certificados e secrets, mantenha uma política de least privilege e garanta a segregação de ambientes (dev, homologação e produção) para minimizar riscos.

Boas práticas de produção (o que evita plantões)

Quer evitar dores de cabeça no ambiente de produção?

Comece implementando idempotência.

Garantir que cada idDps, junto com CNPJ, série e número, seja único evita que a mesma NFS-e seja autorizada duas vezes por engano — o tipo de bug que ninguém quer resolver na sexta-feira à noite.

Ao lidar com instabilidades, não basta simplesmente dar retry automático.

Use retries com backoff exponencial e, se possível, complemente com mecanismos como circuit breaker e jitter para evitar sobrecarga nos momentos mais críticos.

Outra prática que faz diferença é usar webhooks para acompanhar DF-e e eventos emitidos contra o CNPJ do cliente.

Assim, você recebe as atualizações de forma proativa, sem precisar ficar consultando os endpoints o tempo todo.

Como as parametrizações municipais mudam com pouca frequência, vale a pena aplicar um cache tático com expiração bem pensada e uma lógica clara de invalidação.

Isso ajuda a reduzir o tráfego e melhora o desempenho do seu sistema.

Por fim, mantenha a segurança em dia: faça a rotação periódica (e versionada) de certificados e secrets, adote a política de least privilege e garanta a separação entre ambientes como desenvolvimento, homologação e produção.

Pequenas práticas que evitam grandes problemas.

Erros comuns (e como resolver rápido)

  • 403 (mTLS): certificado inválido, cadeia incompleta ou CN/OU divergente. Revise truststore, finalidade e cadeia ICP-Brasil.
  • 400 (payload): XML sem GZip+Base64 ou fora do schema; valide localmente antes do POST.
  • 409 (duplicidade): DPS reenviada sem idempotência; reconcilie por chaves de negócio.
  • Assinatura XML: canonicalization/política incorreta; ajuste sua implementação de XMLDSIG.
  • Relógio: time drift quebra validações; sincronize NTP em toda a malha.

API Nacional x APIs municipais: quando usar cada uma

Se o município já é aderente ao padrão, use a API NFSe Nacional e colha padronização e escala.

Onde ainda não há adesão, a integração municipal continua sendo o caminho.

Na prática, muitos produtos convivem com ambos — a chave é ter uma camada de orquestração que escolha a rota por município/cliente.

Quer ver quem já aderiu? Consulte nosso mapa de adesão municipal.

Como a Nota Gateway pode ajudar

A Nota Gateway entrega uma única API para emissão de NFSe Nacional e integrações municipais legadas, com orquestração por município — com mais de 2.000 cidades suportadas.

Você foca no seu produto; nós seguramos a onda fiscal. 💜 Fale com a gente e acelere sua integração.

Receba em primeira mão as atualizações mais quentes sobre Legislação!

TOTVS, Conta Azul, Sankhya e diversas outras empresas já fazem parte da nossa comunidade. Entre você também!

Quero participar »
Rolar para cima