Skip to content

Instantly share code, notes, and snippets.

@acras
Created July 19, 2016 13:22
Show Gist options
  • Save acras/e86ee8d0b1b0db13843a4b93ab8ddfec to your computer and use it in GitHub Desktop.
Save acras/e86ee8d0b1b0db13843a4b93ab8ddfec to your computer and use it in GitHub Desktop.
# encoding: utf-8
require 'net/http'
require 'json'
require 'yaml' # apenas se for usar o formato YAML
# Você deve definir isso globalmente para sua aplicação
# Servidor de homologação
server = "homologacao.acrasnfe.acras.com.br";
# Servidor de produção
# server = "producao.acrasnfe.acras.com.br";
# porta de comunicação
port = 80
# Altere pelo token recebido do suporte
token = "token_recebido_do_suporte";
puts "=> Teste de consulta"
# O processo de envio de NFSe é assíncrono, e pode ser necessário
# aguardar até que a nota seja processada
# sleep 10
# tem que ser a mesma ref usada no envio
ref = 1
Net::HTTP.start(server, port) do |http|
# caso queira consultar usando o formato YAML, use a linha abaixo
# res = http.post("/nfe2/consultar?ref=#{ref}&token=#{token}", nfe.to_yaml)
res = http.get("/nfe2/consultar.json?ref=#{ref}&token=#{token}")
puts "Status = #{res.code}"
puts "Body = #{res.body}"
# para interpretar a resposta
# se utilizar yaml, use a linha abaixo
# response = YAML.load(res.body)
response = JSON.parse(res.body)
puts response.inspect
unless Net::HTTPSuccess === res
puts "Ocorreu um erro"
exit 1
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment