Frete Correios PHP + Webservice
Olá, eu estou com uma bela dúvida aqui.
Estou a realizar o cálculo de frete dos correios.
Após várias pesquisas, encontrei alguns métodos de como obter respostas dos correios e todos até que funcionam relativamente bem.
O meu grande problema é o seguinte:
Se em meu Carrinho possui 1 único produto o valor retornado vem certinho, porém se o meu carrinho possuí mais de um produto, como eu posso realizar corretamente o cálculo?
Vamos aos exemplos:
Se eu estiver em um site (Exemplo: http://www.ultrafarma.com.br), seleciono 1 produto qualquer (no caso: http://www.ultrafarma.com.br/produto/detalhes-18334/centrum_select_com_150_comprimidos.html),,) digito o CEP: 13012-000, ele me retornou a seguinte informação:
Entrega Expressa: de 2 a 3 dias úteis - Via Sedex | Frete: R$ 6,33
Show de bola até aí... Se eu aumento de 1 produto, para 2 produtos, o valor ficará R$ 10,26, se eu aumento para 10 produtos, o valor será de R$ 15,39.
Ou seja o cálculo não é feito sobre 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 10
Mas sim pelo volume da caixa (Volume) para o envio Certo?
1ª Pergunta é: como que se realize este cálculo do volume?
Obviamente que neste exemplo eu utilizei uma forma simples, ou seja, ele calculou o mesmo produto 10x, mas e se no caso fossem 10 produtos totalmente diferentes, como adequar o cálculo por volume?
2ª EU percebi, que na parte superior do carrinho deles, eles informam a quantidade de gramas e se eu selecionar 1 produto ele me dá o resultado de 290 gramas;
Se eu seleciono 10 produtos ele me dá 2.900 gramas (óbivio)
Sabemos pela documentação dos correios, que o peso MÁXIMO estipulado por eles, é de 30 Kg (30.000 Gramas), sendo assim, se selecionamos mais de 103 produtos, a quantidade em peso ultrapassaria a quantidade permitida pelos correios...
Como solucionar isso?
Vamos supor que, eu tenha 6 produtos:
1 - 30 Kg
2 - 15 kg
3 - 16 Kg
4 - 8 Kg
5 - 11 kg
6 - 11 Kg
Total: 91 Kg
Em meu carrinho, como que eu posso distribuir isso de uma forma correta para que a requisição dê o valor correto (ou muito aproximado do correto) como resposta?
A mesma pergunta vale para os outros quesitos, que são, profundidade, largura e altura?
Como resolver isso?
Fico no aguardo e agradeço a quem puder me auxiliar.
Discussão (3)
Carregando comentários...