claudiosanches / woocommerce-correios

Correios shipping to the WooCommerce WordPress plugin
http://wordpress.org/plugins/woocommerce-correios/
GNU General Public License v2.0
155 stars 96 forks source link

Add support for International Shipping methods #255

Closed gutobenn closed 1 year ago

gutobenn commented 1 year ago

This PR adds support for international shipping methods using the new API. I've tested it with Exporta Fácil Standard and Exporta Fácil Expresso.

sebosfato commented 1 year ago

Não funcionou para mim… Dindt work for me… i changed the files you indicated but no result

claudiosanches commented 1 year ago

Obrigado pela ajuda, mas no caso eu estou querendo adicionando um método de entrega novo pra isso, já que tem alguns regras diferentes.

gutobenn commented 1 year ago

@claudiosanches Beleza, espero que meu código seja útil :)

Tô usando em produção, sem problemas por aqui.

claudiosanches commented 1 year ago

@gutobenn acho que ajuda sim, este final de semana eu devo já consegui fazer isso.

sebosfato commented 1 year ago

Alguma atualização no assunto?

@gutobenn no caso tava aqui tentando fazer funcionar vc usou os metodos antigos e para user name e password foi o que CNPJ e aPI key ou o password msm do correio?

sebosfato commented 1 year ago

eu obtenho esta resposta aqui dizendo que não esta autorizado somente quando uso o cnpj e api key do contrario o status é 401..
[body] => {"statusCode":403,"mensagem":"IWS101 - Autorização de acesso negada para o sistema.","excecao":"br.com.correios.infraws.exception.AutorizacaoException","classificacao":"TECNICA","causa":"AutorizacaoException: IWS101 - Autorização de acesso negada para o sistema.","url":"https://cws2.correios.com.br/precoprazoservice/rs/v1/internacional/preco-prazo/45110","user":"xxxxxxCNPJxxxx”}

é possivel que o serviço não esteja ativo na minha conta? se não estiver como ativar?

na minha agencia me disseram que estaria tudo ativo mês passado quando me informei…

alguma idéia pf?

gutobenn commented 1 year ago

@sebosfato Testei aqui e parece que os métodos antigos (esses da API https://cws2.correios.com.br/precoprazoservice/rs/v1/internacional/preco-prazo) não estão mais funcionando.

Então acho que você tem duas opções:

  1. Aguardar o suporte aos envios internacionais ser adicionado ao plugin. Acho que é o mais recomendado se você puder esperar.

  2. Se você realmente tem urgência, talvez faça sentido aplicar essas modificações que eu fiz no plugin, mas neste caso é bem importante que você saiba o que está fazendo e que, quando o plugin for atualizado, vai precisar editar ou talvez até recriar os métodos de entrega internacionais. Você disse que já tentou aplicar as alterações nos arquivos e deu algum problema, né... Mas eu acho que deve ter faltado algo, pois eu tenho usado o mesmo código em produção por aqui sem problemas. Se você quiser, como experimento, pode tentar baixar o ZIP com a versão do meu branch modificado e testar se funciona por aí https://github.com/gutobenn/woocommerce-correios-1/archive/refs/heads/new_api_international.zip Fazendo isso você consegue saber se está tudo certo no seu contrato para usar os envios internacionais ou não. Qualquer coisa, se aparecer alguma mensagem de erro, pode colar aqui que tento te ajudar. Mas lembrando que esse branch está parado na versão 4.1.4, e o do Cláudio já está na 4.1.8.

sebosfato commented 1 year ago

Eu fiz exatamente isso ai como vc descreveu… a versão fico como 4.1.4
mas acho minha conta do correio talvez o serviço não esta ativo mesmo. Ao entrar em contato dessa vez com a agencia me passaram um formulário para assinar e pedir a possível liberação dos serviços pra conta. Agradeço muito a ajuda.

Tenho uma sugestão que acho que seria interessante adicionar ao plugin que é permitir a configuração por instancia… desta forma poderia-se adicionar mais de uma conta de correios permitindo um site ter vários distribuidores pelo brasil por exemplo…

isto tmb facilitaria a configuração pois ficaria tudo no mesmo lugar, e desta forma bastaria colocar uma caixa de seleção com os serviços desejados para aquela instancia de modo a escolher o que o cliente poderá escolher… outra coisa seria poder adicionar endereço personalizado em cada instancia… (basta dizer qual o usuário e pegar os dados salvos para ele por ex)

estou tentando fazer um plugin para transportadoras de modo a um site poder vender no mundo todo com varias contas diferentes… seria legal ter no plugin de vcs para um site brasileiro poder vender para varios lugares cadastrando a conta que esta melhor para aquela regiao…. etc

Obrigado demais!!! espero um dia poder contribuir ai com uma doação para o projeto!

claudiosanches commented 1 year ago

Valeu pela força, fiz a implementação aqui: https://github.com/claudiosanches/woocommerce-correios/pull/261

sebosfato commented 1 year ago

Funcionou perfeito muito obrigado amigos! Parabéns demais pelo trabalho!!!

sebosfato commented 1 year ago

Apenas agora testando notei que o economic só aceita poucas gramas… sendo que supostamente deveria ser até 2 kg … e o premium não aparece se configurado… declarando valor de seguro o valor não altera tmb aparentemente…

gutobenn commented 1 year ago

@sebosfato Não cheguei a testar essa versão atualizada do plugin, mas:

sebosfato commented 1 year ago

Ola guto obrigado pela ajuda!

no caso to usando EUA California Los Angeles 90011 e o premium meio q não ta aparecendo msm pelo que vi aqui numa tabela dos países do correios do exporta fácil acho que não existe mais esse serviço premium no exporta fácil…

O economic so mostra com poucas gramas acima de 150 gramas ja não mostra

Neste exemplo abaixo não mostra e as medidas está errado era pra ser 6 x 21 x 27 ta retornando assim no log…. 10-30-2023 @ 12:49:06 - Weight and cubage of the order: Array ( [weight] => 362 [height] => 11.4 [width] => 11.4 [length] => 27 )

As medidas não esta pegando do produto tmb exatamente na vdd.. neste log deveria ser tipo 6 x 21 x 27… mas ficou 11x11x27

///

no caso o produto tem um valor de 170 dolares… então deveria talvez aumentar com o seguro o frete ta dando uns 35 dolares 38 .. dá o mesmo preço para um produto de 1 dolar… !!

////

o economic aparece só se forem poucas gramas como neste log aqui ( [weight] => 10 [height] => 3.2 [width] => 11 [length] => 16 )

Se quiser dar uma olhada nele funcionando ta ativo la no site da gardentoy…

Acredito que a forma de somar as cubagens pode estar causando isso…

Neste exemplo abaixo micro aspersor com 30 unidades ja não aparece o economic… 150gr 10-30-2023 @ 13:08:46 - Weight and cubage of the order: Array ( [weight] => 150 [height] => 12.5 [width] => 12.5 [length] => 16 )

as medidas dele Weight 0.005kg

4 × 3.5 × 1.5 cm

como pode ver o 16 ficou constante então deve ter algo estranho no código

No caso de cima tmb o comprimento é a unica medida correta..

mesmo o peso cubado de 12,5x12,5x16 daria 0,5kg

Desculpe se talvez este não for o local adequado para a discussão me avisa.. só achei que talvez com esses feedbacks fique mais facil corrigir os bugs talvez..