Integrações do WooCommerce com ERP e APIs de grossistas

Integrações do WooCommerce com ERP e APIs de grossistas

5.00/5 - (17 votes)
15 min de leitura
Guia
Especialista WooCommerce
Consultor empresarial

Quem: Mariusz Szatkowski com especialistas seniores escolhidos para cada projeto, programadores de WooCommerce que constroem integrações de lojas com sistemas externos por API.

O quê: Sincronizar o WooCommerce com sistemas ERP, grossistas e CRM: catálogo, stock e preços em tempo real, mapeamento de dados, margem automática.

Onde: Remotamente para clientes na UE e no resto do mundo. Integramos com a API do sistema que já utiliza, sem o obrigar a mudar de fornecedor de ERP.

Quanto custa: Orçamento individual depois de analisarmos a API do sistema de origem, o número de referências e o sentido da sincronização. Começamos com uma breve análise de âmbito.


Integrações do WooCommerce com ERP e APIs de grossistas

Uma integração não é a construção de uma loja de raiz. É a camada que liga o WooCommerce ao sistema que já gere o seu negócio: um ERP, um grossista ou um CRM. O objetivo é um fluxo de dados consistente, para que o catálogo, o stock e os preços da loja reflitam a realidade sem trabalho manual.

Se precisa de ajuda geral para construir e fazer crescer uma loja, comece pela página do programador de WooCommerce. Esta página trata de um problema mais restrito e técnico: a troca de dados entre o WooCommerce e sistemas externos.

Com quem trabalha

  • WordPress comercial desde 2006, antes do Gutenberg e da REST API
  • Conduzido por sénior: o engenheiro do discovery é o mesmo na semana seis
  • Sem passagem para offshore, sem camada de PM faturada
  • Organizador da WordCamp Europe, mentor WordPress Foundation Credits
  • Shopify Academy: percurso CRO e Partner Marketing (Credly, 2025)

Credenciais Shopify Academy

O que é realmente uma integração do WooCommerce

Na maioria das lojas, a verdade sobre os produtos não vive no WooCommerce. Vive no ERP, no sistema de armazém ou numa API de grossista. O WooCommerce é a frente de vendas, mas o stock, os preços e parte dos dados de produto vêm de outro lado. Uma integração é a camada que mantém esses dois mundos em concordância.

Na prática, uma integração responde a três perguntas:

  • O que sincronizamos - catálogo, atributos, níveis de stock, preços, encomendas, dados de clientes.
  • Em que sentido - unidirecional (o sistema de origem dita à loja) ou bidirecional (por exemplo, as encomendas voltam para o ERP).
  • Com que frequência - desde consultas agendadas de poucos em poucos minutos até atualizações desencadeadas por eventos através de webhooks.

O que pode integrar com o WooCommerce

Sistema de origemO que costumamos sincronizarSentido
ERP (Dynamics 365, SAP Business One, NetSuite, Odoo)Catálogo, stock, preços, encomendas, faturasUni ou bidirecional
Grossista / dropshipping (API do fornecedor)Sortido, stock, preços de compra, media, descriçõesUnidirecional para a loja
CRMClientes, encomendas, estados, segmentaçãoNormalmente bidirecional
Sistemas de transportadoras (DHL, DPD, UPS)Etiquetas, estados de envio, pontos de recolhaBidirecional
Gateways de pagamentoPagamentos, reembolsos, estados de transaçãoBidirecional

Não tem de fazer tudo de uma vez. O primeiro passo mais comum é a sincronização de stock e preços, porque é o que se paga mais depressa em tempo de apoio recuperado e reembolsos evitados.

Como funciona a sincronização de dados

A mecânica é semelhante em todos os casos, quer a origem seja um ERP quer uma API de grossista. Muda a origem, não o princípio.

Mapeamento de dados

O sistema de origem descreve os produtos com a sua própria estrutura de campos. A primeira tarefa de uma integração é traduzir isso para o modelo de produtos e atributos do WooCommerce: EAN e referência como as chaves que ligam os registos, atributos técnicos para atributos e variações, media e descrições para as páginas de produto. Mantemos o mapa de campos declarativo, por isso adicionar um novo parâmetro significa alargar o mapeamento, não reescrever a lógica.

Sincronização de stock e preços

O núcleo da maioria das integrações é a consulta agendada de duas coisas: nível de stock e preço. Os artigos indisponíveis no sistema de origem são automaticamente ocultados ou marcados como indisponíveis, o que elimina a falha mais cara que uma loja pode cometer - vender algo que não pode ser cumprido. Uma alteração de preço no sistema de origem propaga-se para a loja no ciclo seguinte.

Lógica de margem

Os preços de um ERP ou grossista são, normalmente, o custo e não o preço de venda. Acima da camada de recolha de dados fica a lógica de margem: o sistema aplica uma margem definida sobre o preço de origem e só o resultado chega ao WooCommerce. O proprietário controla a rentabilidade com regras, não editando preços à mão.

Uma integração real

A mesma mecânica está por trás do nosso projeto para uma loja de peças automóveis ligada diretamente à API REST de um grossista: integração do WooCommerce com API de grossista. Nesse caso, o catálogo, o stock e os preços mantêm-se atualizados sozinhos, e a margem protege a rentabilidade face a uma lista de fornecedor em constante mudança.

Conector existente ou integração à medida?

Comece por verificar se existe um conector para a edição exata do seu ERP e a forma como está instalado. Compare o mapeamento documentado, a frequência de atualização, a comunicação de erros e a recuperação após falhas com o processo de que a empresa precisa.

OpçãoQuando considerarO que verificar antes de escolher
Conector existenteO funcionamento documentado cobre o processo necessárioSuporte para o produto e versão exatos, mapeamento de campos e testes representativos de recuperação
Integração à medidaO conector disponível não cobre um comportamento necessárioDescrição escrita da lacuna, mapeamento acordado e testes de aceitação
Avaliação de viabilidadeO acesso à API ou o funcionamento do conector não são clarosDocumentação do fornecedor, restrições de acesso e ambiente de teste

O projeto com a API do grossista, ligado acima, é um exemplo de implementação publicado. Os cenários de arquitetura ERP abaixo ilustram abordagens possíveis; mencionar um fornecedor não comprova compatibilidade com todas as edições ou formas de instalação. Confirme a documentação relevante e os resultados dos testes antes de acordar o âmbito.

Com que sistemas ERP integramos

Uma distinção importante: integramos o WooCommerce com a API destes sistemas, não implementamos o ERP em si. Este é trabalho de WordPress, PHP e troca de dados, não consultoria de ERP.

  • ERP na cloud: Microsoft Dynamics 365 Business Central, SAP Business One, Oracle NetSuite, Odoo. Estes expõem APIs REST, o que mantém a ligação à loja limpa.
  • Contabilidade e ERP nacionais: sistemas como PHC, PRIMAVERA ou Sage consoante o mercado, normalmente integrados através da sua API ou de uma camada de middleware.

Se o seu sistema não estiver na lista mas tiver alguma API ou exportação de dados, é geralmente possível integrá-lo.

Como arquitetamos integrações para ERPs específicos

Cada ERP tem a sua própria API, formato de dados e armadilhas. Abaixo fica a forma como abordamos os sistemas mais comuns. São padrões de arquitetura, não um plugin comprado por uns euros.

SAP Business One - escala e o problema do wp_postmeta

Distribuição industrial: dezenas de milhares de produtos ativos, atualizações de preços frequentes (várias vezes ao dia quando o câmbio se mexe), centenas de atributos. A estrutura EAV predefinida do WordPress guarda cada atributo em wp_postmeta, o que a essa escala inflaciona para milhões de linhas; as atualizações de preços em tempo real provocam então deadlocks no MySQL e timeouts 504 para os compradores.

  • HPOS e tabelas personalizadas: deixamos de escrever atributos em wp_postmeta e usamos uma tabela MySQL plana dedicada, construída para as consultas do SAP B1.
  • Elasticsearch como camada de pesquisa: o SAP atualiza os dados no Elasticsearch via API e a frente vai buscar resultados e filtros a partir daí, contornando o MySQL. Esta camada pode reduzir o TTFB de segundos para a ordem dos ~150 ms.
  • Filas (RabbitMQ): as atualizações do SAP entram numa fila de mensagens e um worker em segundo plano vai buscando lotes de algumas centenas de produtos de cada vez, mantendo a loja responsiva 24/7.

Microsoft Dynamics 365 (com BaseLinker e POS)

Um grande retalhista a vender através do WooCommerce, de marketplaces (via BaseLinker) e de lojas físicas com um POS sobre o Dynamics 365. Sem uma hierarquia rígida obtém-se ciclos de sincronização e condições de corrida (a última unidade vendida na loja física e um segundo depois num marketplace), produzindo stock negativo.

  • Fonte única de verdade: impomos uma hierarquia em que o Dynamics é o mestre absoluto e o WooCommerce e o BaseLinker são escravos.
  • Camada Redis: em vez de consultar constantemente a API lenta do Dynamics, executamos o Redis em memória. Uma venda na loja física dispara um webhook que atualiza o Redis, e o WooCommerce e o BaseLinker verificam a disponibilidade no Redis (resposta de poucos milissegundos) antes de finalizar um carrinho, eliminando a sobrevenda.

Odoo (open source) - configuradores por encomenda

Os fabricantes configuram produtos no Odoo (uma lista de materiais) onde o preço de um componente depende de outras escolhas. As variações do WooCommerce não conseguem modelar isso, e transpor a lógica de produção para PHP produz código impossível de manter.

  • Abordagem desacoplada / headless: o WooCommerce é o carrinho e o sistema de transações (pagamento, emails), enquanto o frontend (Astro/Vue) fala diretamente com a API do Odoo, pedindo preços e viabilidade de produção em tempo real. No “adicionar ao carrinho”, é enviado para o WooCommerce um produto personalizado com um preço calculado pelo Odoo e um PDF de especificação gerado, sem duplicar a lógica de negócio.

Comarch Optima, InsERT Subiekt, enova365 (mercado polaco e da Europa Central e de Leste)

  • Comarch Optima: o Optima expõe dados através de um WebService/API, por isso construímos middleware dedicado em PHP e usamos sincronização diferencial (delta) - um trabalho CRON pede apenas as referências alteradas na última janela, reduzindo a carga do MySQL numa ordem de grandeza face a uma importação completa. Os preços B2B são calculados em tempo real a partir do grupo de desconto do cliente, em vez de guardados como milhares de variações de preço em wp_postmeta.
  • InsERT Subiekt GT / nexo: troca de dados através de EPP e API; uma reserva rígida bloqueia o stock no Subiekt durante alguns minutos no checkout para evitar a sobrevenda em picos, e um documento de correção dispara um webhook que muda a encomenda do WooCommerce para devolvida e repõe o artigo em stock.
  • enova365: para produtos com muitas variantes (cores x tamanhos, cada um com o seu próprio EAN) usamos variantes planas mapeadas para JSON e carregadas de forma assíncrona por REST, em vez de gerar centenas de milhares de posts product_variation.

JTL-Wawi (Alemanha) e Holded (Espanha)

  • JTL-Wawi: omnicanal com múltiplos armazéns. O encaminhamento lógico analisa o código postal do cliente e escolhe algoritmicamente o armazém com envio mais rápido; o tratamento do One Stop Shop recalcula o IVA em tempo real por país de destino, para que a fatura no JTL tenha a taxa correta. O WooCommerce corre em paralelo com o BaseLinker para a Amazon e o eBay.
  • Holded: um ERP na cloud, API-first - uma integração totalmente sem ficheiros sobre a API REST nativa com autenticação por token e webhooks. A lógica de faturação reconhece o valor do carrinho e sinaliza ao Holded para gerar o tipo de documento correto (por exemplo, uma fatura simplificada para valores pequenos), devolvendo um PDF para anexar ao email do WooCommerce.

Quando um plugin deixa de bastar

Com dezenas de milhares de índices e atualizações de preços várias vezes por dia, a tabela predefinida wp_postmeta incha para milhões de registos, e a sincronização em tempo real provoca deadlocks no MySQL e erros 504. É o limite a partir do qual um plugin pronto deixa de bastar e começa a arquitetura descrita abaixo.

Arquitetura enterprise: desempenho e fiabilidade

À escala de um grande ERP passamos para além do “instalar um plugin”. Isto é engenharia exigente:

  • Headless / desacoplado: o WordPress é o motor de administração (backend) e a loja renderiza em Astro ou Next.js, acedendo a uma API GraphQL ou REST e contornando o SQL lento, o que torna a loja mais rápida e mais resiliente. Mais em soluções enterprise.
  • Processamento assíncrono (filas): sincronizar dezenas de milhares de produtos num simples script PHP dá timeout. Baseamo-nos em filas (RabbitMQ ou Redis) que processam pequenos blocos em segundo plano.
  • Tratamento de erros e registo: se a API do ERP não responder, bloqueamos o checkout com uma mensagem em vez de aceitar encomendas para o vazio; o registo completo de erros permite um diagnóstico rápido.
  • Guia de arquitetura de referência: para uma análise exaustiva de sincronização bidirecional, chaves de idempotência, bloqueios de transação MySQL e ciclos de reconciliação, consulte o nosso guia de arquitetura de integração WooCommerce ERP 2026.

Como dimensionamos a solução

Nem todas as lojas precisam de filas e Elasticsearch. O volume define o limiar: algumas centenas de produtos só precisam de um middleware bem escrito, enquanto dezenas de milhares de índices e tráfego B2B exigem uma camada de filas e cache. Ajustamos a arquitetura à escala, não o contrário.

Problemas técnicos que resolvemos

  • Limitação de pedidos da API (429): os sistemas na cloud limitam os pedidos. Implementamos exponential backoff (perante um 429 o script espera e volta a tentar) mais chunking, empacotando dados em pedidos JSON bulk-update em vez de milhares de chamadas individuais.
  • Incompatibilidades de tipo de dados (arredondamento): um ERP pode guardar preços com quatro casas decimais enquanto o WooCommerce espera duas. No middleware aplicamos type casting estrito e reconciliamos o arredondamento por linha de fatura, evitando erros ao cêntimo que se acumulam ao longo de centenas de encomendas.
  • Imagens, largura de banda e o limite de inodes: importar imagens físicas para a biblioteca de media do WordPress (gerando vários thumbnails cada uma) esgota o limite de ficheiros do servidor. Em vez disso, servimos as imagens a partir de armazenamento externo (Amazon S3 ou Cloudflare Image Resizing) através de URLs mapeados a partir do ERP, poupando espaço e acelerando a própria sincronização.

Quando vale a pena considerar uma integração

  • Atualiza o stock e os preços à mão ou por importação de ficheiros, e isso não é escalável.
  • Recebe encomendas de produtos que o fornecedor não tem realmente em stock.
  • Os preços da loja afastam-se da lista de preços do grossista ou do ERP.
  • As encomendas têm de ser reintroduzidas à mão no sistema de contabilidade ou de armazém.
Em que difere uma integração WooCommerce-ERP da construção de uma loja WooCommerce?#
Na WPPoland construir uma loja significa configurar e desenvolver o próprio WooCommerce, que é o que a página do programador de WooCommerce cobre. Uma integração é um trabalho mais restrito: ligar uma loja existente a um sistema externo (ERP, grossista, CRM) para que os dados se sincronizem automaticamente. Fazemos os dois com frequência, mas são âmbitos diferentes.
Integram com o meu sistema ERP?#
Integramos o WooCommerce com a API dos sistemas ERP, não implementamos o ERP em si. Do lado da cloud ligamo-nos ao Dynamics 365 Business Central, SAP Business One, NetSuite e Odoo; a nível nacional a sistemas de contabilidade e ERP como PHC, PRIMAVERA e Sage através da sua API. Se o seu sistema tiver alguma API ou exportação de dados, é geralmente possível integrá-lo.
A sincronização é unidirecional ou bidirecional?#
Depende da necessidade. Na maioria dos casos o stock, os preços e o catálogo fluem num só sentido, do sistema de origem para a loja, e as encomendas fluem em ambos os sentidos, de volta para o ERP ou CRM. Definimos o sentido durante a análise de âmbito.
Com que frequência são atualizados os dados?#
Desde consultas agendadas de poucos em poucos minutos até atualizações desencadeadas por eventos através de webhooks. Normalmente dividimos a sincronização em leve e frequente (stock, preços) e mais pesada e menos frequente (catálogo completo, media), para não sobrecarregar a API do fornecedor nem a loja.
O que acontece quando um produto fica sem stock no fornecedor?#
No ciclo seguinte a integração marca esse artigo como indisponível ou oculta-o, para que o cliente não possa comprar um produto que não pode ser cumprido. Quando a disponibilidade regressa, o produto volta automaticamente.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco
Cluster relacionado

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

Recomendações do LinkedIn

Recomendações e opiniões sobre o trabalho com a WPPoland

Recomendações selecionadas de líderes das comunidades WordPress, WordCamp e e-commerce - com ênfase no cumprimento de prazos, profundidade técnica e abordagem orientada ao negócio no desenvolvimento WordPress.

Karolina Czapla

Karolina Czapla

Estratega de Marketing, Performance & Digital Strategy

“Trabalhar com o Mariusz no WordCamp mostrou‑me como é raro combinar competências técnicas profundas com verdadeira liderança. Planeia, coordena e entrega com precisão, dando ao mesmo tempo espaço para a equipa crescer. Q...”

Co‑organizadora, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“O portefólio do Mariusz fala por si. Reflete precisão, versatilidade e um forte sentido de responsabilidade. Pode confiar nele para conduzir um projeto da ideia até à entrega, mantendo todas as partes informadas.”

Trabalhámos na mesma equipa

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

Gestora de Projetos TI & Product Owner, Web/App

“Durante mais de dois anos pude sempre contar com o Mariusz para tarefas WordPress, desde styling e templates até integrações. Traz estabilidade à equipa e mantém a parte de frontend sob controlo.”

Mariusz foi seu cliente em projetos WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz é o colega de equipa que todos gostariam de ter: fortes competências full‑stack em WordPress, explicações claras e uma atitude positiva mesmo sob pressão. Move‑se facilmente entre plugins, performance e layouts G...”

Trabalhámos juntos em projetos WordPress

Varun Patil

Varun Patil

Líder de Growth & CRM

“Para além do desenvolvimento, o Mariusz entende SEO, analytics e growth. Fala diretamente com stakeholders, faz as perguntas certas e entrega soluções que mexem nos indicadores de negócio, de AMP a tracking e performance...”

Foi gestor do Mariusz em iniciativas de growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Conheço o Mariusz da comunidade WordPress há muitos anos. É fiável, muito envolvido e está sempre presente, em meetups, WordCamps e projetos. Se procura colaboração a longo prazo e alguém que trate o seu site como se fos...”

Co‑organizador da comunidade WordUp Trójmiasto & WordCamp

Daniel Blossfeld

Daniel Blossfeld

Consultor de Otimização de Processos e Digitalização

“Tive o prazer de trabalhar com o Mariusz por quase três anos. Durante esse tempo, as suas habilidades de desenvolvimento WordPress provaram ser inestimáveis em uma variedade de projetos, desde a construção de websites at...”

Mariusz foi seu cliente em projetos WordPress

Natalie Wiszczor

Natalie Wiszczor

Gestora de CRM e E-mail Marketing

“Tive o grande prazer de trabalhar com o Mariusz por mais de 4 anos na área técnica. Durante esse tempo, ele provou ser um colega competente e confiável. O que se destacou em particular foi a sua natureza amigável e a sua...”

Trabalhou com Mariusz em equipas diferentes

Mark Chalklen

Mark Chalklen

Head of Design & Build na Itineris Limited

“Mariusz é um ótimo membro da equipa, sempre feliz em se dedicar a qualquer tarefa e aprender coisas novas. Um ótimo comunicador e um cara legal para trabalhar. Difícil de vencer na nossa tabela de classificação semanal d...”

Geriu Mariusz diretamente

Jessica Di Pasquale

Jessica Di Pasquale

Liderando iniciativas de SEO com estratégias de crescimento baseadas em dados.

“Mariusz é um cara muito habilidoso, paciente e experiente. Sempre pronto para ajudar e corrigir erros, eu realmente apreciei trabalhar com ele. Ele é um ótimo colega!”

Geriu Mariusz diretamente

Biki John

Biki John

Apaixonado por Marketing de Conteúdo e Entusiasta de SEO

“Foi ótimo trabalhar com o Mariusz. Eu realmente apreciei o seu vasto conhecimento de WordPress e como isso foi útil sempre que precisei de suporte para navegar no CMS. Elogio totalmente o Mariusz pela sua paciência, bom ...”

Trabalhou com Mariusz em equipas diferentes

Rafal Borowiec

Rafal Borowiec

Desenvolvedor de Software, Consultor, Gerente e Professor

“Tive a oportunidade de trabalhar com o Mariusz por 7 meses. Ele se destaca na otimização técnica para motores de busca (SEO). Mariusz também possui forte experiência em desenvolvimento AMP, GTM e GA. Mariusz se sente mui...”

Geriu Mariusz diretamente

Belinda Koch

Belinda Koch

Analista de Web-Tracking na TUI

“Mariusz é uma ótima pessoa para trabalhar. Ele é extremamente motivado para aprender coisas novas e compartilhar o seu conhecimento, e é muito experiente em uma ampla gama de tópicos. Trabalhamos juntos em tópicos de aná...”

Trabalhou com Mariusz em tópicos de análise digital e rastreamento

Ali Nezamolmaleki

Ali Nezamolmaleki

Crescimento, SEO, Pensamento Analítico, AMP

“Mariusz é uma pessoa extremamente talentosa na sua área de trabalho. Ele é sempre capaz de dar uma nova perspetiva para resolver problemas e pensar fora da caixa em situações onde tudo parece estar bloqueado. Trabalhar c...”

Trabalhou com Mariusz na mesma equipa

Karol Jakubcewicz

Karol Jakubcewicz

Desenvolvedor Front-end / JavaScript

“Mariusz é um desenvolvedor WordPress e especialista SEO/SEM incrivelmente experiente com quem tive o prazer de trabalhar por quase dois anos. Ele foi uma das figuras-chave responsáveis pela melhoria constante do tempo de...”

Trabalhou com Mariusz na mesma equipa

Paweł Lewczuk

Paweł Lewczuk

Desenvolvedor Front-end, Desenvolvedor WordPress

“Colaborei com o Mariusz em vários projetos e a nossa cooperação foi sempre exemplar. Acredito que há muitos mais projetos conjuntos à nossa frente. Altamente recomendado!”

Mariusz foi cliente do Paweł

Przemek Wroblewski

Przemek Wroblewski

Desenvolvedor de Software com mais de 20 anos de experiência

“Encontrei no Mariusz alguém com grande experiência e conhecimento profundo de soluções frontend. Um desenvolvedor WordPress poderoso, experiente e responsável. Tem facilidade em construir relações interpessoais. Tinha a ...”

Trabalhou com Mariusz em equipas diferentes

Artigos Relacionados