NAME
Net::Correios - acesse a API REST dos Correios
SYNOPSIS
my $correios = Net::Correios->new(
username => 'seu usuario',
password => 'sua chave de API',
contrato => 'seu número de contrato',
cartao => 'numero do seu cartao de postagem',
);
# Busca de CEP
my $cep = $correios->cep->enderecos( cep => '01310-200' );
say $cep->{logradouro}; # "Avenida Paulista"
# Preços e Prazos
my $params = {
codigo => '03220,03298', # SEDEX e PAC
cep_origem => '01310-200', # . e - ignorados
cep_destino => '20021-140', # . e - ignorados
tipo => 'caixa', # caixa, rolo ou envelope
largura => 16, # cm
altura => 16, # cm
comprimento => 16, # cm
peso => 300, # em gramas
valor_declarado => 100, # (opcional) em BRL (reais)
aviso_recebimento => true, # booleano. padrão é falso.
};
my $fretes = $correios->preco->nacional($params);
foreach my $frete (@$frete) {
say $frete->{codigo} . ' custa R$' . $frete->{preco};
}
# você pode usar a mesma estrutura para preço e prazo (de nada):
my $prazos = $correios->prazo->nacional($params);
foreach my $prazo ($@prazos) {
say "$prazo->{codigo} deve chegar até dia $prazo->{data_maxima}"
. "($prazo->{dias} dias)";
}
# Rastreio de Objetos
my $rastreio = $correios->sro->busca( 'YJ460348417BR', 'QP302718234BR' );
say $rastreio->{YJ460348417BR}{situacao};
foreach my $evento ($rastreio->{YJ460348417BR}{eventos}->@*) {
say $evento->{descricao};
}
DESCRIPTION
This module provides a way to query the Brazilian Postal Office (Correios) via its REST API, regarding fees, estimated delivery times, etc. Since the main audience for this module are Brazilian developers, the documentation is provided in portuguese only. If you need help with this module but don't speak portuguese, please contact the author.
DESCRIÇÃO
Este módulo oferece acesso à API REST dos Correios - também conhecida como Correios Web Services ou CWS, ou mesmo "Correios API" - para consulta de preços e prazos, CEPs, rastreamento de objetos, etc.
Requisitos
Para acessar a API REST dos Correios, você precisa:
1. Ter um contrato comercial ativo com os Correios; 2. Ter um cadastro no Meu Correios; 3. Acessar o site do Correios Web Services em https://cws.correios.com.br, fazer o login, clicar em "Gestão de Acesso a APIs" e depois em "Regerar Código". Isso vai te dar uma chave/código de API para usar com este módulo.
Para usar esse módulo no ambiente de testes dos Correios, repita o passo 3 no site de homologação do CWS: https://cwshom.correios.com.br.
Procure seu contato nos Correios caso tenha dificuldade com qualquer um desses passos.
CONSTRUTOR
new( %args )
my $correios = Net::Correios->new(
username => 'seu usuario',
password => 'sua chave de API',
contrato => 'seu número de contrato',
cartao => 'seu cartao de postagem',
);
Cria um novo objeto para se comunicar com a API dos Correios. Este objeto pode ser reaproveitado em todos os endpoints que seu programa usar, já que ele faz automaticamente a gestão dos tokens de acesso à API.
ATRIBUTOS
is_sandbox
Retorna verdadeiro se o objeto está acessando o ambiente de sandbox/homologação dos Correios, falso se estiver acessando o ambiente de produção.
access_token( $tipo )
Retorna o token de acesso atual para o tipo solicitado. Você provavelmente não precisa se preocupar com isso já que a criação e renovação dos tokens de acesso são feitas automaticamente por este módulo e seus submódulos.
MÉTODOS
cep
Retorna um objeto Net::Correios::CEP para busca de CEP e endereços.
sro
Retorna um objeto Net::Correios::SRO para consulta de códigos de rastreio e comprovantes de entrega de pacotes dos Correios.
preco
Retorna um objeto Net::Correios::Preco para consulta de preços (tarifas) para envios de encomendas/pacotes/postagens em diferentes tamanhos e formatos.
prazo
Retorna um objeto Net::Correios::Prazo para consulta de prazos de entrega para envios de encomendas.
token
Retorna um objeto Net::Correios::Token para autenticação com a API. Note que a autenticação e renovação de chaves é feita automaticamente por este módulo, de modo que você provavelmente não precisará usar este método diretamente.
empresas
TBD
prepostagens
TBD
faturas
TBD
agencias
TBD
VEJA TAMBÉM
Correios Web Services (link externo oficial)