WooCommerce ERP / wholesaler API sync
O meu veredicto
Sincronize o WooCommerce com APIs de ERP e grossistas através de tarefas agendadas e idempotentes: mapeamento declarativo de campos (EAN/índice), regras de margem na escrita e proteção de stock que oculta itens indisponíveis. Trate a loja como uma cache; o fornecedor é a fonte da verdade.
Briefing do profissional
Porque o adotámos
As lojas que revendem o catálogo de um distribuidor não são donas da verdade do seu inventário, o fornecedor é. Implementámos este padrão para uma loja de peças automóveis ligada à API REST de um grossista com dezenas de milhares de índices: a loja é uma cache com checkout, o grossista é a fonte de registo. Aceite essa inversão, o catálogo, o stock e o preço passam a manter-se sozinhos e desaparecem os dois modos de falha caros (vender aquilo que o fornecedor não tem, vender abaixo de um preço de custo que mudou).
As mecânicas que contam
Mapeamento declarativo de campos com chave no EAN e no índice do fornecedor (atributos, media e blobs de descrição HTML mapeiam para produtos e variações WooCommerce sem criar duplicados nas repetições). A proteção de stock é deliberadamente burra: o fornecedor diz indisponível, o produto deixa de poder ser comprado, sem espertezas. O preço é o custo mais regras de margem calculadas no momento da escrita, por isso o dono orienta a rentabilidade editando regras, não milhares de preços.
Cicatrizes de produção
A cadência tem de ser dividida (polling leve e frequente para stock e preço, atualização pesada e rara para catálogo completo e media) ou derrete-se um alojamento partilhado. Não a conduza pelo WP-Cron disparado no carregamento da página, use tarefas agendadas a sério. Os ciclos têm de ser idempotentes (uma sincronização que morre a meio repete-se, não se repara). E atenção ao inchaço da wp_postmeta: um escritor descuidado arruína o desempenho das queries muito antes de alguém suspeitar da sincronização. Troque o grossista por um ERP com API (Comarch, Dynamics 365, NetSuite) e a forma é idêntica.
Adicionado: 2026-07-07 · Última revisão: 2026-07-07