Integrar o Pimcore com o WooCommerce é fazer do Pimcore a fonte única do catálogo e do WooCommerce a montra que o publica. O Pimcore guarda produtos, atributos, ativos e relações entre eles; o WooCommerce recebe essa informação por API e trata do carrinho, do pagamento e das encomendas. A ligação faz sentido quando o catálogo é grande ou muda com frequência.
Para a empresa, o ganho está em deixar de corrigir o mesmo produto em vários sítios: descrições, atributos e imagens são tratados uma só vez e seguem para a loja. Se o seu catálogo já passa por mais de um canal, esta decisão faz parte de uma estratégia de integração de PIM com ecommerce e não só de um plugin.
Neste artigo vê quando compensa, como se liga tecnicamente segundo a documentação oficial, que dados seguem em cada sentido, os passos de um projeto, os riscos mais comuns e uma lista de verificação para validar antes de arrancar.
Quando compensa integrar o Pimcore com o WooCommerce
Compensa quando o trabalho manual de manter o catálogo na loja já custa mais do que manter uma integração. O sinal mais claro é a mesma informação de produto estar a ser escrita à mão em mais de um sítio.
- o catálogo tem muitos atributos técnicos, variantes ou tabelas de características que o editor de produtos do WordPress não gere bem
- vende em mais de um canal e precisa do mesmo conteúdo em todos
- várias pessoas editam produtos e é preciso controlar quem altera o quê
- os dados chegam de fornecedores ou do ERP e precisam de tratamento antes de irem para a loja
Não compensa, por agora, com algumas dezenas de produtos simples e poucas alterações por mês. Nesse caso, uma importação por ficheiro bem preparada resolve e evita manter uma plataforma que a equipa não vai aproveitar.
Como se liga tecnicamente o Pimcore ao WooCommerce
Liga-se por API: o Pimcore expõe os dados através do Datahub e o WooCommerce recebe-os pela sua API REST. Não existe uma ligação nativa entre os dois, pelo que alguém tem de escrever e manter o conector, seja um módulo à medida, seja uma ferramenta de integração.
Do lado do Pimcore, segundo a documentação oficial, o Datahub inclui por defeito uma API GraphQL e pode ser alargado com adaptadores. Cada endpoint tem o seu próprio esquema, e é possível limitar os dados expostos por endpoint através de áreas de trabalho e esquemas. O formato do endereço é /pimcore-graphql-webservices/ seguido do nome da configuração, com a chave de API enviada como parâmetro.
A mesma documentação distingue consultas, que leem dados, de mutações, que os alteram no Pimcore, e aplica-as a documentos, ativos e objetos de dados. Existe ainda um adaptador de importação de dados, que lê CSV, JSON, XML e XLSX a partir de fontes como SFTP ou HTTP e escreve em objetos do Pimcore com um mapeamento configurável.
Do lado do WooCommerce, a documentação da API REST indica que a versão atual é a v3. O endpoint de produtos aceita um pedido em lote em /wp-json/wc/v3/products/batch, com listas de criação, atualização e eliminação. Por defeito, cada lote tem um limite de 100 objetos, e os exemplos oficiais usam autenticação básica com chave e segredo de consumidor.
Na prática, isto determina o desenho: o Pimcore publica o catálogo, um processo intermédio transforma os campos e envia lotes de até 100 produtos para o WooCommerce. Para o sentido inverso, as encomendas, o WooCommerce pode notificar o sistema ou ser consultado por intervalos.
Que dados vão em cada sentido
A regra é cada dado ter um único sistema mestre. Esta tabela é o ponto de partida que usamos para fechar o mapeamento antes de qualquer código.
| Dado | Sistema mestre | Sentido |
|---|---|---|
| Nome, descrição e atributos | Pimcore | Pimcore para loja |
| Imagens e documentos | Pimcore | Pimcore para loja |
| Variantes e relações | Pimcore | Pimcore para loja |
| Preço e stock | ERP ou Pimcore | Origem para loja |
| Encomendas | WooCommerce | Loja para ERP |
| Dados de clientes | WooCommerce | Loja para ERP |
| Estado da encomenda | ERP | ERP para loja |
Se o preço e o stock vivem no ERP, não devem passar pelo Pimcore só por conveniência. Cada passagem acrescenta atraso e um ponto onde o valor pode ficar desatualizado. Veja como esta divisão se aplica a ERP com WooCommerce num caso comparável.
Passos para integrar o Pimcore com o WooCommerce
- Definir o âmbito. Que produtos, que atributos e que idiomas entram na loja, e o que fica só no Pimcore.
- Fechar o mapeamento. Cada atributo do Pimcore ligado a um campo do WooCommerce, a uma taxonomia ou a um atributo de produto.
- Preparar o endpoint. Criar a configuração do Datahub, definir o esquema e limitar a área de trabalho ao que a loja precisa.
- Construir o conector. Ler do Pimcore, transformar e enviar para o WooCommerce em lotes dentro do limite.
- Testar num ambiente de ensaio. Com cópia do catálogo real, incluindo variantes, produtos sem imagem e caracteres especiais.
- Carga inicial e sincronização. Primeiro a carga completa, depois alterações incrementais.
- Monitorizar. Registos de erros, alertas e uma rotina para rever o que falhou.
A ordem importa. Um erro de mapeamento descoberto depois da carga inicial obriga a corrigir centenas ou milhares de produtos já publicados, e isso é bem mais caro do que gastar mais uma semana a fechar o mapeamento.
Riscos mais comuns e como os evitar
| Risco | Sinal | Prevenção |
|---|---|---|
| Variantes mal ligadas | Produtos simples em vez de variáveis | Testar variantes antes da carga |
| Atributos sem correspondência | Campos vazios na loja | Mapeamento fechado por escrito |
| Lotes demasiado grandes | Pedidos rejeitados | Respeitar o limite de 100 |
| Imagens em falta | Produtos sem foto | Validar ativos antes de enviar |
| Duas fontes de preço | Preço diferente do ERP | Um único sistema mestre |
O risco que mais custa é o SEO. Se o conector alterar títulos, descrições ou endereços de produtos já indexados, a loja pode perder posições sem ninguém reparar. Convém decidir antes quem controla o conteúdo otimizado: se é o Pimcore ou o WordPress. Para lojas em WordPress, a nossa agência de SEO especializada em WordPress trabalha esta fronteira com a equipa de catálogo.
Outro risco é a exposição de dados. O endpoint do Datahub devolve o que o esquema permitir, por isso a chave de API deve ter apenas o âmbito necessário e não deve ser reutilizada noutros sistemas.
Lista de verificação antes de arrancar
- existe um responsável por cada sistema e por cada grupo de dados
- o mapeamento de atributos está fechado e assinado pelas duas equipas
- o limite de lote do WooCommerce está respeitado no conector
- há um ambiente de ensaio com cópia do catálogo
- os endereços e títulos otimizados dos produtos existentes não são sobrescritos
- os erros ficam registados e alguém os revê com periodicidade definida
- a chave de API do Datahub tem âmbito mínimo
- há um plano de regresso caso a carga inicial falhe
Se mais de duas respostas forem negativas, o projeto ainda não está pronto para desenvolvimento. Vale mais resolver essas lacunas primeiro do que descobri-las com a loja em produção.
Alternativas ao Pimcore para a mesma ligação
Se o catálogo é mais pequeno, outros PIM podem ser suficientes. Pode comparar com Akeneo e WooCommerce, Sales Layer e WooCommerce, Salsify e WooCommerce ou Plytix e WooCommerce. A escolha depende do volume, do número de canais e da equipa que vai manter o sistema.
Como trabalhamos na Avafa
Começamos pelo mapeamento e pela divisão de sistemas mestre, não pelo código. Só depois desenhamos o conector e o plano de testes, sempre com o catálogo real e com atenção ao que já está indexado. Se quiser ver como organizamos estes projetos, conheça a nossa agência especializada em integrações de catálogos.
Perguntas frequentes
O Pimcore tem um conector oficial para o WooCommerce?
Na documentação consultada do Datahub não consta um conector para o WooCommerce. A ligação faz-se com a API GraphQL do Pimcore e a API REST do WooCommerce, através de código à medida ou de uma ferramenta de integração.
Posso enviar o catálogo completo de uma só vez?
Pode, mas dividido em lotes. A API REST do WooCommerce limita cada pedido em lote a 100 objetos por defeito, pelo que a carga inicial é uma sequência de pedidos controlados.
Onde devo gerir o conteúdo de SEO dos produtos?
Num só sítio. Se o Pimcore for o mestre, o conector deve enviar também os campos de título e descrição; se for o WordPress, o conector não os deve sobrescrever.
Preciso do módulo de importação de dados do Pimcore?
Só se parte do catálogo chegar em ficheiros de fornecedores. Esse módulo lê CSV, JSON, XML e XLSX e escreve nos objetos do Pimcore com um mapeamento configurável.
Quanto tempo demora um projeto destes?
Depende do número de atributos, das variantes e do estado dos dados de origem. Só se pode estimar com o mapeamento fechado, por isso evitamos prazos genéricos.