-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rever limites de dimensões do Correios #3
Conversation
Rever limites de dimensões do Correios
Oi Pedro, tudo bem? instalei em meu magento e funcionou, porem quando coloco medidas nos produtos, ele aceita somente até 172cm, se a soma der 173cm ou mais, já fica com o erro de "URL FORA DO AR". Sabe me dizer o porque acontece isso? |
@rafarockfoz, provavelmente algum problema na API dos Correios. Pode dar uma olhada nos logs e ver o que tem lá? |
Apareceu o seguinte: 2014-09-26T18:20:06+00:00 DEBUG (7): pedroteixeira_correios [159]: URL Em 26 de setembro de 2014 14:29, Pedro Teixeira notifications@github.com
|
Medidas no produto de teste: comp. 105 não passou de 105cm e o total não passa de 200cm Em 26 de setembro de 2014 15:24, Rafael Rockenbach rafarockfoz@gmail.com
|
Estranho @rafarockfoz, parece que a API dos Correios está com dificuldades de fazer esse cálculo. |
Ola, obrigado pelo retorno! Será que é apenas comigo o erro? Ou ninguém tinha percebido esse erro antes? Vale comentar também: se eu digitar meu código ADM. Dos correios e colocar Outra coisa: coloquei para não validar as medidas dos produtos, mesmo assim
|
Você é o primeiro reportando, deve ser algo do lado dos Correios mesmo... |
Olá Pedro, tudo bem? Uso seu módulo há algum tempo e acho muito bom. Parabéns pelo trabalho. Entretanto tenho um cenário com comportamento semelhante ao reportado acima. Tenho o seguinte produto: Peso: 15 kilos De acordo com os correios o limite de peso é de 30 kilos e o total da soma entre altura x largura x comprimento não deve ultrapassar 200cm. Não estou em nenhum dos casos. Em um primeiro momento, ocorria um erro na validação das dimensões do produto (na versão 4.3 é feito nos correios), reportando que a url estava indisponível. Desabilitei e o que a validação e ocorre a mensagem de peso excedido. Reduzi o peso mas nada mudou. Reparei que o problema ocorre na soma dos valores. Caso ultrapasse 179 cm não funciona - teoricamente seria 200 o limite. No log aparece somente: Mas, quando verifiquei no webservice do correio (me parece o mesmo endpoint), aparentemente funciona: Ocorrem com algum de vcs coisa parecida? Testei no módulo na versão 4.2 e na 4.3 Valeu... |
@faguiarsilva, isso que você reportou é outro problema e não é um bug. Os correios usam as medidas dos produtos para calcular o peso volumétrico e seu produto passou do peso permitido, sendo assim, o módulo está agindo corretamente em dar esse erro. Você pode ler mais sobre esse cálculo aqui: http://www.correios.com.br/para-sua-empresa/comercio-eletronico/como-calcular-precos-e-prazos-de-entrega-em-sua-loja-on-line E a parte do código que faz esse cálculo fica aqui: https://github.com/pedro-teixeira/correios/blob/master/app/code/community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php#L452 |
Entendi @pedro-teixeira. Então o módulo faz o cálculo do peso volumétrico e ele é enviado ao WS dos correios? Se for isso, fiquei em dúvida com uma questão. No link da documentação tive a impressão de que é o correio que faz esse cálculo e ele pode influenciar no valor. Enviariamos o peso físico e as medidas e o correio validaria qual utilizar e tal. Olha o descritivo de exemplo da documentação. "Se o peso cúbico da encomenda for menor ou igual a 10 kg, será atribuído o peso físico (ou real). Para encomendas com peso cúbico maior que 10 kg, valerá o maior resultado após a comparação dos resultados entre o peso físico (kg) e o peso cúbico (C x L x A)/6.000. Então, sendo um pacote de 5,5 kg de peso físico, com as dimensões 70x60x10/6.000 que resultam um peso cúbico de 7 kg, o peso considerado para precificação será o físico, de 5,5 kg. Para o caso do peso cúbico ultrapassar o limite de 30 kg será cobrado valor adicional." No meu caso, por enviarmos o peso já cálculado, ele ultrapassa os 30 kilos(acredito que de peso físico) e por isso o ws dos correios retorna erro. Concorda com esse raciocínio? Valeu.. |
@faguiarsilva, sim, parece que os Correios mudaram essa lógica. No passado era somente considerado o maior entre os dois e maior que 30kg de peso cúbico não era calculado. Então acho que precisamos de um ajuste no módulo, será que você não consegue enviar uma pull request? O cálculo do peso volumétrico é feito do lado do módulo pois seria extremamente complexo de enviar uma dimensão para múltiplos produtos com múltiplas dimensões. |
@pedro-teixeira posso estar com uma visão muito simplista para o caso. Mas me parece que seria somente remover o cálculo volumétrico do módulo, concorda? Verifiquei na assinatura do WS do correio e me parece que o peso esperado por eles é o físico, mas posso testar enganado. Entendo que dessa forma deixaríamos a lógica com os correios (que é o dono da lógica). Quanto ao pull request, faço sim! Só fecharmos o entendimento. Abraços! |
@faguiarsilva, é um pouco mais complexo que isso. Por exemplo, quais seriam as dimensões para esse carrinho?
|
Então @pedro-teixeira, entendo que existem 2 formas de serem feitos. Uma delas seria utilizar um algoritmo de alocação para colocar as encomendas na menor caixa possível (LAFF - Area mais larga primeiro). Nesse sentido enviariamos ao WS dos correios o tamanho da caixa e a soma do peso físico. Talvez o ponto negativo seria refletir a caixa do algoritmo com a da entrega. |
@faguiarsilva, me parece uma solução interessante, mas precisamos fazer uma avaliação do impacto de performance e taxa de erro, já que esse algoritmo também não é 100%. Vou tentar finalizar a issue #14 para termos as regras de contribuição do repositório e seria muito bom receber uma pull request. |
Boa tarde Pedro, cara show de bola seu modulo, só tenho a agradecer! Verifiquei que encontraram o "erro" digamos assim. Conseguiram chegar a uma Em 2 de outubro de 2014 12:03, Pedro Teixeira notifications@github.com
|
Temos sim uma solução, mas ainda sem código. Seria ótimo se você pudesse enviar uma pull request! |
Acabei de cria lá: Erro no Calculo Peso Cubico #28 Se faltar algo me avise! |
As Medidas no produto aceita somente até 172cm, se a soma der 173cm ou mais, já fica com o erro de "URL FORA DO AR". 2014-09-26T18:20:06+00:00 DEBUG (7): pedroteixeira_correios [159]: URL Error, all services return with error |
@rafarockfoz, acredito que o erro não seja "URL Error, all services return with error" e sim "Dimension error". Acho que são dois requests diferentes. |
Adicionada opção de produtos que se encaixam
Validar limites e utilização da API:
http://www.correios.com.br/para-voce/correios-de-a-a-z/pdf/calculador-remoto-de-precos-e-prazos/manual-de-implementacao-do-calculo-remoto-de-precos-e-prazos
http://www2.correios.com.br/sistemas/precosPrazos/