Conector Iterable
Conectați platforma de marketing pentru creștere Iterable la Brevo pentru implicare unificată a clienților, coordonarea campaniilor cross-canal și analize consolidate pe instrumentele de marketing.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Iterable |
| Categorie | Marketing |
| Complexitate configurare | Moderată |
| Integrare oficială | Nu |
| Date sincronizate | Utilizatori, Evenimente, Campanii, Cataloage |
| Tip API | REST API |
| Autentificare | Cheie API |
| URL de bază | https://api.iterable.com/api/ |
Funcționalități
- Sincronizare profil utilizator - Sincronizare bidirecțională a datelor utilizatorilor cu contactele Brevo
- Analize campanii - Sincronizați metricile de trimitere, deschidere și clic ale campaniilor pentru raportare unificată
- Date experimente - Urmăriți rezultatele testelor A/B și variantele câștigătoare
- Sincronizare catalog - Sincronizați cataloagele de produse și conținut între platforme
- Evenimente flux de lucru - Redirecționați evenimentele de declanșare și finalizare a fluxurilor de lucru la Brevo
- Sincronizare preferințe canal - Replicați preferințele de comunicare ale utilizatorilor în Brevo
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont Iterable cu acces API
- O cheie API Iterable cu permisiunile corespunzătoare
- ID-ul proiectului Iterable
- Un cont Brevo cu acces API
- Un cont Tajo cu abonament activ
Autentificare
Iterable utilizează autentificarea cu cheie API transmisă în antetul cererii.
Creare cheie API
- Autentificați-vă în tabloul de bord Iterable
- Navigați la Integrations > API Keys
- Faceți clic pe New API Key
- Numiți-o “Tajo Integration”
- Selectați tipul de cheie Server-side
- Acordați următoarele permisiuni:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadTipul de cheie contează
Utilizați întotdeauna o cheie API de tip Server-side pentru integrarea Tajo. Cheile pentru dispozitive mobile și JavaScript au permisiuni restricționate și nu pot accesa toate punctele finale necesare.
Conectare la Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYConfigurare
Configurare de bază
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Mapare câmpuri
Mapați câmpurile utilizatorilor Iterable la atributele de contact Brevo:
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_STAGEConfigurare evenimente
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDPuncte finale API
Tajo se integrează cu următoarele puncte finale API Iterable:
| Punct final | Metodă | Scop |
|---|---|---|
/users/update | POST | Actualizează profiluri utilizator |
/users/{email} | GET | Recuperează utilizatorul după e-mail |
/users/bulkUpdate | POST | Actualizare utilizatori în lot |
/events/track | POST | Urmărește evenimente personalizate |
/events/trackBulk | POST | Urmărire evenimente în lot |
/campaigns | GET | Listează toate campaniile |
/campaigns/metrics | GET | Date performanță campanie |
/experiments/metrics | GET | Rezultate experimente |
/lists | GET | Listează toate listele de utilizatori |
/lists/subscribe | POST | Adaugă utilizatori la o listă |
/lists/unsubscribe | POST | Elimină utilizatori dintr-o listă |
/catalogs/{catalogName}/items | GET | Recuperează articolele din catalog |
/channels | GET | Listează canalele de mesagerie |
/export/data.json | GET | Exportă date brute de evenimente |
Exemple de cod
Inițializare conector
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});Sincronizare utilizatori
// 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// }Urmărire evenimente
// Forward Iterable events to Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Gestionare webhook
// 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');});Limite de rată
Iterable aplică limite de rată în funcție de planul dvs.:
| Plan | Limită de rată | Limită punct final bulk |
|---|---|---|
| Growth | 500 cereri/secundă | 500 cereri/secundă |
| Enterprise | Personalizat | Personalizat |
Limite specifice per punct final:
| Punct final | Limită |
|---|---|
/users/update | 500 cereri/s |
/users/bulkUpdate | 500 cereri/s (1.000 utilizatori per cerere) |
/events/track | 500 cereri/s |
/events/trackBulk | 500 cereri/s (8.000 evenimente per cerere) |
/export/data.json | 4 cereri concurente |
Puncte finale bulk
Tajo grupează automat actualizările utilizatorilor (până la 1.000 per apel) și urmărirea evenimentelor (până la 8.000 per apel) pentru a maximiza debitul în cadrul limitelor de rată.
Depanare
Probleme frecvente
| Problemă | Cauză | Soluție |
|---|---|---|
| 401 Neautorizat | Cheie API invalidă | Verificați cheia în Iterable > Integrations > API Keys |
| Utilizatori nesincronizați | Nepotrivire tip cheie | Asigurați că utilizați o cheie API de tip Server-side |
| Date campanie lipsă | Permisiuni insuficiente | Adăugați permisiunea Campaigns Read la cheia API |
| Timeout export | Volum mare de date | Utilizați filtre de interval de date pentru a reduce dimensiunea exportului |
| Utilizatori duplicați | Identificatori inconsecvenți | Utilizați e-mailul ca identificator principal consistent |
Modul de depanare
connectors: iterable: debug: true log_level: verbose log_api_calls: trueTestare conexiune
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableBune practici
- Utilizați punctele finale bulk - Preferați întotdeauna
bulkUpdateșitrackBulkpentru volume mari de date - Deduplicați după e-mail - Utilizați e-mailul ca identificator consistent în Iterable și Brevo
- Sincronizați incremental - Utilizați intervale de date pentru a evita re-procesarea datelor istorice
- Mapați preferințele de canal - Sincronizați statusul opt-in/opt-out pentru menținerea conformității
- Monitorizați joburile de export - Exporturile mari pot dura; configurați interogarea statusului
- Testați cu proiect non-producție - Validați mapările înainte de sincronizarea datelor de producție
Securitate
- Autentificare cu cheie API - Chei server-side cu permisiuni granulare
- Numai HTTPS - Toate comunicațiile API criptate prin TLS 1.2+
- Rotație chei - Suport pentru mai multe chei API active în timpul rotației
- Stocare criptată - Credențiale API criptate în repaus în Tajo
- Webhook-uri JWT - Payload-urile webhook semnate cu JWT pentru verificare