Sha256: 66f553d615388da1883a8278841c212194bcdcd798c852303914e751748bcb04
Contents?: true
Size: 1.17 KB
Versions: 7
Compression:
Stored size: 1.17 KB
Contents
module CorreiosSigep module LogisticReverse class RequestSRO < BaseClient def initialize(sro, overrides={}) @sro = sro @overrides = overrides super() end def process xml = Builders::XML::RequestSRO.build_xml(@sro, @overrides) process_response invoke(:acompanhar_pedido, xml) end private def process_response response correios_hash = response.body[:acompanhar_pedido_response][:acompanhar_pedido] check_sro_errors(correios_hash) correios_response(correios_hash[:coleta][:objeto])[:numero_etiqueta] || begin raise Models::Errors::SRONotReady; end end def correios_response response response.is_a?(Array) ? response.first : response end def check_sro_errors return_body error_msg = return_body[:msg_erro] case return_body[:cod_erro].to_i when 0 return when -7 raise Models::Errors::RequiredFields.new(error_msg) when -5 raise Models::Errors::CollectNumberNotFound.new(error_msg) else raise Models::Errors::UnknownError.new(error_msg) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems