Sha256: 3af488c246ecb38326fafeb5b18d312a9a2dd84849f9247df84514b934faabd0

Contents?: true

Size: 732 Bytes

Versions: 2

Compression:

Stored size: 732 Bytes

Contents

# encoding: UTF-8
require 'net/http'
require 'uri'

module Correios
  module SRO
    class WebService
      URL = "http://websro.correios.com.br/sro_bin/sroii_xml.eventos"
      TYPES = { :lista => "L", :intervalo => "F" }
      RESULTS = { :todos => "T", :ultimo => "U" }

      def initialize
        @uri = URI.parse(URL)
      end

      def request(sro)
        response = Net::HTTP.post_form(@uri, params_for(sro))
        response.body
      end

      private

      def params_for(sro)
        {
          :Usuario => sro.usuario,
          :Senha => sro.senha,
          :Tipo => TYPES[sro.tipo],
          :Resultado => RESULTS[sro.resultado],
          :Objetos => sro.objetos.join
        }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
correios-sro-xml-0.0.4 lib/correios/sro/web_service.rb
correios-sro-xml-0.0.2 lib/correios/sro/web_service.rb