Como configurar múltiplos CEPs de origem no WooCommerce

Update: eu havia testado uma vez o filtro woocommerce_correios_origin_postcode do plugin WooCommerce Correios, mas parecia haver um cache ou algo assim e não funcionava direito. Como, à época, era apenas para testes, não dei continuidade. Agora testei novamente e funciona perfeitamente. Quando eu tiver tempo, talvez atualize aqui. Mas já adianto que é muito mais simples, você define os CEPs de origem e faz a configuração, não há nenhuma dessas coisas descritas abaixo, então funciona muito bem para dezenas, centenas de vendedores.

Este recurso é bastante útil se você possui um marketplace com muitos vendedores ou pretende entregar produtos a partir de diferentes depósitos.

Não conheço nenhum plugin que faça isso no momento, mas é perfeitamente possível com criatividade e um pouco de trabalho manual.

O que iremos utilizar: Classes de entrega e Opção de múltiplos pacotes do WooCommerce.

No final, você poderá configurar diferentes métodos de entrega para cada CEP/vendedor e terá um resultado como o indicado abaixo, onde os produtos de cada CEP/vendedor são agrupados e exibem os métodos de entrega disponíveis para cada um, além de preços individuais, claro.

Resultado final da entrega com diferentes CEPs no WooCommerce

Com isso é possível que cada vendedor decida sua própria política de frete. Ou se for uma mesma loja com filiais em SP e no RJ, por exemplo, você pode definir que os produtos com origem do RJ possuem frete grátis apenas para o estado do Rio de Janeiro, já os que estão em São Paulo tem frete grátis para Sul e Sudeste.

Como fazer isso, afinal?

Como mencionei acima, requer um pouco de trabalho manual. Aqui nesse exemplo vamos considerar uma loja com 2 vendedores, mas o procedimento é o mesmo se forem 50 ou mesmo se não forem vendedores, mas diferentes estoques.

A primeira coisa é adicionar as classes de entrega:

  • Primeiro campo: o nome amigável da classe de entrega, será utilizado para selecioná-la ao criar o produto
  • Segundo campo: slug único. No caso de vendedores você pode utilizar simplesmente o ID do usuário para facilitar.
  • Terceiro campo: descrição para controle interno. Você pode inserir aí o link da página do vendedor e/ou da página de cada frete desse vendedor/depósito.

Com o nome da classe de entrega em mãos, e sabendo quais métodos quer adicionar, vamos para WooCommerce -> Configurações -> Entrega

Você pode ter Áreas de entrega, mas tenha em mente que elas serão aplicadas globalmente, antes de verificar o CEP de origem.

A configuração é bastante simples. Na imagem acima você percebe que estou editando uma área de entrega chamada Brasil e dentro dela há duas opções de “PAC”, o que só faz sentido nessa configuração.

Ao editar cada área eu informo o CEP de origem de cada vendedor, mas como o WooCommerce sabe qual método exibir para cada vendedor? Justamente com base na Classe de Entrega.

Ao editar o método você define, dentre outras coisas, o CEP de origem e também a classe de entrega associada. No meu caso, são duas: Vendedor 01Vendedor 02. Sempre que o vendedor 01 for criar um produto, ele seleciona a classe de entrega correspondente a ele, e o mesmo vale para o vendedor 02.

Até aqui já criamos uma regra para exibir um “PAC” específico para cada vendedor. No entanto, ainda vai dar erro. Se tivermos um produto de cada vendedor no carrinho, um deles não terá nenhuma forma de entrega disponível. Para resolver isso, é necessário utilizar o plugin Packages Configuration for WooCommerce. Com ele será possível separar os pacotes do WooCommerce com base em várias regras, mas iremos utilizar a classe de entrega como grupo de produtos.

As configurações do plugin também estão em WooCommerce -> Configurações -> Entrega -> Packages Grouping. Selecione a opção “Enable Package Grouping” e depois escolha defina o “Group By” como “Shipping Class”. Agora sim: na hora de comprar, cada pacote irá ter seus próprios produtos que por sua vez são definidos de acordo com o vendedor. Teremos um resultado como a primeira imagem desse post.

O processo é super simples, mas requer cuidado para que funcione corretamente.

Funciona com qualquer método de entrega?

A princípio não. Funciona bem com os Correios. Mas tem alguns plugins que permitem filtrar outros métodos de entrega com base na classe também, só pesquisar.

Mas dá para automatizar isso tudo?

Claro que sim, mas é preciso programar. Eu até ia fazer isso, mas como a loja que estou utilizando possui poucos CEPs de origem saiu mais em conta essa solução manual mesmo e não dei continuidade.

Espero que tenha ajudado, qualquer dúvida deixe um comentário que respondo quando der.

Simulador de frete na página do produto

Torne fácil o processo para seus clientes. Adicione a calculadora de frete diretamente na página do produto.

3 comentários sobre “Como configurar múltiplos CEPs de origem no WooCommerce

  1. Olá Fernando.
    Parabéns pela postagem.
    Não sei se você saberia me esclarecer isso.
    É possível ter dois locais diferentes para a opção “retirar no local”?
    Por exemplo, eu tenho duas lojas na mesma cidade, e quando o cliente for fazer o checkout gostaria de disponibilizar a opção de ele escolher onde ele quer retirar, se na loja 1 ou 2.

  2. Fernando, obrigado pela portagem

    Estou tentando inserir o Código de Rastreio para cada pedido, porém ele não aparece para o meu cliente.

    Na verdade, no pedido não tem como colocar o código de rastreio individual para cada produto, só consigo inserir para cada produto pois utilizo o plugin Multi Vendor, porém ao inserir o código no pedido, este não aparece no painel do cliente. É até gerado um e-mail informando do código, porém o painel não consegue fazer essa divisão.

    Poderia me ajudar com algum macete?

    Obrigado

Deixe um comentário