brwayuu
Forum Replies Created
-
@claudio Não sei se tem tempo, nem se deseja mudar o funcionamento plugin. Mas como criador/contribuidor, o mínimo esperado é que tente ajudar, ou então nem responda.
Custaria muito responder: “no momento o plugin bloqueia quando os correios retornam qualquer tipo de erro. Se desejar mudar o funcionamento, pode fazê-lo na linha xxx, mudando X para Y. No entanto, não penso que o plugin deveria funcionar desse jeito” ?
Enfim, agradeço muito o fato de ter criado/contribuido para fazer esse plugin, ajuda bastante, mas acho errado marcar este post (e vários outros) como resolvido, quando a sua resposta se limitou a “se quiser, resolva sozinho, mas o plugin está bom como está.”
Penso que na comunidade open source se aprecia sugestões, quer tenha tempo de as resolver ou não. Pela sua primeira resposta (“Se os Correios falou que o CEP é inválido ou o trecho não esta sendo atendido não tem muito o que fazer.”), você nem leu o que escrevi, pois a mensagem de erro dos correios não diz nada disso
E já agora, vejo que o plugin tem “class CorreiosError” na linha 672, que não é utilizado em lugar nenhum. Imagino que a certo momento alguém quiz fazer verificação do tipo de erro retornado pelos Correios, exatamente para corrigir situações que reportei, mas que este trabalho nunca foi terminado.
@claudio Que arrogância. Estou aqui reportando um erro, contribuindo com sugestões como melhorar, mostrando que o plugin não funciona do jeito que deveria, e você dando uma de “eu que sei”.
Enfim, para quem continua tendo problemas, fiz o seguinte:
Na linha 431 do plugin, retirei o check de Erro, deixando só o check se os correios retornam o valor:
Trocar
// Have errors? if( empty( $correioMethod->Erro ) && !empty( $correioMethod->Valor ) ){Com
// Have errors? if( !empty( $correioMethod->Valor ) ){Deste jeito o plugin sempre aplica o valor que os Correios retorna como resposta, mesmo que tenha uma mensagem de erro.
Como no meu caso a mensagem de erro era insignificante (“O CEP de destino está sujeito a condições especiais de entrega pela ECT e será realizada com o acréscimo de até 7 (sete) dias ao prazo regular.”), prefiro que o cliente consiga calcular o custo do que ficar bloqueado na compra.
Atenciosamente
@claudio Entendi. No entanto, mesmo tendo mensagem de erro, o site dos Correios retorna valores certos para o valor do envio. Porquê não usar estes? Tem alguma razão contra?
E sobre o não poder exibir corretamente o erro de volta para o usuário, é limitação do WooCommerce?
Claudio, se pudesse ajudar faria. No entanto não sou desenvolvedor, e agradeço muito terem criado este plugin.
Com todo o respeito, penso que não me entendeu. Os Correios não falam que o CEP é inválido. Se você abrir o primeiro link que copiei, vai ver que eles retornam os valores certos. No entanto, o XML retorna também o seguinte:
<MsgErro> O CEP de destino está sujeito a condições especiais de entrega pela ECT e será realizada com o acréscimo de até 7 (sete) dias ao prazo regular. </MsgErro>O que estou dizendo é que o site dos Correios retorna tudo direitinho, mas o plugin ignora tudo porque aparece um código de erro.
Penso que o plugin deveria aceitar o valor retornado, assim como a mensagem de erro, e mostrar esta ao utilizador.