Iterable-connector

Verbind je Iterable-growth-marketingplatform met Brevo voor uniforme klantbetrokkenheid, cross-channel-campagnecoördinatie en geconsolideerde analytics over marketingtools heen.

Overzicht

EigenschapWaarde
PlatformIterable
CategorieMarketing
SetupcomplexiteitGemiddeld
Officiële integratieNee
Gesynchroniseerde dataGebruikers, Events, Campagnes, Catalogi
API-typeREST API
AuthenticatieAPI-sleutel
Base URLhttps://api.iterable.com/api/

Functies

  • Gebruikersprofielsync - Bidirectionele synchronisatie van gebruikersdata met Brevo-contacten
  • Campagne-analytics - Synchroniseer verzend-, open- en click-metrics voor uniforme rapportage
  • Experimentdata - Track A/B-testresultaten en winnende varianten
  • Catalogussync - Synchroniseer product- en contentcatalogi over platforms heen
  • Workflow-events - Stuur workflow-trigger- en voltooiings-events door naar Brevo
  • Kanaalvoorkeurensync - Repliceer communicatievoorkeuren van gebruikers in Brevo

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Iterable-account met API-toegang
  2. Een Iterable API-sleutel met de juiste rechten
  3. Je Iterable-project-ID
  4. Een Brevo-account met API-toegang
  5. Een Tajo-account met een actief abonnement

Authenticatie

Iterable gebruikt API-sleutel-authenticatie, meegegeven in de request-header.

Een API-sleutel aanmaken

  1. Log in op je Iterable-dashboard
  2. Ga naar Integrations > API Keys
  3. Klik op New API Key
  4. Noem hem “Tajo Integration”
  5. Kies het type Server-side
  6. Verleen de volgende rechten:
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

Type sleutel is belangrijk

Gebruik altijd een Server-side-API-sleutel voor de Tajo-integratie. Mobile- en JavaScript-side keys hebben beperkte rechten en kunnen niet alle vereiste endpoints benaderen.

Verbinden met Tajo

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

Configuratie

Basisopzet

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

Veldmapping

Koppel Iterable-gebruikersvelden aan Brevo-contactattributen:

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

Event-configuratie

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

API-endpoints

Tajo integreert met de volgende Iterable API-endpoints:

EndpointMethodeDoel
/users/updatePOSTGebruikersprofielen bijwerken
/users/{email}GETGebruiker ophalen op e-mail
/users/bulkUpdatePOSTGebruikers in batch bijwerken
/events/trackPOSTCustom events tracken
/events/trackBulkPOSTEvents in batch tracken
/campaignsGETAlle campagnes opvragen
/campaigns/metricsGETCampagneprestatiedata
/experiments/metricsGETExperimentresultaten
/listsGETAlle gebruikerslijsten opvragen
/lists/subscribePOSTGebruikers aan lijst toevoegen
/lists/unsubscribePOSTGebruikers uit lijst verwijderen
/catalogs/{catalogName}/itemsGETCatalogusitems ophalen
/channelsGETMessagingkanalen opvragen
/export/data.jsonGETRuwe event-data exporteren

Codevoorbeelden

Connector initialiseren

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

Gebruikers synchroniseren

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

Events tracken

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

Ratelimits

Iterable hanteert ratelimits op basis van je plan:

PlanRatelimitLimiet bulk-endpoint
Growth500 requests/seconde500 requests/seconde
EnterpriseCustomCustom

Specifieke endpoint-limieten:

EndpointLimiet
/users/update500 req/s
/users/bulkUpdate500 req/s (1.000 users per request)
/events/track500 req/s
/events/trackBulk500 req/s (8.000 events per request)
/export/data.json4 gelijktijdige requests

Bulk-endpoints

Tajo batcht gebruikersupdates automatisch (tot 1.000 per call) en event-tracks (tot 8.000 per call) om de doorvoer te maximaliseren binnen de ratelimits.

Probleemoplossing

Veelvoorkomende problemen

ProbleemOorzaakOplossing
401 UnauthorizedOngeldige API-sleutelVerifieer de sleutel in Iterable > Integrations > API Keys
Gebruikers synchroniseren nietMismatch in sleuteltypeZorg dat je een Server-side-API-sleutel gebruikt
Campagnedata ontbreektOnvoldoende rechtenVoeg Campaigns Read-recht toe aan de API-sleutel
Export-timeoutGrote datavolumeGebruik datum-range-filters om exportgrootte te verkleinen
Duplicaat-gebruikersInconsistente identifiersGebruik e-mail consistent als primaire identifier

Debugmodus

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

Verbinding testen

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

Best practices

  1. Gebruik bulk-endpoints - Geef altijd de voorkeur aan bulkUpdate en trackBulk voor grote datavolumes
  2. Dedupliceer op e-mail - Gebruik e-mail als consistente identifier tussen Iterable en Brevo
  3. Synchroniseer incrementeel - Gebruik datum-ranges om herverwerking van historische data te voorkomen
  4. Koppel kanaalvoorkeuren - Synchroniseer opt-in/opt-outstatus om compliance te waarborgen
  5. Monitor export-jobs - Grote exports kunnen tijd kosten; zet statuspolling op
  6. Test met non-production-project - Valideer mappings vóór productiedata-sync

Beveiliging

  • API-sleutel-authenticatie - Server-side-sleutels met granulaire rechten
  • Alleen HTTPS - Alle API-communicatie versleuteld via TLS 1.2+
  • Sleutelrotatie - Ondersteuning voor meerdere actieve API-sleutels tijdens rotatie
  • Versleutelde opslag - API-inloggegevens versleuteld opgeslagen in Tajo
  • JWT-webhooks - Webhook-payloads ondertekend met JWT voor verificatie

Gerelateerde resources

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hallo! Stel me vragen over de documentatie.