Endpoints NFC-e

Emitir cupom fiscal, ESC/POS térmico (80mm/58mm), XML, DANFE e cancelamento.

Referência completa dos endpoints REST da NFER para emissão e gestão de NFC-e (Nota Fiscal de Consumidor Eletrônica — Modelo 65). A API oferece autorização assíncrona ultra rápida, geração nativa de comandos térmicos ESC/POS (80mm e 58mm) para impressoras de balcão e DANFE sob demanda.

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

Tabela Geral de Endpoints NFC-e

MétodoEndpointDescriçãoStatus HTTP
POST/v1/nfceCria rascunho de cupom NFC-e (modelo 65)201 Created
POST/v1/nfce/:id/sendAssina e envia o cupom para autorização na SEFAZ202 Accepted
GET/v1/nfce/:idConsulta status, chave, protocolo e dados do cupom200 OK
GET/v1/nfce/:id/escposGera comandos de impressão térmica ESC/POS (80mm/58mm)200 Stream / JSON
GET/v1/nfce/:id/xmlBaixa o arquivo XML assinado e autorizado da NFC-e200 XML
GET/v1/nfce/:id/danfeGera e baixa o PDF do cupom fiscal NFC-e200 PDF
POST/v1/nfe/:id/cancelCancela a NFC-e autorizada (respeitando prazo da UF)202 Accepted
POST/v1/nfe/inutilizarInutiliza numeração pulada com modelo="65"200 OK

1. Criar Rascunho de NFC-e

Cria o registro do cupom fiscal, reserva o próximo número da série de NFC-e e calcula os impostos automaticamente. O destinatário é opcional para vendas anônimas.

POST/v1/nfce

Cria rascunho de cupom NFC-e modelo 65.

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"

Parâmetros do Payload (POST /v1/nfce)

CampoTipoObrigatórioDescrição
customerobjetonãoIdentificação do consumidor (cpfCnpj e nome). Se omitido, a nota é emitida como consumidor anônimo.
customerIdstring (UUID)nãoID de cliente já cadastrado no NFER.
naturezaOperacaostringnão (def. "VENDA AO CONSUMIDOR")Descrição da operação fiscal.
serienumbernão (def. 1)Série da NFC-e (modelo 65) cadastrada na SEFAZ.
indPresnumbernão (def. 1)Indicador de presença: 1 = Presencial, 4 = Delivery NFC-e, 9 = Outros.
indFinalnumbernão (def. 1)Consumidor final. Na NFC-e é sempre 1.
itensarraysimLista de mercadorias vendidas (código, descrição, NCM, CFOP, quantidade, valorUnitario e perfil fiscal).
pagamentosarraysimFormas de pagamento detalhadas (ex: 01=Dinheiro, 03=Crédito, 04=Débito, 17=PIX).
informacoesAdicionaisstringnãoTexto livre que será impresso no rodapé do cupom fiscal.

2. Transmitir para a SEFAZ

Gera a assinatura digital do XML, calcula o QR Code com o CSC da empresa e envia para a SEFAZ em fila assíncrona. Retorna 202 Accepted imediatamente.

POST/v1/nfce/:id/send

Enfileira a transmissão da NFC-e à SEFAZ.

1
2
curl -s -X POST https://api.nfer.me/v1/nfce/18f4a132-728b-4d43-982c-fb75c2e19a4e/send \
-H "X-API-Key: $NFER_KEY"

3. Impressão Térmica Direta (ESC/POS)

O NFER gera comandos binários nativos no padrão ESC/POS para impressoras não-fiscais térmicas (Epson, Elgin, Bematech, Daruma, Gertec, POS Android). Inclui renderização de código de barras, tabela de itens, totais, formas de pagamento, QR Code oficial da SEFAZ e comando de corte automático de papel.

GET/v1/nfce/:id/escpos

Obtém os bytes ESC/POS formatados para envio direto à porta TCP 9100 ou USB/Serial.

Query ParamValoresPadrãoDescrição
largura80 | 5880Largura da bobina em milímetros (80mm = 48 colunas, 58mm = 32 colunas).
formatraw | base64 | jsonrawFormato de entrega. "raw" entrega application/octet-stream pronto para socket.
cuttrue | falsetrueSe deve incluir comando de corte total/parcial no final do cupom.
1
2
3
4
5
6
7
8
# 1. Download do binário pronto para envio via Netcat / Raw Socket (porta 9100)
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
# 2. Obter em JSON Base64 para aplicações Web / Electron / Android
curl -s -X GET "https://api.nfer.me/v1/nfce/18f4a132-728b-4d43-982c-fb75c2e19a4e/escpos?format=json" \
-H "X-API-Key: $NFER_KEY"

4. Consulta, XML e DANFE PDF

GET/v1/nfce/:id

Consulta dados da nota, status e URLs públicas.

GET/v1/nfce/:id/xml

Download do XML autorizado da NFC-e.

GET/v1/nfce/:id/danfe

Download do DANFE simplificado em PDF sob demanda.

5. Cancelamento de NFC-e

O cancelamento de NFC-e é submetido à SEFAZ por evento assíncrono. Lembre-se que o prazo máximo na maioria das UFs é de 30 minutos após a autorização.

POST/v1/nfe/:id/cancel

Envia pedido de cancelamento com justificativa.

1
2
3
4
5
6
curl -s -X POST https://api.nfer.me/v1/nfe/18f4a132-728b-4d43-982c-fb75c2e19a4e/cancel \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"justificativa": "Cliente desistiu da compra no momento do pagamento"
}'