Iterable Connector
Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.
Illustration · Beispieldaten
Sync-Beispiel
Quelle
Iterable
Connector-Status: Geplant
Ziel
Ihr anderes Tool
Connector-Status: Eigenes Tool
Feldzuordnung
| Quellfeld | Zielfeld | Beispielwert |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Entwerfen
- Einen Datensatz prüfen
- Diese Version freigeben
Der Status gilt für einzelne Connectoren und garantiert nicht, dass dieser Sync bereit ist. Felder zur Veranschaulichung. Prüfen Sie vor dem Sync das tatsächliche Schema und die Berechtigungen.
Verbinde deine Iterable-Growth-Marketing-Plattform mit Brevo für ein einheitliches Kunden-Engagement, kanalübergreifende Kampagnenkoordination und konsolidierte Analytics über deine Marketing-Tools hinweg.
Überblick
| Eigenschaft | Wert |
|---|---|
| Plattform | Iterable |
| Kategorie | Marketing |
| Einrichtungsaufwand | Mittel |
| Offizielle Integration | Nein |
| Synchronisierte Daten | User, Events, Kampagnen, Kataloge |
| API-Typ | REST API |
| Authentifizierung | API-Schlüssel |
| Basis-URL | https://api.iterable.com/api/ |
Funktionen
- User-Profile-Sync - Bidirektionale Synchronisation der User-Daten mit Brevo-Kontakten
- Kampagnen-Analytics - Synchronisiere Kampagnen-Send-, Open- und Click-Metriken für ein einheitliches Reporting
- Experiment-Daten - Tracke A/B-Test-Ergebnisse und Gewinner-Varianten
- Catalog-Sync - Synchronisiere Produkt- und Content-Kataloge plattformübergreifend
- Workflow-Events - Leite Workflow-Trigger- und Completion-Events an Brevo weiter
- Sync der Channel-Präferenzen - Repliziere Kommunikationspräferenzen der User in Brevo
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Ein Iterable-Konto mit API-Zugriff
- Einen Iterable-API-Schlüssel mit den passenden Berechtigungen
- Deine Iterable-Projekt-ID
- Ein Brevo-Konto mit API-Zugriff
- Ein Tajo-Konto mit aktivem Abonnement
Authentifizierung
Iterable nutzt eine API-Schlüssel-Authentifizierung, die im Request-Header übergeben wird.
API-Schlüssel erstellen
- Melde dich in deinem Iterable-Dashboard an
- Navigiere zu Integrations > API Keys
- Klicke auf New API Key
- Benenne ihn “Tajo Integration”
- Wähle den Schlüsseltyp Server-side
- Erteile die folgenden Berechtigungen:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadSchlüsseltyp ist entscheidend
Verwende für die Tajo-Integration immer einen Server-side-API-Schlüssel. Mobile- und JavaScript-seitige Schlüssel haben eingeschränkte Berechtigungen und können nicht auf alle erforderlichen Endpoints zugreifen.
Mit Tajo verbinden
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYKonfiguration
Grundeinrichtung
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Feldzuordnung
Ordne Iterable-User-Felder den Brevo-Kontaktattributen zu:
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-Konfiguration
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDAPI-Endpoints
Tajo integriert sich mit den folgenden Iterable-API-Endpoints:
| Endpoint | Methode | Zweck |
|---|---|---|
/users/update | POST | User-Profile aktualisieren |
/users/{email} | GET | User anhand der E-Mail abrufen |
/users/bulkUpdate | POST | User per Batch aktualisieren |
/events/track | POST | Custom Events tracken |
/events/trackBulk | POST | Events per Batch tracken |
/campaigns | GET | Alle Kampagnen auflisten |
/campaigns/metrics | GET | Kampagnen-Performance-Daten |
/experiments/metrics | GET | Experiment-Ergebnisse |
/lists | GET | Alle User-Listen auflisten |
/lists/subscribe | POST | User zu einer Liste hinzufügen |
/lists/unsubscribe | POST | User aus einer Liste entfernen |
/catalogs/{catalogName}/items | GET | Katalog-Einträge abrufen |
/channels | GET | Messaging-Kanäle auflisten |
/export/data.json | GET | Rohe Event-Daten exportieren |
Code-Beispiele
Connector initialisieren
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});User synchronisieren
// 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');});Rate Limits
Iterable wendet Rate Limits abhängig von deinem Plan an:
| Plan | Rate Limit | Limit für Bulk-Endpoints |
|---|---|---|
| Growth | 500 Anfragen/Sekunde | 500 Anfragen/Sekunde |
| Enterprise | Individuell | Individuell |
Endpoint-spezifische Limits:
| Endpoint | Limit |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1.000 User pro Anfrage) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (8.000 Events pro Anfrage) |
/export/data.json | 4 parallele Anfragen |
Bulk-Endpoints
Tajo bündelt User-Updates automatisch (bis zu 1.000 pro Aufruf) und Event-Tracks (bis zu 8.000 pro Aufruf), um den Durchsatz zu maximieren und gleichzeitig innerhalb der Rate Limits zu bleiben.
Fehlerbehebung
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
| 401 Unauthorized | Ungültiger API-Schlüssel | Schlüssel in Iterable unter Integrations > API Keys prüfen |
| User werden nicht synchronisiert | Falscher Schlüsseltyp | Stelle sicher, dass du einen Server-side-API-Schlüssel verwendest |
| Fehlende Kampagnendaten | Unzureichende Berechtigungen | Berechtigung “Campaigns Read” zum API-Schlüssel hinzufügen |
| Export-Timeout | Großes Datenvolumen | Datumsbereichsfilter nutzen, um die Exportgröße zu verringern |
| Doppelte User | Inkonsistente Identifier | Die E-Mail konsequent als primären Identifier verwenden |
Debug-Modus
connectors: iterable: debug: true log_level: verbose log_api_calls: trueVerbindung testen
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableBest Practices
- Bulk-Endpoints nutzen - Bevorzuge
bulkUpdateundtrackBulkfür große Datenmengen - Per E-Mail deduplizieren - Nutze die E-Mail als konsistenten Identifier in Iterable und Brevo
- Inkrementell synchronisieren - Nutze Datumsbereiche, um historische Daten nicht erneut zu verarbeiten
- Channel-Präferenzen mappen - Synchronisiere Opt-in-/Opt-out-Status, um Compliance zu gewährleisten
- Export-Jobs überwachen - Große Exporte können dauern; richte ein Status-Polling ein
- Mit Nicht-Produktivprojekt testen - Validiere Mappings, bevor du Produktionsdaten synchronisierst
Sicherheit
- API-Schlüssel-Authentifizierung - Server-side-Schlüssel mit granularen Berechtigungen
- Nur HTTPS - Die gesamte API-Kommunikation wird per TLS 1.2+ verschlüsselt
- Schlüsselrotation - Unterstützung mehrerer aktiver API-Schlüssel während der Rotation
- Verschlüsselte Speicherung - API-Anmeldedaten werden in Tajo im Ruhezustand verschlüsselt
- JWT-Webhooks - Webhook-Payloads werden per JWT zur Verifizierung signiert