Módulo de Frete para Magento com Tracking (versão 4.1)
Depois de alguns dias consegui terminar a nova versão, 4.1.0, do módulo de frete para Magento.
A necessidade de uma nova versão ficou mais evidente na mudança da URL do webservice dos Correios, mas já aproveitei para corrigir alguns bugs e implementar novas funcionalidades.
Nessa nova versão versionei o módulo e criei um ambiente completo de staging e QA, até para simular as possíveis respostas do webservice dos Correios para tentar cobrir o máximo de situações possíveis no módulo, acredito poder afirmar que essa é a versão mais estável e completa do módulo. Pretendo liberar o svn em um futuro próximo.
Mudanças implementadas:
- Nova estrutura do Model, facilitando o entendimento e manutenção
- Nova forma de passar o volume do PAC para os Correios
- Novos filtros para evitar erros na interface
- Nomes dos métodos, URL dos Correios, prazo de entrega e outros parâmetros configurados no xml
- Integração total com as regras de frete grátis utilizando a função
_setFreeMethodRequest()
- Logs mais completos para identificação de possíveis problemas
- Desconsiderando duplicidade de produtos configuráveis no cálculo do volume do PAC
- Corrigido problema com a função depreciada
slipt()
- Sedex a cobrar mostra o valor do frete na mensagem e deixa como gratuito
- Corrigido mensagem de erro de peso e valor de “a cima” para “acima”
- Realiza apenas uma consulta ao webservice para todos os serviços
O fato da nova versão realizar apenas uma consulta para todos os serviços significa que agora quando houver mais de um serviço para ser calculado o módulo fará apenas uma consulta aos Correios, aumentando a velocidade da resposta e diminuindo a possibilidade de erro.
A pesar da fonte de cálculo da Locaweb continuar implementada no módulo, acredito que eles bloquearam a consulta por servidores externos, ou seja, não consegui testar, mas mesmo assim deixei implementado.
O módulo encontra-se disponível para download no Magento Connect pela URL:
http://www.magentocommerce.com/magento-connect/pedroteixeira-correios.html
Se você quiser baixar os arquivos e instalar manualmente, clique aqui.
Considerações Importantes
Não identifiquei a necessidade de mudança do core do Magento para fazer funcionar o tracking na versão 1.4.1.1 do Magento, porém, as mudanças continuam disponíveis no post da versão antiga.
Lista de códigos de erros dos Correios:
- 0 Processamento com sucesso
- -1 Código de serviço inválido
- -2 CEP de origem inválido
- -3 CEP de destino inválido
- -4 Peso excedido
- -5 O Valor Declarado não deve exceder R$ 10.000,00
- -6 Serviço indisponível para o trecho informado
- -7 O Valor Declarado é obrigatório para este serviço
- -8 Este serviço não aceita Mão Própria
- -9 Este serviço não aceita Aviso de Recebimento
- -10 Precificação indisponível para o trecho informado
- -11 Para definição do preço deverão ser informados, também, o comprimento, a largura e altura do objeto em centímetros (cm).
- -12 Comprimento inválido.
- -13 Largura inválida.
- -14 Altura inválida.
- -15 O comprimento não pode ser maior que 60 cm.
- -16 A largura não pode ser maior que 60 cm.
- -17 A altura não pode ser maior que 60 cm.
- -18 A altura não pode ser inferior a 2 cm.
- -19 A altura não pode ser maior que o comprimento.
- -20 A largura não pode ser inferior a 5 cm.
- -21 A largura não pode ser menor que 11cm, quando o comprimento for menor que 25cm.
- -22 O comprimento não pode ser inferior a 16 cm.
- -23 A soma resultante do comprimento + largura + altura não deve superar a 150 cm.
- -24 Comprimento inválido.
- -25 Diâmetro inválido
- -26 Informe o comprimento.
- -27 Informe o diâmetro.
- -28 O comprimento não pode ser maior que 90 cm.
- -29 O diâmetro não pode ser maior que 90 cm.
- -30 O comprimento não pode ser inferior a 18 cm.
- -31 O diâmetro não pode ser inferior a 5 cm.
- -32 A soma resultante do comprimento + o dobro do diâmetro não deve superar a 104 cm.
- -33 Sistema temporariamente fora do ar. Favor tentar mais tarde.
- -34 Código Administrativo ou Senha inválidos.
- -35 Senha incorreta.
- -36 Cliente não possui contrato vigente com os Correios.
- -37 Cliente não possui serviço ativo em seu contrato.
- -38 Serviço indisponível para este código administrativo.
- -888 Erro ao calcular a tarifa
- 7 Serviço indisponível, tente mais tarde
- 99 Outros erros diversos do .Net
Como sempre fico a disposição para dúvidas, sugestões e críticas.
Boas vendas!