Correios

Gem para cálculo de frete usando o e rastreamento dos correios usando webservices. www.correios.com.br/webservices/

Instalação

$ gem install correios

Como Usar

> require 'correios'

# Para calcular apenas um serviço
> correios = Correios.new(76410000, 74932180)
> correios.calcular_frete(Correios::Servico::PAC, 0.4, 17, 16, 16)

# Para calcular mais de um serviço
# Neste caso o retorno será um hash.
> correios = Correios.new(76410000, 74932180)
> frete = correios.calcular_frete([Correios::Servico::PAC, Correios::Servico::SEDEX], 0.4, 17, 16, 16)

> frete[:pac]
=> #<Correios::Servico:0x10189ad08 @message="", @servico=:pac, @erro="0", @prazo=5, @valor=11.5>
> frete[:sedex]
=> #<Correios::Servico:0x10189a948 @message="", @servico=:sedex, @erro="0", @prazo=4, @valor=14.7>

Outras informações

Definição do método calcula frete:

calcular_frete(servicos, peso, comprimento,
              altura, largura, diametro = 0, mao_propria = NAO,
              valor_declarado = 0, aviso_recebimento = NAO)

Serviços:

Correios::Servico::PAC
Correios::Servico::SEDEX
Correios::Servico::SEDEX10
Correios::Servico::SEDEX_HOJE
Correios::Servico::ESEDEX

Rastreamento

require "correios"

rastreamento = Correios::Rastreamento.new "SS987654321BR"
rastreamento.buscar

#=> [{ :data => "21/04/2012 14:21", :local => "CTE SAUDE - SAO PAULO/SP", :descricao => "", :detalhes => "Entrega Efetuada" }]

rastreamento.chegou?

#=> true

Contato

Caso tenha alguma dúvida ou sugestão entre em contato: bfscordeiro (em) gmail.com

Copyright © 2010 Bruno Cordeiro, released under the MIT license