Iterable Connector
Forbind din Iterable growth marketing-platform til Brevo for forenet kundeengagement, tværkanal-kampagnekoordinering og konsoliderede analyser på tværs af marketingværktøjer.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Iterable |
| Kategori | Marketing |
| Opsætningskompleksitet | Moderat |
| Officiel integration | Nej |
| Synkroniserede data | Brugere, hændelser, kampagner, kataloger |
| API-type | REST API |
| Autentifikation | API-nøgle |
| Base-URL | https://api.iterable.com/api/ |
Funktioner
- Synkronisering af brugerprofiler - Tovejssynkronisering af brugerdata med Brevo-kontakter
- Kampagneanalyse - Synkronisér kampagneafsendelses-, åbnings- og klikmetrikker til forenet rapportering
- Eksperimentdata - Spor A/B-testresultater og vindende varianter
- Katalogsynkronisering - Synkronisér produkt- og indholdskataloger på tværs af platforme
- Workflow-hændelser - Videresend workflow-trigger- og gennemførselshændelser til Brevo
- Synkronisering af kanalpræferencer - Replicér brugernes kommunikationspræferencer i Brevo
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- En Iterable-konto med API-adgang
- En Iterable API-nøgle med passende rettigheder
- Dit Iterable-projekt-id
- En Brevo-konto med API-adgang
- En Tajo-konto med et aktivt abonnement
Autentifikation
Iterable bruger API-nøgle-autentifikation sendt i request-headeren.
Oprettelse af en API-nøgle
- Log ind på dit Iterable-dashboard
- Navigér til Integrations > API Keys
- Klik New API Key
- Navngiv den “Tajo Integration”
- Vælg Server-side-nøgletype
- Giv følgende rettigheder:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadNøgletype er vigtig
Brug altid en Server-side-API-nøgle til Tajo-integration. Mobile- og JavaScript-side-nøgler har begrænsede rettigheder og kan ikke tilgå alle påkrævede endpoints.
Forbind til Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYKonfiguration
Grundlæggende opsætning
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Feltmapping
Knyt Iterable-brugerfelter til Brevo-kontaktattributter:
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_STAGEHændelseskonfiguration
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDAPI-endpoints
Tajo integrerer med følgende Iterable API-endpoints:
| Endpoint | Metode | Formål |
|---|---|---|
/users/update | POST | Opdatér brugerprofiler |
/users/{email} | GET | Hent bruger efter e-mail |
/users/bulkUpdate | POST | Batch-opdatér brugere |
/events/track | POST | Spor brugerdefinerede hændelser |
/events/trackBulk | POST | Batch-spor hændelser |
/campaigns | GET | Vis alle kampagner |
/campaigns/metrics | GET | Kampagneperformance-data |
/experiments/metrics | GET | Eksperimentresultater |
/lists | GET | Vis alle brugerlister |
/lists/subscribe | POST | Tilføj brugere til en liste |
/lists/unsubscribe | POST | Fjern brugere fra en liste |
/catalogs/{catalogName}/items | GET | Hent katalogelementer |
/channels | GET | Vis beskedkanaler |
/export/data.json | GET | Eksportér rå hændelsesdata |
Kodeeksempler
Initialisér konnektor
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});Synkronisér brugere
// 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// }Spor hændelser
// 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');});Ratebegrænsninger
Iterable håndhæver ratebegrænsninger baseret på din plan:
| Plan | Ratebegrænsning | Bulk-endpoint-grænse |
|---|---|---|
| Growth | 500 forespørgsler/sekund | 500 forespørgsler/sekund |
| Enterprise | Tilpasset | Tilpasset |
Specifikke endpoint-grænser:
| Endpoint | Grænse |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1.000 brugere per forespørgsel) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (8.000 hændelser per forespørgsel) |
/export/data.json | 4 samtidige forespørgsler |
Bulk-endpoints
Tajo batcher automatisk brugeropdateringer (op til 1.000 per kald) og hændelsessporinger (op til 8.000 per kald) for at maksimere gennemstrømning og samtidig holde sig inden for ratebegrænsningerne.
Fejlfinding
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| 401 Unauthorized | Ugyldig API-nøgle | Verificér nøgle i Iterable > Integrations > API Keys |
| Brugere synkroniseres ikke | Nøgletype matcher ikke | Sørg for, at du bruger en Server-side-API-nøgle |
| Manglende kampagnedata | Utilstrækkelige rettigheder | Tilføj Campaigns Read-rettighed til API-nøgle |
| Eksport-timeout | Stort datavolumen | Brug datointervalfiltre for at reducere eksportstørrelse |
| Duplikerede brugere | Inkonsekvente identifikatorer | Brug e-mail som primær identifikator konsekvent |
Fejlfindingstilstand
connectors: iterable: debug: true log_level: verbose log_api_calls: trueTest forbindelse
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableBest practices
- Brug bulk-endpoints - Foretræk altid
bulkUpdateogtrackBulktil store datamængder - Deduplicér efter e-mail - Brug e-mail som konsekvent identifikator på tværs af Iterable og Brevo
- Synkronisér inkrementelt - Brug datointervaller for at undgå genbehandling af historiske data
- Map kanalpræferencer - Synkronisér opt-in-/opt-out-status for at opretholde compliance
- Overvåg eksport-jobs - Store eksporter kan tage tid; opsæt statuspolling
- Test med et ikke-produktionsprojekt - Validér mappings før synkronisering af produktionsdata
Sikkerhed
- API-nøgle-autentifikation - Server-side-nøgler med granulære rettigheder
- Kun HTTPS - Al API-kommunikation krypteret via TLS 1.2+
- Nøglerotation - Understøttelse af flere aktive API-nøgler under rotation
- Krypteret lagring - API-legitimationsoplysninger krypteres i hvile i Tajo
- JWT-webhooks - Webhook-payloads signeres med JWT til verifikation