Iterable-koppling
Anslut din Iterable growth marketing-plattform till Brevo för enhetligt kundengagemang, koordinering av kampanjer över kanaler och konsoliderad analys över marknadsföringsverktygen.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | Iterable |
| Kategori | Marknadsföring |
| Installationskomplexitet | Måttlig |
| Officiell integration | Nej |
| Data som synkas | Användare, händelser, kampanjer, kataloger |
| API-typ | REST API |
| Autentisering | API-nyckel |
| Bas-URL | https://api.iterable.com/api/ |
Funktioner
- Synk av användarprofiler - Dubbelriktad synkronisering av användardata med Brevo-kontakter
- Kampanjanalys - Synka kampanjens send-, open- och click-mått för enhetlig rapportering
- Experimentdata - Spåra A/B-testresultat och vinnande varianter
- Katalogsynk - Synkronisera produkt- och innehållskataloger över plattformar
- Workflow-händelser - Vidarebefordra händelser för workflow-triggers och slutförande till Brevo
- Synk av kanalpreferenser - Replikera användarnas kommunikationspreferenser i Brevo
Förutsättningar
Innan du börjar, se till att du har:
- Ett Iterable-konto med API-åtkomst
- En Iterable API-nyckel med lämpliga behörigheter
- Ditt Iterable-projekt-ID
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto med aktivt abonnemang
Autentisering
Iterable använder autentisering med API-nyckel som skickas i headern.
Skapa en API-nyckel
- Logga in på din Iterable-dashboard
- Navigera till Integrations > API Keys
- Klicka på New API Key
- Namnge den “Tajo Integration”
- Välj nyckeltypen Server-side
- Ge följande behörigheter:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadNyckeltyp har betydelse
Använd alltid en Server-side API-nyckel för Tajo-integrationen. Mobil- och JavaScript-baserade nycklar har begränsade behörigheter och kan inte nå alla nödvändiga ändpunkter.
Anslut till Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYKonfiguration
Grundläggande konfiguration
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Fältmappning
Mappa Iterable-användarfält till Brevo-kontaktattribut:
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_STAGEKonfiguration av händelser
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDAPI-ändpunkter
Tajo integrerar med följande Iterable API-ändpunkter:
| Ändpunkt | Metod | Syfte |
|---|---|---|
/users/update | POST | Uppdatera användarprofiler |
/users/{email} | GET | Hämta användare via e-post |
/users/bulkUpdate | POST | Batchuppdatera användare |
/events/track | POST | Spåra anpassade händelser |
/events/trackBulk | POST | Batchspåra händelser |
/campaigns | GET | Lista alla kampanjer |
/campaigns/metrics | GET | Prestandadata för kampanjer |
/experiments/metrics | GET | Experimentresultat |
/lists | GET | Lista alla användarlistor |
/lists/subscribe | POST | Lägg till användare i en lista |
/lists/unsubscribe | POST | Ta bort användare från en lista |
/catalogs/{catalogName}/items | GET | Hämta katalogobjekt |
/channels | GET | Lista meddelandekanaler |
/export/data.json | GET | Exportera rå händelsedata |
Kodexempel
Initiera kopplingen
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});Synka användare
// 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// }Spåra 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-hanterare
// 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');});API-gränser
Iterable tillämpar rate limits baserat på din plan:
| Plan | Rate limit | Gräns för bulk-ändpunkter |
|---|---|---|
| Growth | 500 förfrågningar/sekund | 500 förfrågningar/sekund |
| Enterprise | Anpassad | Anpassad |
Specifika ändpunktsgränser:
| Ändpunkt | Gräns |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1 000 användare per förfrågan) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (8 000 händelser per förfrågan) |
/export/data.json | 4 samtidiga förfrågningar |
Bulk-ändpunkter
Tajo batchar automatiskt användaruppdateringar (upp till 1 000 per anrop) och händelsespårningar (upp till 8 000 per anrop) för att maximera genomflödet utan att överskrida rate limits.
Felsökning
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
| 401 Unauthorized | Ogiltig API-nyckel | Verifiera nyckeln i Iterable > Integrations > API Keys |
| Användare synkas inte | Fel typ av nyckel | Säkerställ att du använder en Server-side API-nyckel |
| Kampanjdata saknas | Otillräckliga behörigheter | Lägg till Campaigns Read-behörighet på API-nyckeln |
| Export-timeout | Stor datavolym | Använd datumfilter för att minska exportstorleken |
| Duplicerade användare | Inkonsekventa identifierare | Använd e-post som primär identifierare konsekvent |
Debug-läge
connectors: iterable: debug: true log_level: verbose log_api_calls: trueTesta anslutningen
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableBästa praxis
- Använd bulk-ändpunkter - Föredra alltid
bulkUpdateochtrackBulkför stora datavolymer - Deduplicera via e-post - Använd e-post som konsekvent identifierare mellan Iterable och Brevo
- Synka inkrementellt - Använd datumintervall för att undvika att bearbeta historisk data på nytt
- Mappa kanalpreferenser - Synka opt-in/opt-out-status för att upprätthålla efterlevnad
- Övervaka exportjobb - Stora exporter kan ta tid; sätt upp statuspolling
- Testa med icke-produktionsprojekt - Validera mappningar innan du synkar produktionsdata
Säkerhet
- API-nyckelautentisering - Server-side-nycklar med granulära behörigheter
- Endast HTTPS - All API-kommunikation krypteras via TLS 1.2+
- Nyckelrotation - Stöd för flera aktiva API-nycklar under rotation
- Krypterad lagring - API-uppgifter krypteras i vila i Tajo
- JWT-webhooks - Webhook-payloads signeras med JWT för verifiering