pedro-teixeira / correios

Módulo de frete para Magento com tracking
https://pedroteixeira.io
MIT License
110 stars 73 forks source link

Selecionar Serviços por Produto #39

Closed jarjar123 closed 9 years ago

jarjar123 commented 9 years ago

Olá, gostaria de sugerir a seleção dos serviços por produto. Apesar da mudança no código ser pequena, as vantagens são enormes. Já efetuei essa mudança em produção há alguns meses, e gostaria de colaborar com o projeto, adicionando esse recurso.

Segue uma breve introdução sobre o assunto.

Nem todos os produtos são válidos para todos os serviços disponíveis. Embora PAC e SEDEX sejam iguais, a maioria dos serviços possui limites de peso e dimensões específicos. Objetos com mais de 15kg são normalmente inválidos para e-SEDEX. Diversas outras restrições se aplicam para os demais serviços como SEDEX 10, Carta, PAC Grandes Formatos, etc.

A validação de limites nesta extensão ainda é generalizada, mas mesmo se fosse configurável por serviço, ainda não atenderia os limites de tipos de mercadorias impostos pelos Correios. Por exemplo, somente livros, cd's e alguns outros itens podem ser enviados por Carta Registrada. Líquidos, plantas, e diversas outras mercadorias requerem uma atenção exclusiva. Você pode querer restringir o envio de mercadorias mais sensíveis como eletrônicos, vidros de perfumes, etc. Enfim estes e inúmeros outros casos fazem com que a identificação dessas diferenças durante a cotação seja muito complexa.

Uma possibilidade de gerenciamento mais simples é atribuindo a cada produto os possíveis serviços que podem transportá-lo.

Exemplo de Atributo:

Código:    postmethods
Tipo:       multiselect
Valor 1:    41068
Valor 2:    81019
...
Valor 99:   40096

Exemplo de Carrinho de Compras:

1 Livro     (PAC, SEDEX, SEDEX Hoje, Carta Registrada)
1 Celular   (PAC, SEDEX, SEDEX Hoje)
1 Pizza     (SEDEX Hoje)
1 Remédio  (SEDEX 10, SEDEX Hoje)
Resultado da Cotação:
    SEDEX Hoje
        Valor: R$50,00
        Prazo: 2 horas

Obs.: Exemplo meramente elucidativo.

pedro-teixeira commented 9 years ago

@jarjar123, me parece uma mudança interessante, mas ao contrário do que você disse, ela não é pequena e vai ter impacto de performance já que teremos múltiplas calls para a API dos Correios, isso também aumenta a chance de erro no cálculo.

Se você já tiver feito a mudança está mais do que convidado para enviar sua pull request, se for uma mudança clara e livre de problemas será aceito com certeza.