Gerenciar duas lojas virtuais distintas — uma voltada para o consumidor final (B2C) e outra exclusiva para atacado (B2B) — frequentemente se torna um gargalo operacional. O dobro de cadastros de produtos, estoques dessincronizados e custos duplicados de manutenção costumam levar gestores a cogitar migrações drásticas de plataforma. No entanto, o ecossistema WordPress oferece flexibilidade arquitetural suficiente para consolidar essas duas frentes em uma única instalação do WooCommerce, inclusive integrando sistemas de afiliação entre perfis de clientes.
Neste artigo, você entenderá a arquitetura necessária para unificar atacado e varejo sob o mesmo domínio, mantendo regras de precificação distintas, visibilidade controlada de catálogo e rastreamento de comissões.
O Desafio da Segmentação: B2C, B2B e Afiliados no Mesmo Banco de Dados
O objetivo central dessa unificação é manter uma fonte única de verdade para produtos e inventário, aplicando camadas de permissão e regras de negócio com base no papel do usuário (user role). Além disso, quando surge a necessidade de permitir que um cliente final indique compradores de atacado, o fluxo de afiliados precisa ser capaz de mapear conversões entre diferentes grupos de usuários.
Para alcançar isso dentro do WooCommerce sem comprometer o desempenho, evitamos a duplicação de SKUs. Em vez disso, trabalhamos com metadados de produto e filtros de precificação em tempo de execução.
Arquitetura Técnica: Roles, Preços e Visibilidade
A base da solução envolve a criação de papéis de usuário personalizados no WordPress, como wholesale_customer e affiliate_enduser. A partir desses papéis, interceptamos os cálculos de preço e regras de pedido mínimo.
1. Precificação Dinâmica via Hooks Nativos
Em vez de depender de múltiplos plugins pesados que reescrevem queries inteiras, a abordagem mais limpa utiliza filtros nativos do WooCommerce:
woocommerce_product_get_priceewoocommerce_product_variation_get_price: Interceptam o preço retornado para o produto simples ou variação com base nascurrent_user_can()do cliente logado.woocommerce_get_price_html: Ajusta a exibição visual para mostrar descontos em lote ou faixas de atacado apenas para usuários autorizados.woocommerce_check_cart_items: Valida limites de quantidade mínima de compra ou valor mínimo no carrinho para clientes B2B antes do checkout.
Em implementações que realizo para operações híbridas, costumo armazenar os preços de atacado em meta campos dedicados (por exemplo, _wholesale_price e _min_wholesale_qty), garantindo que as consultas permaneçam leves e indexadas.
2. Integração do Sistema de Afiliados Transversal
Para fazer com que clientes finais recebam comissões ao indicar clientes atacadistas, a camada de afiliação (estruturada via plugins robustos como AffiliateWP ou SolidAffiliate) precisa ser acoplada ao hook de registro e ao hook de checkout:
- Associação de Conta: Ao se cadastrar como atacadista através de um link de referência, o ID do afiliado B2C é gravado no
user_metado novo cliente B2B. - Atribuição Recorrente ou Específica: No hook
woocommerce_order_status_completed, a comissão é calculada aplicando percentuais específicos para pedidos B2B, diferenciando compras de atacado das compras normais de varejo.
Estratégia de Cache e Performance
Um dos principais riscos ao unificar atacado e varejo é a quebra de cache de página. Visitantes não autenticados (B2C) devem receber páginas estáticas cacheadas via CDN ou Varnish, enquanto compradores B2B logados precisam de respostas dinâmicas.
A configuração recomendada exige a segmentação de cookies de sessão para que o servidor web entregue cache completo para requisições anônimas e contorne o cache de página exclusivamente quando o cookie de autenticação do WordPress ou do WooCommerce estiver presente.
Fluxo Recomendado para a Transição
- Auditoria e Consolidação de SKUs: Exporte os catálogos de ambas as lojas e unifique-os usando o SKU como chave primária, transferindo os preços de atacado para campos personalizados do produto principal.
- Configuração de Papéis e Gateways: Defina métodos de pagamento e envio específicos por papel de usuário (ex.: faturamento a prazo ou frete FOB apenas para atacadistas logados).
- Mapeamento de Afiliados: Configure a esteira de comissionamento para identificar transações originadas por clientes finais em compras de atacado.
- Homologação em Ambiente de Staging: Teste compras simultâneas como usuário anônimo, cliente B2C comum e comprador de atacado autenticado.
Unificar essas operações sob o WooCommerce não apenas reduz custos de infraestrutura e tempo de gestão, mas também cria um ecossistema mais coeso para escalar vendas diretas e faturadas.
Se você precisa de uma análise técnica aprofundada ou de uma implementação segura para consolidar suas lojas B2B e B2C no WooCommerce sem perda de dados, entre em contato para avaliarmos a arquitetura ideal para o seu negócio.


