Iterable-connector
Verbind je Iterable-growth-marketingplatform met Brevo voor uniforme klantbetrokkenheid, cross-channel-campagnecoördinatie en geconsolideerde analytics over marketingtools heen.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Iterable |
| Categorie | Marketing |
| Setupcomplexiteit | Gemiddeld |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Gebruikers, Events, Campagnes, Catalogi |
| API-type | REST API |
| Authenticatie | API-sleutel |
| Base URL | https://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:
- Een Iterable-account met API-toegang
- Een Iterable API-sleutel met de juiste rechten
- Je Iterable-project-ID
- Een Brevo-account met API-toegang
- Een Tajo-account met een actief abonnement
Authenticatie
Iterable gebruikt API-sleutel-authenticatie, meegegeven in de request-header.
Een API-sleutel aanmaken
- Log in op je Iterable-dashboard
- Ga naar Integrations > API Keys
- Klik op New API Key
- Noem hem “Tajo Integration”
- Kies het type Server-side
- Verleen de volgende rechten:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadType 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
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYConfiguratie
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: 18Veldmapping
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_STAGEEvent-configuratie
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDAPI-endpoints
Tajo integreert met de volgende Iterable API-endpoints:
| Endpoint | Methode | Doel |
|---|---|---|
/users/update | POST | Gebruikersprofielen bijwerken |
/users/{email} | GET | Gebruiker ophalen op e-mail |
/users/bulkUpdate | POST | Gebruikers in batch bijwerken |
/events/track | POST | Custom events tracken |
/events/trackBulk | POST | Events in batch tracken |
/campaigns | GET | Alle campagnes opvragen |
/campaigns/metrics | GET | Campagneprestatiedata |
/experiments/metrics | GET | Experimentresultaten |
/lists | GET | Alle gebruikerslijsten opvragen |
/lists/subscribe | POST | Gebruikers aan lijst toevoegen |
/lists/unsubscribe | POST | Gebruikers uit lijst verwijderen |
/catalogs/{catalogName}/items | GET | Catalogusitems ophalen |
/channels | GET | Messagingkanalen opvragen |
/export/data.json | GET | Ruwe 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 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// }Events tracken
// Forward Iterable events to Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Webhook-handler
// 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');});Ratelimits
Iterable hanteert ratelimits op basis van je plan:
| Plan | Ratelimit | Limiet bulk-endpoint |
|---|---|---|
| Growth | 500 requests/seconde | 500 requests/seconde |
| Enterprise | Custom | Custom |
Specifieke endpoint-limieten:
| Endpoint | Limiet |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1.000 users per request) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (8.000 events per request) |
/export/data.json | 4 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
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| 401 Unauthorized | Ongeldige API-sleutel | Verifieer de sleutel in Iterable > Integrations > API Keys |
| Gebruikers synchroniseren niet | Mismatch in sleuteltype | Zorg dat je een Server-side-API-sleutel gebruikt |
| Campagnedata ontbreekt | Onvoldoende rechten | Voeg Campaigns Read-recht toe aan de API-sleutel |
| Export-timeout | Grote datavolume | Gebruik datum-range-filters om exportgrootte te verkleinen |
| Duplicaat-gebruikers | Inconsistente identifiers | Gebruik e-mail consistent als primaire identifier |
Debugmodus
connectors: iterable: debug: true log_level: verbose log_api_calls: trueVerbinding testen
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableBest practices
- Gebruik bulk-endpoints - Geef altijd de voorkeur aan
bulkUpdateentrackBulkvoor grote datavolumes - Dedupliceer op e-mail - Gebruik e-mail als consistente identifier tussen Iterable en Brevo
- Synchroniseer incrementeel - Gebruik datum-ranges om herverwerking van historische data te voorkomen
- Koppel kanaalvoorkeuren - Synchroniseer opt-in/opt-outstatus om compliance te waarborgen
- Monitor export-jobs - Grote exports kunnen tijd kosten; zet statuspolling op
- 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