Pular para o conteúdo principal

Downloads

Os recursos de nota expõem métodos para baixar PDF e XML. Há dois contratos de retorno distintos — leia esta página com atenção antes de salvar o arquivo.

Contrato 1: bytes binários (a maioria dos recursos)

Os métodos de download de service_invoices, consumer_invoices, transportation_invoices, inbound_product_invoices, além de product_invoice_query e consumer_invoice_query, retornam uma String binária (encoding ASCII-8BIT). Salve sempre com File.binwrite para não corromper o conteúdo:

pdf_bytes = client.service_invoices.download_pdf(
company_id: "55df4dc6b6cd9007e4f13ee8",
invoice_id: "abc-123"
)

File.binwrite("nota.pdf", pdf_bytes)

O mesmo vale para o XML:

xml_bytes = client.service_invoices.download_xml(
company_id: "55df4dc6b6cd9007e4f13ee8",
invoice_id: "abc-123"
)

File.binwrite("nota.xml", xml_bytes)
ZIP de toda a empresa

Em service_invoices, omitir invoice_id: (ou passar nil) baixa o ZIP com os documentos da empresa em vez de um único arquivo. O retorno continua sendo bytes binários.

Contrato 2: Nfe::NfeFileResource (product invoices)

Exceção importante

Os métodos download_* de product_invoices e product_invoices_rtc NÃO retornam bytes. Eles retornam um Nfe::NfeFileResource — um objeto de valor que carrega a URI do arquivo, porque o host api.nfse.io/v2 responde com um envelope JSON { uri }, e não com o arquivo em si.

Nfe::NfeFileResource expõe #uri, #name, #content_type e #size. Para obter os bytes, faça o download da uri separadamente:

file = client.product_invoices.download_pdf(
company_id: "55df4dc6b6cd9007e4f13ee8",
invoice_id: "abc-123"
)

file.uri # ex.: "https://.../danfe.pdf"
file.content_type # ex.: "application/pdf"

require "open-uri"
File.binwrite("danfe.pdf", URI.open(file.uri).read)

Os demais downloads de product_invoices seguem o mesmo contrato e também devolvem um Nfe::NfeFileResource: download_xml, download_rejection_xml, download_epec_xml, download_correction_letter_pdf e download_correction_letter_xml.

Resumo dos contratos

RecursoRetorno do download_*Como salvar
service_invoicesString binária (ASCII-8BIT)File.binwrite direto
consumer_invoicesString bináriaFile.binwrite direto
transportation_invoicesString bináriaFile.binwrite direto
inbound_product_invoicesString bináriaFile.binwrite direto
product_invoice_queryString bináriaFile.binwrite direto
consumer_invoice_queryString bináriaFile.binwrite direto
product_invoicesNfe::NfeFileResource (URI)baixe a #uri e então File.binwrite
product_invoices_rtcNfe::NfeFileResource (URI)baixe a #uri e então File.binwrite

Próximos passos

NFE.io

A NFE.io é uma empresa de tecnologia que fornece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas. Com suas ferramentas, as empresas podem economizar tempo e reduzir erros, aumentando a eficiência e precisão do processo de emissão de notas fiscais.

Um dos principais cases de sucesso da NFE.io é a implementação da solução na empresa de transporte Rodonaves. Com a automatização da emissão e gestão de notas fiscais eletrônicas, a Rodonaves conseguiu reduzir em até 80% o tempo gasto nesse processo, o que se traduziu em uma significativa melhoria na eficiência operacional. Além disso, a empresa também conseguiu eliminar erros e atrasos na emissão de notas fiscais, o que melhorou a relação com seus clientes e aumentou a confiança dos órgãos fiscais.

Outro exemplo é a implementação da NFE.io na empresa de comércio eletrônico, a Loja Integrada. Com a automatização da emissão de notas fiscais, a Loja Integrada conseguiu aumentar a velocidade de emissão de notas em até 10 vezes, o que permitiu que a empresa atendesse a uma maior quantidade de clientes e, consequentemente, aumentar as suas vendas.

Além desses exemplos, a NFE.io também tem outros cases de sucesso com empresas de setores como indústria, construção, varejo e serviços, mostrando a versatilidade e eficácia da sua solução.

Em resumo, a NFE.io é uma empresa de tecnologia que oferece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas, ajudando as empresas a economizar tempo e reduzir erros, melhorando a eficiência e precisão do processo. Com cases de sucesso em diferentes setores, a NFE.io tem se destacado como uma empresa líder em automação fiscal.