module Rnfse::API::SpeedGov10
Public Instance Methods
cancelar_nfse(hash = {})
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 77 def cancelar_nfse(hash = {}) raise Rnfse::Error::NotImplemented end
consultar_lote_rps(hash = {})
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 35 def consultar_lote_rps(hash = {}) validate_options(hash) validate_ascii(hash) header = xml_builder.build_header_xml() parameters = xml_builder.build_consultar_lote_rps_envio_xml(hash) response = self.soap_client.call( :consultar_lote_rps, soap_action: 'ConsultarLoteRps', message_tag: 'nfse:ConsultarLoteRps', message: { :'header!' => "<![CDATA[#{header}]]>", :'parameters!' => "<![CDATA[#{parameters}]]>" }) parse_response(response) end
consultar_nfse(hash = {})
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 63 def consultar_nfse(hash = {}) validate_options(hash) validate_ascii(hash) header = xml_builder.build_header_xml() parameters = xml_builder.build_consultar_nfse_envio_xml(hash) response = self.soap_client.call( :consultar_nfse, soap_action: 'ConsultarNfse', message_tag: 'nfse:ConsultarNfse', message: { :'header!' => "<![CDATA[#{header}]]>", :'parameters!' => "<![CDATA[#{parameters}]]>" }) parse_response(response) end
consultar_nfse_por_rps(hash = {})
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 49 def consultar_nfse_por_rps(hash = {}) validate_options(hash) validate_ascii(hash) header = xml_builder.build_header_xml() parameters = xml_builder.build_consultar_nfse_rps_envio_xml(hash) response = self.soap_client.call( :consultar_nfse_por_rps, soap_action: 'ConsultarNfsePorRps', message_tag: 'nfse:ConsultarNfsePorRps', message: { :'header!' => "<![CDATA[#{header}]]>", :'parameters!' => "<![CDATA[#{parameters}]]>" }) parse_response(response) end
consultar_situacao_lote_rps(hash = {})
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 21 def consultar_situacao_lote_rps(hash = {}) validate_options(hash) validate_ascii(hash) header = xml_builder.build_header_xml() parameters = xml_builder.build_consultar_situacao_lote_rps_envio_xml(hash) response = self.soap_client.call( :consultar_situacao_lote_rps, soap_action: 'ConsultarSituacaoLoteRps', message_tag: 'nfse:ConsultarSituacaoLoteRps', message: { :'header!' => "<![CDATA[#{header}]]>", :'parameters!' => "<![CDATA[#{parameters}]]>" }) parse_response(response) end
recepcionar_lote_rps(hash = {})
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 5 def recepcionar_lote_rps(hash = {}) validate_sign_options validate_options(hash) validate_ascii(hash) header = xml_builder.build_header_xml() parameters = xml_builder.build_recepcionar_lote_rps_xml(hash) parameters.sign!(certificate: File.read(self.certificate), key: File.read(self.key)) response = self.soap_client.call( :recepcionar_lote_rps, soap_action: 'RecepcionarLoteRps', message_tag: 'nfse:RecepcionarLoteRps', message: { :'header!' => "<![CDATA[#{header}]]>", :'parameters!' => "<![CDATA[#{parameters}]]>" }) parse_response(response) end
Private Instance Methods
load_options_for_production(options)
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 87 def load_options_for_production(options) provedor = provedores['producao'][options['provedor'].to_s] self.namespace = provedor['namespace'] municipio = case options['municipio'].to_s when 'petrolina' then 'pet' when 'aquiraz' then 'aqz' else options['municipio'].to_s end self.endpoint = provedor['endpoint'] % { municipio: municipio } load_default_options(options) end
parse_response(response)
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 99 def parse_response(response) hash = Rnfse::Hash.new(response.body) response_key = hash.keys.select { |k| k =~ /response$/ }.first return_key = hash[response_key].keys.select { |k| k =~ /return$/ }.first if !hash[response_key].nil? and hash[response_key] xml = hash[response_key][return_key] hash[response_key][return_key] = Nori.new.parse(xml) end hash.underscore_and_symbolize_keys end
savon_client_options()
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 110 def savon_client_options { soap_version: 1, env_namespace: :soapenv, namespaces: { 'xmlns:soapenv' => 'http://schemas.xmlsoap.org/soap/envelope/', 'xmlns:nfse' => 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd', 'xmlns' => '' }, namespace_identifier: nil, ssl_verify_mode: :peer, ssl_cert_file: self.certificate, ssl_cert_key_file: self.key, endpoint: self.endpoint, namespace: self.namespace } end
validate_ascii(hash)
click to toggle source
# File lib/rnfse/api/speed_gov_1_0.rb, line 83 def validate_ascii(hash) raise Rnfse::Error::NonASCIIEncoding unless hash.to_s.ascii_only? end