Endpoints NF-e

Emitir, enviar, consultar, XML, DANFE, devoluções, cancelar, CC-e e inutilizar.

Referência completa e detalhada dos endpoints REST da NFER para NF-e (Nota Fiscal Eletrônica — Modelo 55) e DC-e. A API permite emitir notas fiscais, gerar arquivos XML e DANFE PDF (A4), gerenciar devoluções de e-commerce, cancelamentos e cartas de correção (CC-e) com sincronização direta na SEFAZ. Para emissão de Cupom Fiscal Eletrônico (Modelo 65), consulte a seção dedicada de Endpoints NFC-e.

BASE URL
https://api.nfer.me/v1

Ciclo de Vida da NF-e (Como Emitir)

A emissão na NFER é projetada para ser rápida, resiliente e imune a lentidões da SEFAZ. O fluxo é dividido em 3 etapas simples:

1POST /v1/nfe

Criar Rascunho

Gera o rascunho da nota, calcula impostos e reserva o próximo número sequencial. Responde 201 Created em ~50ms.

2POST /v1/nfe/:id/send

Enfileirar Envio

Assina com o certificado A1 e envia à SEFAZ via fila assíncrona. Responde 202 Accepted imediatamente.

3Webhook / Poll

Obter Resultado

Seu backend recebe o webhook nfe.autorizada com a chave de 44 dígitos e o protocolo, ou faz polling em GET /v1/nfe/:id.

Por que a transmissão (/send) é assíncrona?

Servidores da SEFAZ frequentemente demoram entre 2 a 15 segundos para autorizar lotes ou sofrem instabilidades. Com o modelo assíncrono (HTTP 202), seu ERP ou checkout nunca trava esperando a SEFAZ. O NFER cuida de fila, retentativas e contingência automática (SVC).

Tabela Geral de Endpoints

MétodoEndpointDescriçãoStatus HTTP
POST/v1/nfeCria rascunho de NF-e (modelo 55) com número reservado201 Created
POST/v1/nfe/:id/sendAssina e envia a nota para autorização na SEFAZ202 Accepted
GET/v1/nfe/:idConsulta dados completos da nota, status e itens200 OK
PUT/v1/nfe/:idCorrige dados de nota rejeitada mantendo o mesmo número200 OK
GET/v1/nfe/:id/xmlBaixa o arquivo XML assinado e autorizado200 XML
GET/v1/nfe/:id/danfeBaixa o documento PDF do DANFE formatado200 PDF
POST/v1/nfe/:id/devolucaoGera rascunho automático de devolução/troca201 Created
POST/v1/nfe/:id/cancelCancela nota fiscal autorizada (prazo SEFAZ de 24h)202 Accepted
POST/v1/nfe/:id/correction-letterEmite Carta de Correção Eletrônica (CC-e)202 Accepted
POST/v1/nfe/inutilizarInutiliza faixa numérica não utilizada na SEFAZ200 OK
POST/v1/nfe/batchEmissão assíncrona em lote (até 50 notas)202 Accepted
POST/v1/nfceCria rascunho de NFC-e (modelo 65 - Cupom)201 Created
POST/v1/dceCria Declaração de Conteúdo Eletrônica (e-commerce)201 Created
GET/v1/nfeLista notas emitidas com paginação e filtros de data200 OK
GET/v1/sefaz/statusStatus operacional do autorizador SEFAZ da UF200 OK
GET/v1/sefaz/consulta-cadastroConsulta de cadastro SEFAZ/Sintegra (IE, Razão Social e status)200 OK

1. Criar Rascunho de NF-e (POST /v1/nfe)

Você pode passar o destinatário de duas formas: diretamente no corpo da requisição (customer) ou usando o ID de um cliente previamente cadastrado (customerId).

POST/v1/nfe

Cria o rascunho da NF-e, calcula os impostos pelos perfis fiscais e reserva o número.

Exemplo 1: Destinatário Inline (Recomendado para E-commerce)

Venda pela internet para consumidor final (não contribuinte), com frete e pagamento via PIX.

indFinal: 1 = Consumidor final.

indPres: 2 = Operação não presencial (internet).

fiscalProfileId = Aplica tributação e CFOP configurados no painel.

1
2
3
4
5
6
7
8
9
10
11
12
{
"customer": {
"cpfCnpj": "12345678000199",
"nome": "Cliente Exemplo LTDA",
"email": "fiscal@cliente.com",
"telefone": "4430000000",
"endereco": {
"logradouro": "Rua das Flores",
"numero": "100",
"complemento": "Sala 2",
"bairro": "Centro",
"xMun": "Cianorte",

Tabela de Parâmetros Principais (POST /v1/nfe)

CampoTipoObrigatórioDescrição e Valores
customerobjetoum dos doisDados cadastrais do cliente destinatário no próprio payload.
customerIdstring (UUID)um dos doisID de cliente já salvo no NFER (POST /v1/customers).
naturezaOperacaostringsimEx.: "VENDA DE MERCADORIA", "DEVOLUCAO DE COMPRA", "REMESSA".
tipoOperacaostring ("0"|"1")não (def. "1")"1" = Saída (venda/remessa), "0" = Entrada (devolução/compra).
finalidadenumber (1..4)não (def. 1)1 = Normal, 2 = Complementar, 3 = Ajuste, 4 = Devolução.
serienumbernão (def. 1)Série da nota fiscal na SEFAZ (ex.: 1).
indFinalnumber (0|1)não (def. 0)1 = Consumidor final (e-commerce e pessoa física), 0 = Revenda.
indPresnumber (0..9)não (def. 1)1 = Presencial, 2 = Internet/Não presencial, 9 = Outros.
itensarraysimLista de itens. Requer codigo, descricao, ncm, quantidade e valorUnitario.
pagamentosarraysim (opcional em devolução)01=Dinheiro, 03=Cartão Crédito, 04=Cartão Débito, 17=PIX, 90=Sem Pagamento. Em devolução (finalidade 4) e ajuste (3), é preenchido automaticamente com forma "90" e valor 0 se omitido.
valorFretenumbernãoValor do frete somado automaticamente ao total da nota.
transporteobjetonãoModalidade do frete (modFrete: 0=Remetente, 1=Destinatário, 9=Sem frete).
informacoesAdicionaisstringnãoObservações fiscais impressas no DANFE e gravadas no XML.
canal / plataforma / tagstringnãoEtiqueta opcional de canal de venda ou origem comercial (ex.: "Mercado Livre", "Shopify", "PDV Balcão", "Loja Física").

2. Transmitir para a SEFAZ (POST /v1/nfe/:id/send)

Dispara a assinatura digital com certificado A1 e o envio do lote para os servidores da SEFAZ estadual.

POST/v1/nfe/:id/send

Enfileira o envio para a SEFAZ. Responde HTTP 202 com status 'processando'.

1
2
3
curl -s -X POST https://api.nfer.me/v1/nfe/8f21ac-uuid/send \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json"

Resposta imediata da fila:

1
2
3
4
5
6
7
{
"id": "8f21ac-uuid",
"status": "processando",
"numero": 1042,
"serie": 1,
"message": "Nota fiscal enviada para a fila de processamento da SEFAZ"
}

3. Consultar Status e Dados (GET /v1/nfe/:id)

Retorna todos os dados da nota fiscal, incluindo chave de acesso de 44 dígitos, protocolo de autorização, valores calculados e mensagens de erro da SEFAZ caso tenha sido rejeitada.

GET/v1/nfe/:id

Retorna o objeto completo da NF-e, status (rascunho, processando, autorizada, erro, cancelada).

1
2
curl -s https://api.nfer.me/v1/nfe/8f21ac-uuid \
-H "X-API-Key: $NFER_KEY"

4. Corrigir e Reenviar Nota com Erro (PUT /v1/nfe/:id)

Se a SEFAZ rejeitar a nota (ex: cStat 321 ou 539), nunca gere um novo rascunho. Atualize os dados da mesma nota usando PUT /v1/nfe/:id e chame /send novamente. Isso garante que o mesmo número sequencial seja utilizado, sem furos de numeração.

PUT/v1/nfe/:id

Substitui os dados do rascunho ou de nota com erro para reenviar à SEFAZ.

1
2
3
4
5
6
7
8
9
# 1. Atualiza os dados com o body corrigido
curl -s -X PUT https://api.nfer.me/v1/nfe/8f21ac-uuid \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{ ...body corrigido... }'
# 2. Reenvia a mesma nota para a SEFAZ
curl -s -X POST https://api.nfer.me/v1/nfe/8f21ac-uuid/send \
-H "X-API-Key: $NFER_KEY"

5. Download de XML e DANFE PDF

Após a autorização na SEFAZ, o NFER armazena o XML protocolado e gera o DANFE em PDF de alta qualidade para impressão.

GET/v1/nfe/:id/xml

Retorna o XML oficial assinado e protocolado pela SEFAZ (Content-Type: application/xml).

GET/v1/nfe/:id/danfe

Gera o arquivo PDF do DANFE pronto para impressão (suporta ?formato=a4 ou ?formato=simplificado_tipo2).

GET/v1/nfe/:id/escpos

Retorna comandos binários ESC/POS para impressão térmica direta (suporta ?largura=80|58&cut=true&format=raw|base64).

Baixar XML Protocolado

O arquivo contém as tags <nfeProc> e <protNFe> exigidas pelo Fisco.

1
2
curl -s https://api.nfer.me/v1/nfe/$NFE_ID/xml \
-H "X-API-Key: $NFER_KEY" -o nfe.xml

Baixar DANFE em PDF

Suporta formato tradicional folha A4 ou bobina térmica (Simplificado 2.0).

1
2
3
4
5
# Folha A4 tradicional (B2B / transporte):
curl -s "https://api.nfer.me/v1/nfe/$NFE_ID/danfe?formato=a4&api_key=$NFER_KEY" -o danfe.pdf
# Bobina térmica 80mm (Simplificado 2.0 - NT 2026.003):
curl -s "https://api.nfer.me/v1/nfe/$NFE_ID/danfe?formato=simplificado_tipo2&api_key=$NFER_KEY" -o cupom.pdf

DANFE Simplificado Tipo 2 em Bobina Térmica — NT 2026.003 v1.00 (tpImp = 6)

Instituído pelo Ajuste SINIEF 13/2026 e regulamentado pela Nota Técnica NT 2026.003 v1.00, o DANFE Simplificado Tipo 2 permite imprimir a NF-e (modelo 55) em bobina contínua de impressora térmica (largura de 80mm ou 58mm).

Para quem é e por que usar: Varejistas, atacadistas com balcão de vendas, distribuidores, materiais de construção e autopeças. Em vez de operar com dois modelos fiscais e certificados separados (NFC-e para consumidor e NF-e para empresas), o estabelecimento unifica 100% das emissões na NF-e modelo 55, imprimindo o cupom térmico no balcão com agilidade para pessoas físicas ou jurídicas (com direito a crédito tributário de ICMS, IBS e CBS).

Estrutura das 9 Divisões Oficiais (NT 2026.003)

  • Divisão I: Cabeçalho e dados do estabelecimento emitente
  • Divisão II: Dados da NF-e (número, série, data/hora local e protocolo)
  • Divisão III & III-A: Produtos, tributos totais e IBS/CBS/IS (Reforma)
  • Divisão IV: Formas de pagamento, valores e troco
  • Divisão V & VI: Chave de 44 dígitos e QR Code Versão 3
  • Divisão VII: Identificação do destinatário (PJ ou PF)
  • Divisão VIII: Mensagem fiscal de contingência (quando aplicável)
  • Divisão IX: Mensagem do contribuinte (infCpl e rodapé)

Especificações Técnicas no NFER

  • Campo tpImp = 6: Sinaliza no XML da NF-e que o documento é emitido no formato Simplificado Tipo 2.
  • QR Code Versão 3: Gerado com nível M de correção de erro (15%) e link oficial do Ambiente Nacional/Estadual.
  • Contingência com 2 Vias: Em contingência offline (tpEmis = 9), a NT 2026.003 exige a impressão da Via do Consumidor e da Via do Estabelecimento. O NFER emite ambas automaticamente.
  • Alinhamento do QR Code: Suporta alinhamento à esquerda (?qr_position=esquerda - padrão NT) ou centralizado (?qr_position=centralizado).

Impressão Térmica Direta ESC/POS (PDVs, Totens e Balcão)

Para quem é e para que serve: Desenvolvido para desenvolvedores de Frente de Caixa (PDV), terminais de autoatendimento e sistemas de balcão. O ESC/POS é o protocolo binário nativo de impressoras térmicas não-fiscais (Epson, Elgin, Bematech, Daruma, etc.). Em vez de abrir a tela de PDF do navegador (Ctrl+P), seu sistema envia os bytes diretamente para a porta USB/Rede (/dev/usb/lp0 ou socket TCP), imprimindo em milissegundos com corte de guilhotina automático.

Modelo FiscalComportamento PadrãoRetorno de ESC/POS
NFC-e (Modelo 65)Cupom fiscal de venda ao consumidor no varejo.Sempre disponível no GET /v1/nfce/:id, no webhook nfe.autorizada e em /escpos.
NF-e (Modelo 55) em BobinaEmitida com tpImp: 6 ou empresa com nfeDanfeFormat: "simplificado_tipo2".Disponível no GET /v1/nfe/:id, no webhook nfe.autorizada e em /escpos.
NF-e (Modelo 55) Normal A4Layout padrão tradicional folha inteira A4 (B2B, atacado, frete).Retorna null para escpos (apenas danfe_url em PDF A4).
1
2
3
4
5
6
7
8
9
10
# 1. Obter binário puro pronto para enviar à impressora (spooler / lp / socket)
curl -s "https://api.nfer.me/v1/nfe/$NFE_ID/escpos?largura=80&cut=true" \
-H "X-API-Key: $NFER_KEY" > /dev/usb/lp0
# 2. Obter em Base64 para envio via WebSocket ou aplicação desktop
curl -s "https://api.nfer.me/v1/nfe/$NFE_ID/escpos?format=base64" \
-H "X-API-Key: $NFER_KEY"
# 3. Via URL pública (acesso direto pela chave de acesso)
curl -s "https://danfe.nfer.me/escpos/$CHAVE_ACESSO?largura=80"

Como definir o formato padrão da sua empresa via API?

Você pode atualizar a empresa via PUT /v1/companies/:id enviando { "nfeDanfeFormat": "a4" } (padrão) ou { "nfeDanfeFormat": "simplificado_tipo2" } (bobina térmica 80mm). Na emissão individual, envie tpImp: 6 no body do POST /v1/nfe para forçar uma nota específica em bobina.

6. Nota de Devolução e Troca (E-commerce e Varejo) — NT 2025.002 (Regra VC02-14)

Quando um cliente pede troca ou devolução de um pedido cujo prazo de cancelamento (24h) já expirou, a legislação fiscal brasileira exige a emissão de uma Nota Fiscal de Devolução de Entrada (finalidade 4). Desde 01/09/2026, a SEFAZ exige estritamente a amarração de documento fiscal referenciado por item no grupo <DFeReferenciado> (regra VC02-14 da NT 2025.002), além de pagamento forma: "90" (Sem Pagamento, valor 0.00).

POST/v1/nfe/:id/devolucao

Clona a nota original, inverte CFOPs (ex: 5102→1202), define tipo 0 (Entrada) e vincula nfeReferenciada.

CenárioO que fazerEfeito Fiscal e Estoque
Devolução de MercadoriaEmite NF-e de Entrada (tipo 0, finalidade 4) referenciando a chave da venda original.Anula os impostos da venda original e registra a reentrada do item no estoque.
Troca de Produto no E-commerce1. Emite NF-e de Devolução (Entrada) 2. Emite nova NF-e de Saída para o item substituto.Estorna contabilmente o item anterior e formaliza a remessa do novo produto com rastreio.
Atalho NFER (/devolucao)POST /v1/nfe/:id/devolucao na nota autorizada.O NFER preenche automaticamente tipo=0, finalidade=4, CFOPs de devolução e chave vinculada!
1
2
3
4
5
6
7
8
9
10
11
12
# 1. Gera o rascunho de devolução total (todos os itens):
curl -s -X POST https://api.nfer.me/v1/nfe/$NFE_ORIGINAL_ID/devolucao \
-H "X-API-Key: $NFER_KEY"
# OU gera devolução parcial (apenas itens/quantidades específicos):
curl -s -X POST https://api.nfer.me/v1/nfe/$NFE_ORIGINAL_ID/devolucao \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"itens": [
{ "numeroItem": 1, "quantidade": 1 }
]

7. Cancelamento de NF-e (POST /v1/nfe/:id/cancel)

O cancelamento só pode ser solicitado se a mercadoria ainda não saiu para entrega e dentro do prazo legal da SEFAZ estadual (geralmente 24 horas). A justificativa deve conter no mínimo 15 caracteres.

POST/v1/nfe/:id/cancel

Envia evento de cancelamento para a SEFAZ. Responde HTTP 202 com status 'processando'.

1
2
3
4
5
6
curl -s -X POST https://api.nfer.me/v1/nfe/$NFE_ID/cancel \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"justificativa": "Cancelamento solicitado pelo cliente antes do envio"
}'

8. Carta de Correção Eletrônica — CC-e (POST /v1/nfe/:id/correction-letter ou /v1/nfe/:id/cce)

A Carta de Correção Eletrônica (CC-e) é usada para sanar erros simples em notas fiscais já autorizadas sem anular o documento original. O evento deve ser transmitido em até 720 horas (30 dias) após a autorização da NF-e.

✅ O que PODE ser corrigido via CC-e:

  • Dados do transportador, placa do veículo, peso e volumes.
  • CFOP ou CST (desde que não altere alíquotas ou valores fiscais).
  • Descrição complementar do produto, código interno ou lote.
  • Informações adicionais do contribuinte e endereço (complemento/número).

❌ O que NÃO PODE ser corrigido (Vedações SEFAZ):

  • Valores totais, quantidade tributável, base de cálculo ou alíquotas.
  • Mudança total do CNPJ/CPF ou Razão Social do destinatário/emitente.
  • Data de emissão da nota ou data de saída da mercadoria.
POST/v1/nfe/:id/correction-letter

Alias aceito: /v1/nfe/:id/cce. Mínimo 15 e máximo 1000 caracteres.

GET/v1/nfe/:id/dacce

Download/Visualização do PDF do Comprovante de CC-e (DACCE) em PDF.

ParâmetroTipoObrigatórioDescrição
correcaostringSimTexto explicativo com a correção (entre 15 e 1000 caracteres)
sequenciaintegerOpcionalSequência da CC-e (1 a 20). Se omitido, o NFER calcula e incrementa automaticamente.

Comprovante DACCE e XML do Evento

Após a homologação pela SEFAZ, o NFER disponibiliza o DACCE (Documento Auxiliar da Carta de Correção Eletrônica) em PDF com QR Code do Fisco e cabeçalho de autenticidade através do endpoint GET /v1/nfe/:id/dacce (ou alias GET /v1/nfe/:id/cce/pdf). O XML do evento fica vinculado à NF-e em GET /v1/nfe/:id.

Regra da Consolidação (SEFAZ)

Se você emitir mais de uma CC-e para a mesma NF-e, a última carta de correção sobrescreve e anula as anteriores. Por isso, a nova CC-e deve conter o texto de todas as correções anteriores combinadas com a nova alteração.
1
2
3
4
5
6
7
curl -s -X POST https://api.nfer.me/v1/nfe/$NFE_ID/correction-letter \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"correcao": "Onde se le Rua das Flores 100, leia-se Rua das Flores 102 Sala 4. Transportadora XYZ placa ABC-1234.",
"sequencia": 1
}'
1
2
3
4
{
"message": "Correction letter queued",
"jobId": "job_cce_9a8b7c6d5e"
}

9. Inutilização de Numeração (POST /v1/nfe/inutilizar)

Se houve uma quebra na sequência de numeração fiscal (ex: pulou do número 105 para o 110 por falha interna do ERP ou interrupção de rede), você deve justificar a inutilização desses números perante a SEFAZ até o 10º dia do mês seguinte para evitar autuações fiscais.

Modelos suportados: NF-e (modelo: "55"), NFC-e (modelo: "65") e CT-e (modelo: "57", também disponível via POST /v1/cte/inutilizar). Documentos de serviço (NFS-e Nacional / ADN) e Declaração de Conteúdo (DC-e) não possuem evento fiscal de inutilização na legislação brasileira.

POST/v1/nfe/inutilizar

Inutiliza faixa de números na SEFAZ (síncrono). Suporta modelos 55, 65 e 57.

1
2
3
4
5
6
7
8
9
10
curl -s -X POST https://api.nfer.me/v1/nfe/inutilizar \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"serie": 1,
"numeroInicial": 106,
"numeroFinal": 109,
"justificativa": "Numeros pulados por falha na integracao do software emissor",
"modelo": "55"
}'

10. Emissão em Lote (POST /v1/nfe/batch)

Permite enviar até 50 notas de uma única vez para processamento paralelo de alta velocidade. Ideal para fechamento de vendas diárias ou expedições de e-commerce.

POST/v1/nfe/batch

Envia lista de payloads (mesmo JSON de POST /nfe). Responde 202 com batchId.

GET/v1/nfe/batch/:batchId

Acompanha o progresso do lote e o status de cada nota.

1
2
3
4
5
6
7
8
9
curl -s -X POST https://api.nfer.me/v1/nfe/batch \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"notas": [
{ "naturezaOperacao": "VENDA", "itens": [...], "pagamentos": [...] },
{ "naturezaOperacao": "VENDA", "itens": [...], "pagamentos": [...] }
]
}'

11. NFC-e — Cupom Fiscal Eletrônico (Modelo 65)

Para ponto de venda (PDV) e frente de caixa. O destinatário é opcional (venda anônima no balcão). Para emissões com CPF na nota, envie o objeto customer (com CPF e nome) inline no payload, ou referencie um customerId existente. Requer o CSC (nfceIdCsc e nfceTokenCsc) configurado no cadastro da empresa.

POST/v1/nfce

Cria rascunho de cupom NFC-e modelo 65.

POST/v1/nfce/:id/send

Envia o cupom para autorização na SEFAZ.

GET/v1/nfce/:id

Consulta a NFC-e. Quando autorizada, retorna os links de XML, DANFE e comandos ESC/POS em Base64.

GET/v1/nfce/:id/escpos

Gera o buffer binário de impressão térmica ESC/POS para 80mm ou 58mm (direto para USB/TCP 9100).

GET/v1/nfce/:id/xml

Download do XML da NFC-e autorizada.

1
2
3
4
5
6
7
8
9
10
11
12
curl -s -X POST https://api.nfer.me/v1/nfce \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"naturezaOperacao": "VENDA AO CONSUMIDOR",
"serie": 1,
"indFinal": 1,
"indPres": 1,
"customer": {
"cpfCnpj": "123.456.789-00",
"nome": "João da Silva",
"email": "joao.silva@email.com"

Tabela de Parâmetros Principais (POST /v1/nfce)

CampoTipoObrigatórioDescrição e Valores
customerobjetonãoDados do consumidor para CPF na nota (cpfCnpj e nome para identificação; email e telefone opcionais). Se omitir endereço no balcão, o NFER preenche automaticamente com a localidade do emitente.
customerIdstring (UUID)nãoID de cliente já salvo no NFER (POST /v1/customers). Se omitido junto com customer, emite como "Consumidor não identificado".
destinatarioobjetonãoAlias idêntico a customer para compatibilidade de sistemas de PDV.
naturezaOperacaostringnão (def. "VENDA AO CONSUMIDOR")Descrição da operação fiscal perante a SEFAZ.
serienumbernão (def. 1)Série da NFC-e (modelo 65) cadastrada na SEFAZ.
indPresnumber | stringnão (def. "9")Indicador de presença: 1 = Balcão/Presencial, 4 = Entrega a domicílio (Delivery NFC-e), 9 = Outros.
indFinalnumber | stringnão (def. 1)Consumidor final. Na NFC-e modelo 65 é sempre 1.
itensarraysimLista de itens vendidos. Aceita fiscalProfileId ou tributos manuais (ICMS, PIS, COFINS).
pagamentosarraysimFormas de pagamento: 01=Dinheiro, 03=Cartão de Crédito, 04=Cartão de Débito, 17=PIX.
informacoesAdicionaisstringnãoMensagens de rodapé impressas no cupom térmico e gravadas na tag infCpl do XML.

Impressão Térmica Direta (ESC/POS) e PDF Sob Demanda

Para PDVs e terminais de caixa, a NFER gera comandos nativos de bobina térmica ESC/POS (suporte a Epson, Elgin, Bematech, Daruma e maquininhas Smart POS Android) com QR Code desenhado em hardware e corte de papel automático:

  • Retorno imediato no JSON / Webhook: Ao autorizar, o GET /v1/nfce/:id e o evento de webhook nfe.autorizada já entregam a chave escpos (Base64) e escpos_url, permitindo cuspir os dados para o spooler sem fazer requisições extras.
  • Endpoint Dedicado: GET /v1/nfce/:id/escpos?largura=80 (ou largura=58, cut=false, format=raw|base64|json). O formato raw retorna application/octet-stream pronto para envio via raw TCP socket (porta 9100) ou porta serial/USB.
  • PDF Sob Demanda: O PDF do DANFE não bloqueia o worker na emissão da NFC-e ou NFS-e. Ele é gerado e armazenado em cache no storage sob demanda apenas se alguém acessar o link /danfe/:chave, mantendo a autorização ultrarrápida (sub-segundo).
1
2
3
4
5
6
7
8
# Baixar buffer binário para enviar à porta 9100 da impressora
curl -s -X GET "https://api.nfer.me/v1/nfce/18f4a132-728b-4d43-982c-fb75c2e19a4e/escpos?largura=80" \
-H "X-API-Key: $NFER_KEY" \
--output cupom.bin
# Obter JSON com Base64
curl -s -X GET "https://api.nfer.me/v1/nfce/18f4a132-728b-4d43-982c-fb75c2e19a4e/escpos?format=json" \
-H "X-API-Key: $NFER_KEY"

12. SEFAZ — Status & Consulta de Cadastro (Sintegra)

Endpoints diretos de comunicação com os autorizadores estaduais da SEFAZ. Permite verificar a disponibilidade em tempo real da SEFAZ estadual e validar a situação cadastral de clientes (IE oficial, Razão Social e endereço fiscal) via protocolo mTLS com o Certificado Digital A1 da sua empresa.

GET/v1/sefaz/status

Verifica o status operacional da SEFAZ da UF da empresa (cStat 107 = Serviço em Operação).

GET/v1/sefaz/consulta-cadastro

Consulta a situação cadastral do contribuinte na SEFAZ (CadConsultaCadastro4) via CNPJ, CPF ou IE.

1
2
curl -s -X GET "https://api.nfer.me/v1/sefaz/consulta-cadastro?uf=MG&cnpj=31285038000181" \
-H "X-API-Key: $NFER_KEY"
1
2
3
4
5
6
7
8
9
10
11
12
{
"success": true,
"found": true,
"cStat": "111",
"xMotivo": "Consulta cadastro com uma ocorrencia",
"uf": "MG",
"documento": "31285038000181",
"tipoDocumento": "CNPJ",
"cadastro": {
"cnpj": "31285038000181",
"ie": "0032608400011",
"uf": "MG",