Conector de Iterable

Conecta tu plataforma de growth marketing Iterable con Brevo para unificar el engagement del cliente, coordinar campañas multicanal y consolidar la analítica entre herramientas de marketing.

Resumen

PropiedadValor
PlataformaIterable
CategoríaMarketing
Complejidad de configuraciónModerada
Integración oficialNo
Datos sincronizadosUsuarios, Eventos, Campañas, Catálogos
Tipo de APIREST API
AutenticaciónClave API
URL basehttps://api.iterable.com/api/

Funcionalidades

  • Sincronización de perfiles de usuario - Sincronización bidireccional de datos de usuario con contactos de Brevo
  • Analítica de campañas - Sincroniza métricas de envío, apertura y clic para un reporting unificado
  • Datos de experimentos - Registra los resultados de tests A/B y las variantes ganadoras
  • Sincronización de catálogos - Sincroniza catálogos de productos y de contenido entre plataformas
  • Eventos de workflow - Reenvía eventos de disparo y finalización de workflows a Brevo
  • Sincronización de preferencias de canal - Replica las preferencias de comunicación del usuario en Brevo

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Iterable con acceso a la API
  2. Una clave API de Iterable con los permisos adecuados
  3. El project ID de Iterable
  4. Una cuenta de Brevo con acceso a la API
  5. Una cuenta de Tajo con suscripción activa

Autenticación

Iterable usa autenticación con clave API pasada en la cabecera de la petición.

Crear una clave API

  1. Inicia sesión en el panel de Iterable
  2. Ve a Integrations > API Keys
  3. Haz clic en New API Key
  4. Ponle el nombre “Tajo Integration”
  5. Selecciona el tipo de clave Server-side
  6. Concede los siguientes permisos:
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

El tipo de clave importa

Usa siempre una clave API Server-side para la integración con Tajo. Las claves para móvil o JavaScript tienen permisos restringidos y no pueden acceder a todos los endpoints necesarios.

Conectar con Tajo

Terminal window
tajo connectors install iterable \
--api-key $ITERABLE_API_KEY

Configuración

Configuración 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: 18

Asignación de campos

Asocia los campos de usuario de Iterable con los atributos de contacto de 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_STAGE

Configuración de eventos

event_mapping:
# Iterable event -> Brevo event
purchase: ORDER_PLACED
addToCart: CART_UPDATED
pageView: PAGE_VIEWED
appOpen: APP_OPENED
pushOpen: PUSH_ENGAGED

Endpoints de la API

Tajo se integra con los siguientes endpoints de la API de Iterable:

EndpointMétodoPropósito
/users/updatePOSTActualizar perfiles de usuario
/users/{email}GETObtener un usuario por email
/users/bulkUpdatePOSTActualización masiva de usuarios
/events/trackPOSTRegistrar eventos personalizados
/events/trackBulkPOSTRegistro masivo de eventos
/campaignsGETListar todas las campañas
/campaigns/metricsGETDatos de rendimiento de campañas
/experiments/metricsGETResultados de experimentos
/listsGETListar todas las listas de usuarios
/lists/subscribePOSTAñadir usuarios a una lista
/lists/unsubscribePOSTEliminar usuarios de una lista
/catalogs/{catalogName}/itemsGETObtener elementos de un catálogo
/channelsGETListar los canales de mensajería
/export/data.jsonGETExportar datos brutos de eventos

Ejemplos de código

Inicializar el 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 usuarios

// Incremental user sync from Iterable to Brevo
await 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
// }

Registrar eventos

// Forward Iterable events to Brevo
await tajo.connectors.handleEvent('iterable', {
type: 'custom_event',
payload: {
eventName: 'subscription_upgraded',
dataFields: {
previousPlan: 'starter',
newPlan: 'pro',
mrr: 99.00
}
}
});

Handler de webhooks

// Handle Iterable system webhooks
app.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');
});

Límites de velocidad

Iterable aplica límites de velocidad según tu plan:

PlanLímite de velocidadLímite del endpoint bulk
Growth500 peticiones/segundo500 peticiones/segundo
EnterprisePersonalizadoPersonalizado

Límites de endpoints específicos:

EndpointLímite
/users/update500 req/s
/users/bulkUpdate500 req/s (1.000 usuarios por petición)
/events/track500 req/s
/events/trackBulk500 req/s (8.000 eventos por petición)
/export/data.json4 peticiones simultáneas

Endpoints bulk

Tajo agrupa automáticamente las actualizaciones de usuario (hasta 1.000 por llamada) y los registros de eventos (hasta 8.000 por llamada) para maximizar el rendimiento dentro de los límites de velocidad.

Resolución de problemas

Problemas habituales

ProblemaCausaSolución
401 UnauthorizedClave API no válidaVerifica la clave en Iterable > Integrations > API Keys
Usuarios no se sincronizanTipo de clave incorrectoAsegúrate de usar una clave API Server-side
Faltan datos de campañaPermisos insuficientesAñade el permiso Campaigns Read a la clave API
Timeout de exportaciónGran volumen de datosUsa filtros de rango de fechas para reducir el tamaño de la exportación
Usuarios duplicadosIdentificadores inconsistentesUsa el email como identificador principal de forma coherente

Modo depuración

connectors:
iterable:
debug: true
log_level: verbose
log_api_calls: true

Probar la conexión

Terminal window
tajo connectors test iterable
# ✓ API connection successful
# ✓ User data accessible
# ✓ Campaign list readable
# ✓ Event tracking operational
# ✓ List management available

Buenas prácticas

  1. Usa los endpoints bulk - Prefiere siempre bulkUpdate y trackBulk para grandes volúmenes de datos
  2. Deduplica por email - Usa el email como identificador coherente entre Iterable y Brevo
  3. Sincroniza de forma incremental - Usa rangos de fechas para evitar reprocesar datos históricos
  4. Asocia las preferencias de canal - Sincroniza el estado de opt-in/opt-out para mantener el cumplimiento
  5. Monitoriza los jobs de exportación - Las exportaciones grandes pueden tardar; configura polling de estado
  6. Prueba con un proyecto no productivo - Valida las asignaciones antes de sincronizar datos de producción

Seguridad

  • Autenticación con clave API - Claves server-side con permisos granulares
  • Solo HTTPS - Toda la comunicación con la API se cifra vía TLS 1.2+
  • Rotación de claves - Soporte para varias claves API activas durante la rotación
  • Almacenamiento cifrado - Credenciales de API cifradas en reposo en Tajo
  • Webhooks con JWT - Los payloads de webhook se firman con JWT para su verificación

Recursos relacionados

Subscribe to updates

developer-docs

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

auto-detect
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.