Connettore Iterable

Collega la tua piattaforma di growth marketing Iterable a Brevo per un engagement cliente unificato, coordinamento di campagne cross-channel e analytics consolidate tra gli strumenti di marketing.

Panoramica

ProprietàValore
PiattaformaIterable
CategoriaMarketing
Complessità di setupModerata
Integrazione ufficialeNo
Dati sincronizzatiUtenti, Eventi, Campagne, Cataloghi
Tipo APIREST API
AutenticazioneChiave API
Base URLhttps://api.iterable.com/api/

Funzionalità

  • Sync dei profili utente - Sincronizzazione bidirezionale dei dati utente con i contatti Brevo
  • Analytics delle campagne - Sincronizza metriche di invio, apertura e click delle campagne per una reportistica unificata
  • Dati esperimenti - Traccia i risultati degli A/B test e le varianti vincenti
  • Sync del catalogo - Sincronizza i cataloghi prodotti e contenuti tra le piattaforme
  • Eventi workflow - Inoltra gli eventi di trigger e completamento dei workflow a Brevo
  • Sync preferenze di canale - Replica le preferenze di comunicazione utente in Brevo

Prerequisiti

Prima di iniziare, assicurati di avere:

  1. Un account Iterable con accesso API
  2. Una chiave API Iterable con i permessi appropriati
  3. Il tuo Iterable project ID
  4. Un account Brevo con accesso API
  5. Un account Tajo con un abbonamento attivo

Autenticazione

Iterable utilizza l’autenticazione con chiave API passata nell’header della richiesta.

Creazione di una chiave API

  1. Accedi alla tua dashboard Iterable
  2. Vai in Integrations > API Keys
  3. Clicca su New API Key
  4. Nominala “Tajo Integration”
  5. Seleziona il tipo chiave Server-side
  6. Concedi i seguenti permessi:
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

Il tipo di chiave conta

Usa sempre una chiave API Server-side per l’integrazione con Tajo. Le chiavi mobile e JavaScript-side hanno permessi limitati e non possono accedere a tutti gli endpoint richiesti.

Connessione a Tajo

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

Configurazione

Setup di base

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

Mappatura dei campi

Mappa i campi utente Iterable agli attributi di contatto 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

Configurazione eventi

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

Endpoint API

Tajo si integra con i seguenti endpoint API Iterable:

EndpointMetodoScopo
/users/updatePOSTAggiorna i profili utente
/users/{email}GETRecupera un utente tramite email
/users/bulkUpdatePOSTAggiorna utenti in batch
/events/trackPOSTTraccia eventi personalizzati
/events/trackBulkPOSTTraccia eventi in batch
/campaignsGETElenca tutte le campagne
/campaigns/metricsGETDati di performance delle campagne
/experiments/metricsGETRisultati degli esperimenti
/listsGETElenca tutte le liste utenti
/lists/subscribePOSTAggiungi utenti a una lista
/lists/unsubscribePOSTRimuovi utenti da una lista
/catalogs/{catalogName}/itemsGETRecupera elementi del catalogo
/channelsGETElenca i canali di messaggistica
/export/data.jsonGETEsporta dati eventi raw

Esempi di codice

Inizializza il connettore

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
});

Sincronizza gli utenti

// 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
// }

Traccia eventi

// 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
}
}
});

Webhook handler

// 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');
});

Limiti di velocità

Iterable applica limiti di velocità in base al tuo piano:

PianoLimiteLimite endpoint bulk
Growth500 richieste/secondo500 richieste/secondo
EnterprisePersonalizzatoPersonalizzato

Limiti per endpoint specifici:

EndpointLimite
/users/update500 req/s
/users/bulkUpdate500 req/s (1.000 utenti per richiesta)
/events/track500 req/s
/events/trackBulk500 req/s (8.000 eventi per richiesta)
/export/data.json4 richieste concorrenti

Endpoint bulk

Tajo raggruppa automaticamente gli aggiornamenti utente (fino a 1.000 per chiamata) e i track eventi (fino a 8.000 per chiamata) per massimizzare il throughput rimanendo entro i limiti di velocità.

Risoluzione dei problemi

Problemi comuni

ProblemaCausaSoluzione
401 UnauthorizedChiave API non validaVerifica la chiave in Iterable > Integrations > API Keys
Utenti non sincronizzatiTipo di chiave non corrispondenteAssicurati di usare una chiave API Server-side
Dati campagna mancantiPermessi insufficientiAggiungi il permesso Read alle Campagne nella chiave API
Timeout esportazioneVolume dati elevatoUsa filtri per intervallo di date per ridurre la dimensione dell’export
Utenti duplicatiIdentificatori non coerentiUsa l’email come identificatore primario in modo coerente

Modalità debug

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

Testa la connessione

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

Best practice

  1. Usa gli endpoint bulk - Preferisci sempre bulkUpdate e trackBulk per grandi volumi di dati
  2. Deduplica per email - Usa l’email come identificatore coerente tra Iterable e Brevo
  3. Sincronizza in modo incrementale - Usa intervalli di date per evitare di rielaborare dati storici
  4. Mappa le preferenze di canale - Sincronizza lo stato opt-in/opt-out per mantenere la conformità
  5. Monitora i job di esportazione - Le esportazioni grandi possono richiedere tempo; imposta polling sullo stato
  6. Testa con un progetto non in produzione - Convalida le mappature prima di sincronizzare i dati di produzione

Sicurezza

  • Autenticazione con chiave API - Chiavi server-side con permessi granulari
  • Solo HTTPS - Tutte le comunicazioni API cifrate via TLS 1.2+
  • Rotazione delle chiavi - Supporto per più chiavi API attive durante la rotazione
  • Storage cifrato - Credenziali API cifrate a riposo in Tajo
  • Webhook JWT - Payload webhook firmati con JWT per la verifica

Risorse correlate

Subscribe to updates

developer-docs

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

auto-detect
Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.