Conector Shopify
Conector Shopify
Conecte sua loja Shopify ao Brevo para sincronização completa de dados de clientes, recuperação de carrinho abandonado e campanhas de marketing automatizadas.
Visão geral
| Propriedade | Valor |
|---|---|
| Plataforma | Shopify |
| Categoria | E-commerce |
| Complexidade de configuração | Fácil |
| Integração oficial | Sim |
| Dados sincronizados | Clientes, Pedidos, Produtos, Carrinhos, Eventos |
| Skills disponíveis | 12 |
Recursos
- Sincronização de clientes em tempo real - Dados de clientes sincronizados instantaneamente com contatos do Brevo
- Rastreamento de pedidos - Eventos de pedidos para fluxos pós-compra
- Sincronização de catálogo de produtos - Produtos disponíveis para recomendações
- Carrinho abandonado - Rastreie e recupere carrinhos abandonados
- Comportamento de navegação - Rastreamento de visualização de página e interesse em produtos
- Suporte a múltiplas lojas - Conecte várias lojas Shopify
Pré-requisitos
Antes de começar, certifique-se de ter:
- Uma loja Shopify com acesso de administrador
- Uma conta Brevo com acesso à API
- Uma conta Tajo
Instalação
Opção 1: Shopify App Store (Recomendado)
- Acesse o app Tajo na Shopify App Store
- Clique em “Add app”
- Conceda as permissões solicitadas
- Conecte sua conta Brevo
Opção 2: Instalação manual
Passo 1: Crie um app Shopify
- Acesse o admin da sua Shopify → Settings → Apps and sales channels
- Clique em “Develop apps” → “Create an app”
- Nomeie-o como “Tajo Integration”
Passo 2: Configure os escopos da API
Habilite estes escopos:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsPasso 3: Instale o app
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETPasso 4: Configure os webhooks
O Tajo registra automaticamente estes webhooks:
| Webhook | Finalidade |
|---|---|
customers/create | Sincronização de novo cliente |
customers/update | Alterações nos dados do cliente |
customers/delete | Remoção de cliente |
orders/create | Eventos de pedido realizado |
orders/updated | Alterações de status do pedido |
checkouts/create | Carrinho criado |
checkouts/update | Carrinho atualizado |
Configuração
Configuração básica
connectors: shopify: enabled: true shop_url: "your-store.myshopify.com" api_version: "2024-01"
# Data sync options sync: customers: true orders: true products: true carts: true inventory: false # Optional
# List assignment lists: all_customers: 5 buyers: 6 abandoned_cart: 7Mapeamento de campos
Mapeie campos do Shopify para atributos de contato do Brevo:
Default Mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail do cliente (identificador único) |
first_name optional | string | Mapeia para o atributo FIRSTNAME |
last_name optional | string | Mapeia para o atributo LASTNAME |
phone optional | string | Mapeia para o atributo SMS para WhatsApp/SMS |
accepts_marketing optional | boolean | Controla o status de inscrição |
orders_count optional | integer | Número total de pedidos |
total_spent optional | number | Valor total do cliente ao longo da vida |
tags optional | array | Tags de cliente vindas do Shopify |
Mapeamento de atributos personalizados
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# E-commerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_SPENT last_order_date: LAST_ORDER_DATE
# Custom fields customer_type: CUSTOMER_TYPE preferred_language: LANGUAGE loyalty_tier: VIP_TIER
# Computed fields average_order_value: AOV days_since_last_order: RECENCYSincronização de produtos
Sincronize produtos para recomendações por e-mail:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Rastreamento de estoque
Habilite a sincronização de níveis de estoque:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueEventos
Eventos de cliente
| Evento | Gatilho | Caso de uso |
|---|---|---|
customer_created | Cadastro de novo cliente | Série de boas-vindas |
customer_updated | Alterações de perfil | Sincronização de dados |
customer_tags_added | Tags atribuídas | Atualizações de segmento |
Eventos de pedido
| Evento | Gatilho | Caso de uso |
|---|---|---|
order_placed | Checkout concluído | Confirmação de pedido |
order_fulfilled | Pedido enviado | Notificação de envio |
order_cancelled | Pedido cancelado | E-mail de cancelamento |
order_refunded | Reembolso processado | Confirmação de reembolso |
Eventos de carrinho
| Evento | Gatilho | Caso de uso |
|---|---|---|
cart_created | Itens adicionados ao carrinho | Rastreamento de navegação |
cart_updated | Carrinho modificado | Rastreamento de valor do carrinho |
cart_abandoned | Sem checkout em 30 min | E-mails de recuperação |
Skills habilitadas
O conector Shopify habilita estas skills:
| Skill | Descrição |
|---|---|
| Sincronização de clientes | Sincronização de clientes em tempo real |
| Eventos de pedido | Rastreamento do ciclo de vida do pedido |
| Carrinho abandonado | E-mails de recuperação de carrinho |
| Série de boas-vindas | Onboarding de novos clientes |
| Pós-compra | Follow-up de pedido |
| Win-Back | Reengajamento de clientes inativos |
| Browse Abandonment | Follow-up de interesse em produtos |
| Reabastecimento | Lembretes de recompra |
Exemplos de código
Inicializar o conector
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Shopify storeawait tajo.connectors.connect('shopify', { shopUrl: 'your-store.myshopify.com', apiKey: process.env.SHOPIFY_API_KEY, apiSecret: process.env.SHOPIFY_API_SECRET});Executar sincronização inicial
// Full historical syncawait tajo.connectors.sync('shopify', { type: 'full', resources: ['customers', 'orders', 'products'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('shopify');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersCount: 15420,// ordersCount: 8234,// productsCount: 342// }Rastrear eventos de carrinho
Adicione o script do Tajo ao seu tema Shopify:
<!-- Add to theme.liquid before </head> -->{% if customer %}<script> window.tajoConfig = { customerId: "{{ customer.id }}", customerEmail: "{{ customer.email }}", customerName: "{{ customer.first_name }}" };</script>{% endif %}<script src="https://cdn.tajo.io/shopify.js"></script>Manipulador de webhook personalizado
// Handle Shopify webhooks manuallyapp.post('/webhooks/shopify', async (req, res) => { const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature if (!verifyShopifyWebhook(req.body, hmac)) { return res.status(401).send('Unauthorized'); }
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo await tajo.connectors.handleWebhook('shopify', { topic, payload: req.body });
res.status(200).send('OK');});Monitoramento
Métricas do dashboard
Monitore sua conexão Shopify no dashboard do Tajo:
- Status da sincronização: Saúde da conexão em tempo real
- Clientes sincronizados: Total de contatos vindos do Shopify
- Pedidos rastreados: Eventos de pedidos processados
- Recuperação de carrinho: Performance de carrinhos abandonados
- Taxa de erro: Tentativas de sincronização que falharam
Logs de webhook
Visualize o status de entrega dos webhooks:
tajo connectors logs shopify --type webhook --last 24hHistórico de sincronização
Verifique operações de sincronização históricas:
tajo connectors history shopify --limit 10Solução de problemas
Problemas comuns
Limites de taxa da API
O Shopify tem limites de taxa da API de 2 requisições/segundo. Use sincronização em lote para grandes importações históricas.
| Problema | Causa | Solução |
|---|---|---|
| Webhook não recebido | Permissões do app | Reinstale o app com os escopos corretos |
| Cliente não sincronizado | E-mail ausente | O Shopify exige e-mail para clientes |
| Produtos ausentes | Status do produto | Verifique se o produto está com status “active” |
| Carrinho não rastreado | Script não carregado | Verifique o script em theme.liquid |
Modo de depuração
Habilite logging detalhado:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueTestar conexão
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableMelhores práticas
- Comece com uma loja de teste - Use primeiro uma loja de desenvolvimento
- Execute a sincronização inicial fora do horário de pico - Sincronizações grandes podem ser lentas
- Mapeie atributos personalizados - Não dependa somente dos mapeamentos padrão
- Habilite o rastreamento de carrinho - Essencial para recuperação de carrinho abandonado
- Monitore a saúde dos webhooks - Configure alertas para entregas que falharam
- Use importações em lote - Para dados históricos acima de 10.000 registros
Segurança
- OAuth 2.0 - Autenticação segura baseada em tokens
- Verificação de webhook - Validação de assinatura HMAC
- Armazenamento criptografado - Credenciais de API criptografadas em repouso
- Acesso com escopo - Somente as permissões mínimas necessárias