NAME

WWW::Correios::PrecoPrazo - Serviço de cálculo de preços e prazos de entrega de encomendas (Brazilian Postal Object Tracking Service)

VERSION

0.2.1

DESCRIPTION

This module provides a way to query the Brazilian Postal Office (Correios) via WebService, regarding fees and deadlines. Since the main target for this module is Brazilian developers, the documentation is provided in portuguese only. If you need help with this module please contact the author.

DESCRIÇÃO

Os Correios oferecem uma API destinada a qualquer um que deseje calcular, de forma personalizada, o preço e o prazo de entrega de uma encomenda.

Os preços apresentados são os mesmos praticados no balcão da agência, a menos que você possua contrato de SEDEX, e-SEDEX ou PAC. Nesses casos, você pode informar código da empresa e senha e solicitar consultas com contrato.

Este módulo visa ser extremamente leve a fim de não introduzir dependências extras em sua aplicação. Você pode adequá-lo ao seu ambiente e suas necessidades através da injeção de dependências (dependency injection) durante a criação do objeto.

A documentação completa sobre o webservice dos Correios pode ser encontrada em http://www.correios.com.br/webServices/PDF/SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf

MÉTODOS

new

new( %parametros )

Construtor do objeto. Aceita como parâmetros um hash ou hashref.

Caso exista uma chave user_agent, espera que o seu valor seja um objeto capaz de realizar um get no webservice dos Correios.

Quando não existir uma chave user_agent, cria um objeto LWP::UserAgent passando para o seu construtor as chaves restantes.

query()

query( %parametros )

Realiza a consulta de preço e prazo, consultando o WebService dos Correios.

Não valida os parâmetros quanto à sua obrigatoriedade, delegando esta tarefa ao webservice dos Correios.

Recebe os seguintes parâmetros:

  • codigo_empresa

    OPCIONAL

    Código administrativo de sua empresa junto à ECT. Este código está disponível no corpo do contrato firmado com os Correios.

    O valor padrão é '' (string vazia).

  • senha

    OPCIONAL

    Senha associada ao seu código administrativo (acima), necessária para acesso autenticado ao serviço.

    O valor padrão é '' (string vazia).

  • codigo_servico

    OBRIGATÓRIO

    Infelizmente a documentação dos Correios é escassa e dá o mesmo nome para serviços diferentes. Para evitar confusão, este módulo trabalha apenas com os códigos numéricos dos serviços.

    Até a data de publicação deste módulo, os seguintes códigos eram vigentes:

    +--------+----------------------------------+
    | Código | Serviço                          |
    +--------+----------------------------------+
    | 40010  | SEDEX sem contrato               |
    | 40045  | SEDEX a Cobrar, sem contrato     |
    | 40096  | SEDEX com contrato               |
    | 40126  | SEDEX a Cobrar, com contrato     |
    | 40215  | SEDEX 10, sem contrato           |
    | 40290  | SEDEX Hoje, sem contrato         |
    | 40436  | SEDEX com contrato               |
    | 40444  | SEDEX com contrato               |
    | 40568  | SEDEX com contrato               |
    | 40606  | SEDEX com contrato               |
    | 41068  | PAC com contrato                 |
    | 41106  | PAC sem contrato                 |
    | 81019  | e-SEDEX, com contrato            |
    | 81027  | e-SEDEX Prioritário, com conrato |
    | 81035  | e-SEDEX Express, com contrato    |
    | 81833  | (Grupo 2) e-SEDEX, com contrato  |
    | 81850  | (Grupo 3) e-SEDEX, com contrato  |
    | 81868  | (Grupo 1) e-SEDEX, com contrato  |
    +--------+----------------------------------+
  • cep_origem

    OBRIGATÓRIO

    CEP de origem, sem hífen.

  • cep_destino

    OBRIGATÓRIO

    CEP de destino, sem hífen.

  • peso

    OBRIGATÓRIO

    Peso físico da encomenda, incluindo peso da embalagem, em quilogramas (KG). O valor padrão é 0.1, indicando peso de 100 gramas. O limite de peso é de 30Kg tanto para PAC quanto para os serviços da família SEDEX, exceto pelo "SEDEX Hoje", cujo limite é de 10Kg.

  • formato

    OPCIONAL

    Formato da encomenda, incluindo embalagem. A especificação do formato é exigida pelos correios para precificação e validação de dimensões mínimas e máximas permitidas. Valores possíveis são: 'caixa' (ou 'pacote') e 'rolo' (ou 'prisma').

    O valor padrão é 'caixa'.

    Importante: para o formato caixa/pacote, os seguintes limites precisam ser respeitados:

    +-------+-----------------------------------+--------+--------+
    | tipo  | regra                             | mínimo | máximo |
    +-------+-----------------------------------+--------+--------+
    | caixa | comprimento + altura + largura    |   -    | 160 cm | 
    | rolo  | comprimento + duas vezes diâmetro |  28 cm | 104 cm |
    +-------+-----------------------------------+--------+--------+
  • altura

    OPCIONAL

    Para os formatos 'caixa' e 'pacote'. O valor máximo é de 90cm. A altura não pode ser maior que o comprimento.

    O valor padrão é '2' (2cm).

  • largura

    OPCIONAL

    Para os formatos 'caixa' e 'pacote'. O valor máximo é de 90cm.

    O valor padrão é '11' (11cm).

  • comprimento

    OPCIONAL

    Para todos os formatos. O valor máximo é de 90cm.

    O valor padrão é '16' (16cm).

  • diametro

    OPCIONAL

    Para os formatos 'rolo' e 'prisma'. O valor máximo é de 90cm.

    O valor padrão é '5' (5cm).

  • mao_propria

    OPCIONAL

    Indica se o serviço adicional "mão própria" será utilizado. Pode assumir os valores S (sim) ou N (não).

    O valor padrão é 'N'.

  • aviso_recebimento

    OPCIONAL

    Booleano. Indica se a encomenda será entregue com o serviço adicional de aviso de recebimento. Pode assumir os valores S (sim) ou N (não).

    O valor padrão é 'N'.

  • valor_declarado

    OPCIONAL

    Indica se a encomenda será entregue com o serviço adicional de valor declarado. Para utilizar o serviço, basta definir neste campo o valor declarado desejado, em Reais, até o limite máximo de 10_000,00.

    O valor padrão é '0', indicando que o serviço não será utilizado.

CONFIGURATION AND ENVIRONMENT

Net::Correios requires no configuration files or environment variables.

BUGS AND LIMITATIONS

Please report any bugs or feature requests to bug-net-correios@rt.cpan.org, or through the web interface at http://rt.cpan.org.

AGRADECIMENTOS

Este módulo não existiria sem o serviço gratuito de preços e prazos dos Correios.

http://www.correios.com.br/webservices/

AUTHORS

Breno G. de Oliveira <garu@cpan.org> Blabos de Blebe <blabos@cpan.org>

LICENCE AND COPYRIGHT

Copyright (c) 2011, Estante Virtual. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.