Downloads (PDF/XML)
Os métodos de download retornam um Buffer com os bytes do arquivo. Passar
o invoiceId baixa a nota individual; omitir o invoiceId baixa um ZIP
com todas as notas da empresa (quando o recurso suporta).
import { writeFileSync } from 'node:fs';
// PDF individual
const pdf = await nfe.serviceInvoices.downloadPdf(companyId, invoiceId);
writeFileSync('nota.pdf', pdf);
// XML individual
const xml = await nfe.serviceInvoices.downloadXml(companyId, invoiceId);
writeFileSync('nota.xml', xml);
// ZIP de todas as notas da empresa (sem invoiceId)
const zip = await nfe.serviceInvoices.downloadPdf(companyId);
writeFileSync('notas.zip', zip);
Disponibilidade por estado
O PDF/XML só existe após a nota atingir um estado terminal
(Issued/Cancelled). Antes disso, o download pode retornar 404 — use
polling ou webhooks para aguardar a emissão.
Outros downloads
| Recurso | Métodos |
|---|---|
serviceInvoices | downloadPdf, downloadXml |
serviceInvoicesRtc | downloadCancellationXml (XML do evento de cancelamento) |
consumerInvoices (NFC-e) | downloadPdf, downloadXml, downloadRejectionXml (aceitam environment) |
productInvoices | downloadPdf, downloadXml |
productInvoiceQuery / consumerInvoiceQuery | downloadPdf/downloadXml por chave de acesso |
Os métodos carregam o arquivo inteiro em memória (Buffer). Para lotes grandes
(ZIP da empresa), considere baixar fora do horário de pico e persistir em disco
logo após o retorno.