Conector WooCommerce

Conector WooCommerce

Conecte sua loja WooCommerce ao Brevo através do Tajo para sincronização completa de dados de e-commerce. Aproveite a WooCommerce REST API para sincronizar clientes, pedidos, produtos e dados de cupons em campanhas de marketing segmentadas e workflows automatizados.

Visão geral

PropriedadeValor
PlataformaWooCommerce (WordPress)
CategoriaE-commerce
Complexidade de configuraçãoMédia
Integração oficialNão
Dados sincronizadosClientes, Pedidos, Produtos, Cupons
Skills disponíveis10

Recursos

  • Sincronização de clientes - Sincronização em tempo real de dados de clientes para contatos do Brevo
  • Rastreamento de pedidos - Rastreamento completo de eventos do ciclo de vida dos pedidos para fluxos pós-compra
  • Sincronização de catálogo de produtos - Sincronize produtos e variações para recomendações por e-mail
  • Gestão de cupons - Sincronize códigos de cupom para campanhas promocionais
  • Suporte a webhook - Atualizações em tempo real via webhooks do WooCommerce
  • Carrinho abandonado - Rastreie e recupere carrinhos abandonados
  • Suporte multi-site - Conecte instalações WooCommerce em WordPress multisite
  • Campos meta personalizados - Mapeie metadados personalizados do WooCommerce para atributos do Brevo

Pré-requisitos

Antes de começar, certifique-se de ter:

  1. Um site WordPress com o plugin WooCommerce instalado e ativado
  2. WooCommerce REST API habilitada (Settings > Advanced > REST API)
  3. Consumer Key e Consumer Secret da API gerados
  4. Seu site deve usar HTTPS para autenticação da API
  5. Uma conta Brevo com acesso à API
  6. Uma conta Tajo com credenciais de API

Autenticação

Chaves REST API

O WooCommerce usa pares de Consumer Key e Consumer Secret para autenticação. Gere-os em WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (sites com HTTPS)

Terminal window
curl https://yourstore.com/wp-json/wc/v3/orders \
-u "consumer_key:consumer_secret"

Autenticação por query string (HTTPS)

Terminal window
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"

Níveis de permissão

PermissãoAcesso
ReadSomente visualizar recursos
WriteCriar e editar recursos
Read/WriteAcesso CRUD completo

Configuração

Configuração básica

connectors:
woocommerce:
enabled: true
store_url: "https://yourstore.com"
consumer_key: "ck_your_consumer_key"
consumer_secret: "cs_your_consumer_secret"
api_version: "wc/v3"
verify_ssl: true
# Data sync options
sync:
customers: true
orders: true
products: true
coupons: true
# Brevo list assignment
lists:
all_customers: 50
buyers: 51
abandoned_cart: 52

Mapeamento de campos de clientes

Mapeie campos de clientes do WooCommerce para atributos do Brevo:

customer_mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME
billing.phone: SMS
billing.company: COMPANY
billing.city: CITY
billing.state: STATE
billing.country: COUNTRY
billing.postcode: ZIP
# E-commerce metrics (computed)
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
date_created: SIGNUP_DATE
# Meta fields
meta_data.loyalty_points: LOYALTY_POINTS
meta_data.preferred_category: PREF_CATEGORY

Configuração de webhook

Registre webhooks em WooCommerce > Settings > Advanced > Webhooks:

webhooks:
- topic: "customer.created"
event: "customer_created"
- topic: "customer.updated"
event: "customer_updated"
- topic: "order.created"
event: "order_placed"
- topic: "order.updated"
event: "order_updated"
- topic: "order.completed"
event: "order_fulfilled"
- topic: "order.refunded"
event: "order_refunded"
- topic: "coupon.created"
event: "coupon_created"
- topic: "product.created"
event: "product_added"
- topic: "product.updated"
event: "product_updated"

Endpoints da API

MétodoEndpointDescrição
GET/wc/v3/customersListar clientes
POST/wc/v3/customersCriar um cliente
GET/wc/v3/customers/{id}Obter um cliente
PUT/wc/v3/customers/{id}Atualizar um cliente
GET/wc/v3/ordersListar pedidos
POST/wc/v3/ordersCriar um pedido
GET/wc/v3/orders/{id}Obter um pedido
GET/wc/v3/productsListar produtos
GET/wc/v3/products/{id}Obter um produto
GET/wc/v3/products/{id}/variationsListar variações de produto
GET/wc/v3/couponsListar cupons
GET/wc/v3/reports/salesObter relatórios de vendas
GET/wc/v3/reports/top_sellersObter mais vendidos
POST/wc/v3/webhooksCriar um webhook

Exemplos de código

Inicializar o conector WooCommerce

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect WooCommerce store
await tajo.connectors.connect('woocommerce', {
storeUrl: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET
});

Buscar e sincronizar clientes

// Fetch customers using WooCommerce REST API
const WooCommerce = require('@woocommerce/woocommerce-rest-api').default;
const api = new WooCommerce({
url: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET,
version: 'wc/v3'
});
// List customers with pagination
const response = await api.get('customers', {
per_page: 100,
page: 1,
orderby: 'registered_date',
order: 'desc'
});
const customers = response.data;
// [{ id, email, first_name, last_name, billing, shipping, ... }]
// Pagination info from headers
const totalPages = response.headers['x-wp-totalpages'];
const totalItems = response.headers['x-wp-total'];

Tratar eventos de webhook

// WooCommerce webhook handler
app.post('/webhooks/woocommerce', async (req, res) => {
const topic = req.headers['x-wc-webhook-topic'];
const signature = req.headers['x-wc-webhook-signature'];
// Verify webhook signature
const expectedSignature = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('base64');
if (signature !== expectedSignature) {
return res.status(401).send('Invalid signature');
}
// Forward to Tajo
await tajo.connectors.handleWebhook('woocommerce', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

Operações em lote

// Batch create, update, and delete products
const batchResponse = await api.post('products/batch', {
create: [
{ name: 'New Product', type: 'simple', regular_price: '19.99' }
],
update: [
{ id: 123, regular_price: '24.99' }
],
delete: [456]
});

Limites de taxa

O WooCommerce em si não aplica limites de taxa na API, mas o servidor WordPress subjacente e o provedor de hospedagem podem impor limites:

FatorLimite típicoDetalhes
Hospedagem compartilhada50-100 req/minVaria por provedor
Hospedagem WP gerenciada200-500 req/minWP Engine, Kinsta, etc.
Self-hostedSem limite rígidoLimitado pelos recursos do servidor
Por página100 registros no máximoPadrão é 10
Operações em lote100 itens/loteCriar, atualizar ou excluir

Desempenho do servidor

Lojas grandes de WooCommerce podem ter respostas de API lentas. Use paginação, limite os campos com o parâmetro _fields e agende sincronizações em massa fora dos horários de pico.

Solução de problemas

ProblemaCausaSolução
401 UnauthorizedChaves de API inválidasRegenere Consumer Key/Secret nas configurações do WooCommerce
403 ForbiddenPermissões insuficientesDefina a chave de API com acesso Read/Write
Erros de certificado SSLSSL inválido no siteGaranta um certificado SSL válido; defina verify_ssl: false apenas para testes
Webhooks não disparamWordPress cron desabilitadoHabilite o WP-Cron ou configure cron no nível do servidor
Respostas lentas da APIBanco de dados grandeOtimize o banco de dados do WordPress, use o parâmetro _fields
Campos personalizados ausentesMetadados não expostosUse o campo meta_data para acessar metadados personalizados
Problemas de paginaçãoTamanho de página padrãoDefina explicitamente o parâmetro per_page (máx. 100)

Melhores práticas

  1. Use webhooks para sincronização em tempo real - Configure webhooks do WooCommerce em vez de fazer polling na API
  2. Verifique assinaturas de webhook - Sempre valide o cabeçalho X-WC-Webhook-Signature
  3. Pagine todas as requisições de listagem - Use os parâmetros page e per_page; verifique o cabeçalho X-WP-TotalPages
  4. Use o parâmetro _fields - Solicite apenas os campos necessários para reduzir o tamanho da resposta e melhorar o desempenho
  5. Operações em lote - Use endpoints de lote para operações em massa de criar/atualizar/excluir (até 100 itens)
  6. Agende sincronizações grandes - Execute sincronizações completas iniciais fora do horário de pico para evitar sobrecarga no servidor
  7. Habilite HTTPS - A API do WooCommerce requer HTTPS para autenticação OAuth

Segurança

  • OAuth 1.0a - Autenticação segura via pares Consumer Key/Secret
  • Assinaturas HMAC de webhook - Verificação de assinatura SHA-256 para webhooks recebidos
  • HTTPS obrigatório - A API requer criptografia TLS para autenticação
  • Escopo de permissões - As chaves de API podem ser definidas como Read, Write ou Read/Write
  • Segurança do WordPress - Beneficia-se das atualizações de segurança do core do WordPress
  • Considerações PCI - Dados de pagamento são tratados pelos gateways de pagamento do WooCommerce, não expostos via API

Recursos relacionados

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.

Comece grátis com Brevo