Conector Iterable
Conecte sua plataforma de growth marketing Iterable ao Brevo para engajamento de cliente unificado, coordenação de campanhas multicanal e analytics consolidados entre ferramentas de marketing.
Visão geral
| Propriedade | Valor |
|---|---|
| Plataforma | Iterable |
| Categoria | Marketing |
| Complexidade de configuração | Moderada |
| Integração oficial | Não |
| Dados sincronizados | Usuários, Eventos, Campanhas, Catálogos |
| Tipo de API | REST API |
| Autenticação | Chave API |
| URL base | https://api.iterable.com/api/ |
Recursos
- Sincronização de perfis de usuário - Sincronização bidirecional de dados de usuário com contatos do Brevo
- Analytics de campanha - Sincronize métricas de envio, abertura e clique de campanhas para relatórios unificados
- Dados de experimentos - Rastreie resultados de testes A/B e variantes vencedoras
- Sincronização de catálogo - Sincronize catálogos de produtos e conteúdo entre plataformas
- Eventos de workflow - Encaminhe eventos de gatilho e conclusão de workflow para o Brevo
- Sincronização de preferências de canal - Replique preferências de comunicação do usuário no Brevo
Pré-requisitos
Antes de começar, certifique-se de ter:
- Uma conta Iterable com acesso à API
- Uma chave API do Iterable com as permissões apropriadas
- Seu ID de projeto do Iterable
- Uma conta Brevo com acesso à API
- Uma conta Tajo com assinatura ativa
Autenticação
O Iterable usa autenticação por chave API passada no cabeçalho da requisição.
Criar uma chave API
- Faça login no seu dashboard Iterable
- Navegue até Integrations > API Keys
- Clique em New API Key
- Nomeie-a como “Tajo Integration”
- Selecione o tipo de chave Server-side
- Conceda as seguintes permissões:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadO tipo da chave importa
Sempre use uma chave API Server-side para a integração Tajo. Chaves Mobile e JavaScript têm permissões restritas e não podem acessar todos os endpoints necessários.
Conectando ao Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYConfiguração
Configuração básica
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Mapeamento de campos
Mapeie campos de usuário do Iterable para atributos de contato do Brevo:
field_mapping: # Standard fields userId: ITERABLE_ID email: email firstName: FIRSTNAME lastName: LASTNAME phoneNumber: SMS
# Engagement data signupDate: SIGNUP_DATE totalPurchases: TOTAL_PURCHASES lastPurchaseDate: LAST_PURCHASE
# Custom fields plan_name: PLAN_NAME company_size: COMPANY_SIZE preferred_channel: PREFERRED_CHANNEL lifecycle_stage: LIFECYCLE_STAGEConfiguração de eventos
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDEndpoints da API
O Tajo integra-se com os seguintes endpoints da API do Iterable:
| Endpoint | Método | Finalidade |
|---|---|---|
/users/update | POST | Atualizar perfis de usuário |
/users/{email} | GET | Recuperar usuário por e-mail |
/users/bulkUpdate | POST | Atualização em lote de usuários |
/events/track | POST | Rastrear eventos personalizados |
/events/trackBulk | POST | Rastrear eventos em lote |
/campaigns | GET | Listar todas as campanhas |
/campaigns/metrics | GET | Dados de desempenho de campanha |
/experiments/metrics | GET | Resultados de experimentos |
/lists | GET | Listar todas as listas de usuários |
/lists/subscribe | POST | Adicionar usuários a uma lista |
/lists/unsubscribe | POST | Remover usuários de uma lista |
/catalogs/{catalogName}/items | GET | Recuperar itens de catálogo |
/channels | GET | Listar canais de mensageria |
/export/data.json | GET | Exportar dados brutos de eventos |
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});
await tajo.connectors.connect('iterable', { apiKey: process.env.ITERABLE_API_KEY});Sincronizar usuários
// Incremental user sync from Iterable to Brevoawait tajo.connectors.sync('iterable', { type: 'incremental', resources: ['users'], since: '2024-01-01', batchSize: 50});
const status = await tajo.connectors.status('iterable');console.log(status);// {// connected: true,// lastSync: '2024-03-15T09:45:00Z',// usersCount: 58700,// campaignsTracked: 42,// eventsProcessed: 210000// }Rastrear eventos
// Forward Iterable events to Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Handler de webhook
// Handle Iterable system webhooksapp.post('/webhooks/iterable', async (req, res) => { const event = req.body;
await tajo.connectors.handleWebhook('iterable', { type: event.eventName, payload: event });
res.status(200).send('OK');});Limites de taxa
O Iterable aplica limites de taxa baseados no seu plano:
| Plano | Limite de taxa | Limite de endpoint em lote |
|---|---|---|
| Growth | 500 requisições/segundo | 500 requisições/segundo |
| Enterprise | Personalizado | Personalizado |
Limites específicos de endpoint:
| Endpoint | Limite |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1.000 usuários por requisição) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (8.000 eventos por requisição) |
/export/data.json | 4 requisições concorrentes |
Endpoints em lote
O Tajo agrupa automaticamente atualizações de usuário em lote (até 1.000 por chamada) e rastreamentos de evento (até 8.000 por chamada) para maximizar a taxa de transferência dentro dos limites.
Solução de problemas
Problemas comuns
| Problema | Causa | Solução |
|---|---|---|
| 401 Unauthorized | Chave API inválida | Verifique a chave em Iterable > Integrations > API Keys |
| Usuários não sincronizando | Tipo de chave incorreto | Certifique-se de usar uma chave API Server-side |
| Dados de campanha ausentes | Permissões insuficientes | Adicione a permissão Campaigns Read à chave API |
| Timeout de exportação | Grande volume de dados | Use filtros de intervalo de data para reduzir o tamanho da exportação |
| Usuários duplicados | Identificadores inconsistentes | Use e-mail como identificador primário de forma consistente |
Modo de depuração
connectors: iterable: debug: true log_level: verbose log_api_calls: trueTestar conexão
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableMelhores práticas
- Use endpoints em lote - Prefira sempre
bulkUpdateetrackBulkpara grandes volumes de dados - Deduplique por e-mail - Use o e-mail como identificador consistente entre Iterable e Brevo
- Sincronize incrementalmente - Use intervalos de data para evitar reprocessar dados históricos
- Mapeie preferências de canal - Sincronize status de opt-in/opt-out para manter a conformidade
- Monitore jobs de exportação - Grandes exportações podem levar tempo; configure polling de status
- Teste com projeto não produtivo - Valide mapeamentos antes de sincronizar dados de produção
Segurança
- Autenticação por chave API - Chaves server-side com permissões granulares
- Somente HTTPS - Toda comunicação com a API é criptografada via TLS 1.2+
- Rotação de chaves - Suporte a múltiplas chaves API ativas durante rotação
- Armazenamento criptografado - Credenciais API criptografadas em repouso no Tajo
- Webhooks JWT - Payloads de webhook assinados com JWT para verificação