Pular para o conteúdo principal

Consulta de NF-e (product_invoice_query)

O recurso product_invoice_query faz consultas somente-leitura de NF-e (nota fiscal de produto) pela chave de acesso: detalhes, download de PDF (DANFE) e XML, e listagem de eventos. Faz parte da família de dados nfe_query, servida por nfe.api.nfe.io. O segmento de versão (/v2) já vem no caminho da requisição.

Família de dados — configure data_api_key

Esta é uma família de dados: usa a data_api_key quando presente, com fallback para a api_key. Configure data_api_key: (ou NFE_DATA_API_KEY). Veja Configuração.

Métodos públicos

product_invoice_query.retrieve(access_key)      # => Nfe::ProductInvoiceDetails | nil
product_invoice_query.download_pdf(access_key) # => String (bytes ASCII-8BIT)
product_invoice_query.download_xml(access_key) # => String (bytes ASCII-8BIT)
product_invoice_query.list_events(access_key) # => Nfe::ProductInvoiceEventsResponse | nil

Exemplos

Consultar detalhes e eventos

require "nfe"

client = Nfe::Client.new(
api_key: ENV.fetch("NFE_API_KEY"),
data_api_key: ENV.fetch("NFE_DATA_API_KEY")
)

chave = "35200114200166000187550010000000071234567890"

detalhes = client.product_invoice_query.retrieve(chave)
eventos = client.product_invoice_query.list_events(chave)
Chave de acesso é validada antes do HTTP

A chave de acesso precisa ter 44 dígitos. Uma chave inválida levanta Nfe::InvalidRequestError antes de qualquer requisição. Veja Tratamento de erros.

Baixar PDF (DANFE) e XML

pdf = client.product_invoice_query.download_pdf(chave)
File.binwrite("danfe.pdf", pdf)

xml = client.product_invoice_query.download_xml(chave)
File.binwrite("nfe.xml", xml)
Downloads retornam bytes binários

download_pdf e download_xml devolvem os bytes (ASCII-8BIT), não um objeto hidratado. Grave-os com File.binwrite. Veja o guia de Downloads.

Veja também

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.