Skip to content
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

Merged
merged 1 commit into from
Aug 3, 2014

Conversation

@pedro-teixeira pedro-teixeira added this to the 5.0.0 milestone Feb 22, 2014
@pedro-teixeira pedro-teixeira self-assigned this Feb 22, 2014
@pedro-teixeira pedro-teixeira modified the milestones: v4.4.0, v4.3.0 Aug 3, 2014
@pedro-teixeira pedro-teixeira changed the title Rever integração com os Correios Rever limites de dimensões do Correios Aug 3, 2014
pedro-teixeira pushed a commit that referenced this pull request Aug 3, 2014
Rever limites de dimensões do Correios
@pedro-teixeira pedro-teixeira merged commit 2642ef3 into master Aug 3, 2014
@pedro-teixeira pedro-teixeira deleted the 3-rever-limites-dimensoes branch August 3, 2014 22:26
@rafarockfoz
Copy link

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?

@pedro-teixeira
Copy link
Owner Author

@rafarockfoz, provavelmente algum problema na API dos Correios. Pode dar uma olhada nos logs e ver o que tem lá?

@rafarockfoz
Copy link

Apareceu o seguinte:

2014-09-26T18:20:06+00:00 DEBUG (7): pedroteixeira_correios [159]: URL
Error, all services return with error
2014-09-26T18:21:14+00:00 DEBUG (7): pedroteixeira_correios [107]:
Dimension error
2014-09-26T18:22:58+00:00 DEBUG (7): pedroteixeira_correios [159]: URL
Error, all services return with error

Em 26 de setembro de 2014 14:29, Pedro Teixeira notifications@github.com
escreveu:

@rafarockfoz https://github.com/rafarockfoz, provavelmente algum
problema na API dos Correios. Pode dar uma olhada nos logs e ver o que tem
lá?


Reply to this email directly or view it on GitHub
#3 (comment).

@rafarockfoz
Copy link

Medidas no produto de teste:

comp. 105
alt. 40
larg. 50

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
escreveu:

Apareceu o seguinte:

2014-09-26T18:20:06+00:00 DEBUG (7): pedroteixeira_correios [159]: URL
Error, all services return with error
2014-09-26T18:21:14+00:00 DEBUG (7): pedroteixeira_correios [107]:
Dimension error
2014-09-26T18:22:58+00:00 DEBUG (7): pedroteixeira_correios [159]: URL
Error, all services return with error

Em 26 de setembro de 2014 14:29, Pedro Teixeira notifications@github.com
escreveu:

@rafarockfoz https://github.com/rafarockfoz, provavelmente algum
problema na API dos Correios. Pode dar uma olhada nos logs e ver o que tem
lá?


Reply to this email directly or view it on GitHub
#3 (comment)
.

@pedro-teixeira
Copy link
Owner Author

Estranho @rafarockfoz, parece que a API dos Correios está com dificuldades de fazer esse cálculo.

@rafarockfoz
Copy link

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
qualquer senha ele aceita. Achei estranho também.

Outra coisa: coloquei para não validar as medidas dos produtos, mesmo assim
continua o erro.
Em 26/09/2014 19:43, "Pedro Teixeira" notifications@github.com escreveu:

Estranho @rafarockfoz https://github.com/rafarockfoz, parece que a API
dos Correios está com dificuldades de fazer esse cálculo.


Reply to this email directly or view it on GitHub
#3 (comment).

@pedro-teixeira
Copy link
Owner Author

Você é o primeiro reportando, deve ser algo do lado dos Correios mesmo...

@faguiarsilva
Copy link

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
Altura: 35 cm
Largura: 65
Comprimento: 80 cm

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:
2014-09-28T01:19:02+00:00 DEBUG (7): pedroteixeira_correios [177]: Correios Error: Peso excedido. [Cod. 4] [Serv. 40010]

Mas, quando verifiquei no webservice do correio (me parece o mesmo endpoint), aparentemente funciona:

http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=03164300&sCepDestino=03223060&nVlPeso=15&nCdFormato=1&nVlComprimento=80&nVlAltura=35&nVlLargura=65&sCdMaoPropria=n&nVlValorDeclarado=0&sCdAvisoRecebimento=n&nCdServico=40010&nVlDiametro=0&StrRetorno=xml&nIndicaCalculo=3

Ocorrem com algum de vcs coisa parecida?

Testei no módulo na versão 4.2 e na 4.3

Valeu...

@pedro-teixeira
Copy link
Owner Author

@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

@faguiarsilva
Copy link

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..

@pedro-teixeira
Copy link
Owner Author

@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.

@faguiarsilva
Copy link

@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!

@pedro-teixeira
Copy link
Owner Author

@faguiarsilva, é um pouco mais complexo que isso. Por exemplo, quais seriam as dimensões para esse carrinho?

  • 1 item com 70cm x 60cm x100cm
  • 2 itens com 100cm x 11cm x 5cm

@faguiarsilva
Copy link

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.
Outra forma seria a possibilidade de uma pré configuração de tamanho de caixas que o logista tenha. Dessa forma incluiriamos os produtos na caixa e mandaria ao Ws dos correios o tamanho da caixa com o peso total dos produtos.
Vi em um site um path para seu módulo..rs.. não sei se tem ciência dele. Me parece que implementa a primeira opção. Ainda não testei. Da uma olhada (http://imaismais.com.br/melhorias-para-modulo-de-frete-do-pedro-teixeira/)

@pedro-teixeira
Copy link
Owner Author

@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.

@rafarockfoz
Copy link

Boa tarde Pedro, cara show de bola seu modulo, só tenho a agradecer!
Peço desculpas por não ter mais respondido os emails pois estava viajando.

Verifiquei que encontraram o "erro" digamos assim. Conseguiram chegar a uma
solução?
Abraço!

Em 2 de outubro de 2014 12:03, Pedro Teixeira notifications@github.com
escreveu:

@faguiarsilva https://github.com/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
#14 para termos as
regras de contribuição do repositório e seria muito bom receber uma pull
request.


Reply to this email directly or view it on GitHub
#3 (comment).

@pedro-teixeira
Copy link
Owner Author

Temos sim uma solução, mas ainda sem código. Seria ótimo se você pudesse enviar uma pull request!

@rafarockfoz
Copy link

Acabei de cria lá:

Erro no Calculo Peso Cubico #28

Se faltar algo me avise!

@rafarockfoz
Copy link

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
2014-09-26T18:21:14+00:00 DEBUG (7): pedroteixeira_correios [107]: Dimension error

@pedro-teixeira
Copy link
Owner Author

@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.

pedro-teixeira pushed a commit that referenced this pull request Mar 30, 2015
Adicionada opção de produtos que se encaixam
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants