---
title: "Guia de integração com o WooCommerce | Tajo"
description: "Conecte sua loja WooCommerce à Tajo com o plugin Tajo for WooCommerce: eventos de engajamento, entrega durável e dados de clientes minimizados. Em andamento, ainda não verificado de ponta a ponta."
url: https://tajo.io/pt/docs/ecommerce-platforms/woocommerce/
markdown: https://tajo.io/pt/docs/ecommerce-platforms/woocommerce.md
lang: pt-BR
author: "Set Noa"
author_url: https://tajo.io/pt/set-noa/
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Guia de integração com o WooCommerce

[Set Noa](https://tajo.io/pt/set-noa/)

Este guia conecta uma loja WooCommerce à Tajo. A integração tem duas metades que trabalham juntas:

- **Plugin Tajo for WooCommerce**: captura eventos de engajamento (pedidos, carrinhos, reembolsos, avaliações, envios de formulário) dentro do WordPress à medida que acontecem e os entrega à Tajo por uma caixa de saída durável e assinada. Em 14 de outubro de 2026, o plugin foi testado em um site local; a entrega na Tajo ainda não foi verificada.
- **Conexão REST do WooCommerce**: a Tajo lê clientes, pedidos, produtos, cupons, reembolsos e avaliações da sua loja para a importação do histórico e a sincronização contínua. Veja a [referência do conector WooCommerce](https://tajo.io/pt/docs/connectors/ecommerce/woocommerce/) para a configuração somente REST.

A automação de marketing em si (e-mail, SMS, WhatsApp via Brevo e outros provedores) é configurada na Tajo, não no plugin. O trabalho do plugin é tirar eventos confiáveis de dentro do WordPress.

## Pré-requisitos

- **WordPress 6.3+** com acesso de administrador
- **PHP 7.4+**
- **WooCommerce 7.0+** (o plugin também funciona em sites WordPress sem WooCommerce; os adaptadores de e-commerce simplesmente ficam inativos)
- **Conta Tajo** com uma conexão WordPress criada
- HTTPS no endpoint da Tajo (sempre verdadeiro na Tajo hospedada)

## Passo 1: instale o plugin Tajo for WooCommerce

### Instalação manual

```bash
# Download the plugin
cd wp-content/plugins
wget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip

# Verify and unzip
unzip tajo-woocommerce-latest.zip
```

Depois ative pelo admin do WordPress:

1. Vá em **Plugins → Plugins instalados**
2. Encontre “Tajo for WooCommerce”
3. Clique em **Ativar**

Você também pode enviar o zip diretamente por **Plugins → Adicionar novo → Enviar plugin**. Um checksum SHA-256 é publicado junto com cada versão em [tajo.io/downloads/woocommerce/](https://tajo.io/downloads/woocommerce/tajo-woocommerce-1.0.0.zip.sha256). O plugin ainda não está listado no diretório do WordPress.org; a instalação manual é o caminho com suporte hoje.

## Passo 2: configure a conexão

Vá em **WooCommerce → Tajo** (em sites sem WooCommerce: **Configurações → Tajo**) e informe os três valores da sua conexão WordPress na Tajo:

| Campo | Valor |
| --- | --- |
| **Endpoint da Tajo** | A URL HTTPS de webhook exibida na Tajo, por exemplo `https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement` |
| **Binding ID** | O binding ID da conexão, obtido na Tajo |
| **Segredo de assinatura** | O segredo compartilhado (32 a 256 caracteres). O plugin gera um segredo local forte na ativação; cole-o na Tajo, ou cole aqui o segredo da Tajo |

Não há constantes de chave de API para adicionar ao `wp-config.php`. Os eventos ficam guardados com segurança na caixa de saída local até que os três valores sejam salvos.

Depois verifique o caminho de ponta a ponta:

1. Clique em **Queue test event** e depois em **Process now**.
2. A tabela da caixa de saída de entrega deve mostrar o evento como entregue.
3. Na Tajo, confirme que o evento `connection.test` chegou na conexão WordPress.

## O que o plugin envia

Cada evento é um envelope compacto, com dados pessoais minimizados, assinado com HMAC-SHA256. Só saem do WordPress os campos de identidade de engajamento (e-mail, telefone, IDs locais) e metadados limitados do evento, nunca nomes, endereços postais, endereços IP, user agents, corpos de comentários, campos livres de formulário, notas de pedido ou dados de pagamento.

### Eventos do WooCommerce

| Hook | Evento |
| --- | --- |
| `woocommerce_created_customer` / `woocommerce_update_customer` | `customer.created` / `customer.updated` |
| `woocommerce_new_product` / `woocommerce_update_product` | `product.created` / `product.updated` |
| `woocommerce_add_to_cart`, remoção de item, aplicação/remoção de cupom | `cart.updated` (com resumo do carrinho para fluxos de abandono) |
| `woocommerce_cart_emptied` | `cart.emptied` |
| `woocommerce_new_order` / `woocommerce_update_order` | `order.placed` / `order.updated` |
| `woocommerce_order_status_changed` | `order.status_changed` (+ `order.fulfilled` na conclusão) |
| `woocommerce_payment_complete` | `order.paid` |
| `woocommerce_order_refunded` | `refund.created` |
| Atualizações de status do WooCommerce Subscriptions | `subscription.status_changed` |

Os eventos de pedido carregam número do pedido, status, moeda, totais, itens do pedido e URLs prontas de avaliação e recompra, o suficiente para automações pós-compra e de recuperação sem uma chamada de API adicional.

### Eventos do WordPress

- `contact.created` / `contact.updated` / `contact.deleted` para contas de usuário
- `content.published` / `content.updated` / `content.unpublished` para conteúdo público
- `comment.created` / `comment.status_changed` para comentários de visitantes e avaliações de produtos (notas internas de pedido do WooCommerce, pingbacks e trackbacks nunca são emitidos)
- `form.submitted` para envios bem-sucedidos de **Contact Form 7**, **WPForms**, **Gravity Forms** e **Fluent Forms**; só são extraídos os campos de identidade tipados como e-mail ou telefone e os metadados do formulário, os demais campos enviados são descartados

## Confiabilidade: a caixa de saída de entrega

O plugin nunca dispara eventos para a Tajo direto de um carregamento de página. Cada evento é primeiro gravado em uma tabela de caixa de saída local, e depois entregue pelo WP-Cron com:

- Backoff exponencial limitado (até 8 tentativas, respeitando `Retry-After`)
- Dead letters com **Replay dead letters** em um clique no admin
- Limites de retenção para que um endpoint inacessível nunca acumule dados pessoais (entregues: 7 dias; na fila: 30 dias; dead letters: 30 dias após a última atualização)
- IDs de evento idempotentes, para que novas tentativas e reenvios nunca dupliquem nada no destino

Se sua hospedagem desativa o WP-Cron (`DISABLE_WP_CRON`), chame o `wp-cron.php` a partir de um agendador real pelo menos uma vez por minuto.

## O consentimento nunca é inferido

Criação de conta, checkout, compra e envios genéricos de formulário **não** são tratados como consentimento de marketing. Os eventos nativos carregam uma lista de consentimentos vazia. Para registrar consentimento explícito (por exemplo, de uma caixa de newsletter marcada), emita-o pelo hook de extensão:

```php
do_action(
    'tajo_engagement_emit',
    'consent.updated',
    array( 'email' => $email ),
    array( 'policyVersion' => '2026-07' ),
    array(
        array(
            'channel'  => 'email',
            'status'   => 'opt_in',        // or 'opt_out'
            'purpose'  => 'marketing',
            'source'   => 'newsletter_checkbox',
            'evidence' => array( 'formId' => 'newsletter-footer', 'field' => 'marketing_email' ),
        ),
    ),
    gmdate( 'c' )
);
```

O mesmo hook permite que qualquer plugin ou tema emita eventos personalizados; tudo passa pelo mesmo sanitizador, pela mesma caixa de saída e pela mesma assinatura.

## Passo 3: importação do histórico

Os eventos do plugin cobrem tudo a partir da instalação. Para o histórico anterior ao plugin, a conexão REST do WooCommerce da Tajo importa clientes, pedidos, produtos, cupons, reembolsos e avaliações existentes, configurada inteiramente do lado da Tajo com uma chave da API REST do WooCommerce (**WooCommerce → Configurações → Avançado → API REST**, permissão de leitura). Veja a [referência do conector WooCommerce](https://tajo.io/pt/docs/connectors/ecommerce/woocommerce/) para os detalhes.

## Privacidade e GDPR

- O plugin se registra em **Ferramentas → Exportar dados pessoais** e **Ferramentas → Apagar dados pessoais** do WordPress; os eventos retidos na caixa de saída para um e-mail correspondente são exportados ou apagados localmente.
- O apagamento e a entrega compartilham um mutex fail-closed, então um apagamento nunca pode informar conclusão enquanto um payload está no meio do envio.
- O apagamento local cobre apenas a caixa de saída do WordPress; envie a solicitação correspondente na Tajo para os dados no destino.
- A desativação pausa a entrega, mas mantém a configuração e os eventos na fila; **excluir** o plugin remove permanentemente a caixa de saída, as configurações, o segredo e os agendamentos.

## Compatibilidade

- **HPOS**: o plugin declara compatibilidade com o WooCommerce High-Performance Order Storage e usa apenas objetos CRUD e hooks públicos.
- **WooCommerce Subscriptions**: as mudanças de status de assinatura são capturadas quando a extensão está ativa.
- **Multisite**: a desinstalação limpa todos os sites da rede.

## Referência de operações

A descoberta server-to-server e o controle da caixa de saída ficam disponíveis para administradores por autenticação com Application Password:

| Método | Rota | Finalidade |
| --- | --- | --- |
| `GET` | `/wp-json/tajo/v1/capabilities` | Versão do plugin, adaptadores detectados, inventário de eventos, saúde da caixa de saída |
| `GET` | `/wp-json/tajo/v1/outbox` | Contagens da caixa de saída (os payloads nunca são expostos) |
| `POST` | `/wp-json/tajo/v1/outbox/process` | Processar um lote imediatamente |
| `POST` | `/wp-json/tajo/v1/outbox/replay` | Reenviar dead letters |

## Solução de problemas

| Sintoma | Causa e correção |
| --- | --- |
| Os eventos ficam em “Queued” | Endpoint, binding ID ou segredo ainda não salvos; a entrega fica pausada até que os três estejam configurados |
| Os eventos ficam em “Retrying” | O endpoint da Tajo está inacessível a partir da sua hospedagem, ou o WP-Cron não está rodando; confira a coluna de erro da tabela da caixa de saída e a configuração do cron |
| Dead letters se acumulam | Um erro não recuperável (em geral binding ID ou segredo errado); corrija a configuração e depois use **Replay dead letters** |
| ”Enter a valid HTTPS Tajo webhook endpoint” | O endpoint precisa ser HTTPS e sem credenciais embutidas |
| Evento de teste entregue, mas nada na Tajo | Verifique se você colou o binding ID do mesmo workspace ou da mesma conexão da Tajo a que o endpoint pertence |

## Próximos passos

- [Referência do conector WooCommerce](https://tajo.io/pt/docs/connectors/ecommerce/woocommerce/): sincronização REST, detalhes da assinatura de webhook, chaves de configuração
- [Sincronização de clientes](https://tajo.io/pt/docs/skills/data-sync/customer-sync/): como mapear os clientes do WooCommerce no seu sistema de registro
- Configure automações de carrinho abandonado, pós-compra e recuperação de clientes na Tajo usando os eventos `cart.updated`, `order.placed` e `order.fulfilled`
