Iterable Connector
Poveži Iterable z Brevo prek Tajo za sinhronizacijo profilov uporabnikov, kampanjskih podatkov in vedenjskih dogodkov za celovito večkanalno marketinško avtomatizacijo.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Iterable |
| Kategorija | Marketing |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Ne |
| Sinhronizirani podatki | Uporabniki, dogodki, kampanje, seznami |
| Metoda avtentikacije | API ključ |
Funkcionalnosti
- Sinhronizacija profilov – sinhroniziraj profile uporabnikov z atributi med Iterable in Brevo
- Posredovanje dogodkov – posreduj vedenjske dogodke iz Iterable v avtomatizacije Brevo
- Sinhronizacija seznamov – preslikaj liste naročnikov Iterable v sezname stikov Brevo
- Migracija kampanj – prenos uspešnosti kampanj in angažirnih podatkov
- Sledenje konverzijam – sinhroniziraj konverzijske dogodke za enotno poročanje
- Podpora za webhooks – obravnavaj kampanjske in sporočilne dogodke v realnem času
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Račun Iterable z dostopom do API
- API ključ iz nastavitev projekta Iterable
- Brevo račun z dostopom do API
- Tajo račun z dovoljenji za konektorje
Avtentikacija
Avtentikacija z API ključem
# Set your API keysexport ITERABLE_API_KEY=your_iterable_api_keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_key// All requests require the Api-Key headerconst headers = { 'Api-Key': process.env.ITERABLE_API_KEY, 'Content-Type': 'application/json'};Konfiguracija
Osnovna nastavitev
connectors: iterable: enabled: true api_key: "${ITERABLE_API_KEY}"
sync: users: true events: true lists: true campaigns: true
lists: all_users: 15 active_users: 16 churned: 17Preslikava polj
field_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phoneNumber: SMS signupDate: SIGNUP_DATE totalRevenue: TOTAL_REVENUE lastPurchaseDate: LAST_ORDER_DATE preferredChannel: CHANNEL_PREFPreslikava dogodkov
event_mapping: "purchase": "order_completed" "addToCart": "cart_updated" "emailOpen": "email_opened" "emailClick": "email_clicked" "unsubscribe": "customer_unsubscribed" "webPush": "push_received"Končne točke API
| Metoda | Končna točka | Opis |
|---|---|---|
POST | /api/users/update | Posodobi podatkovne polja uporabnika |
GET | /api/users/{email} | Pridobi profil uporabnika |
POST | /api/events/track | Sledi dogodku |
GET | /api/lists | Seznam vseh list |
POST | /api/lists/subscribe | Naroči uporabnike na listo |
POST | /api/lists/unsubscribe | Odjavi uporabnike z liste |
GET | /api/campaigns | Seznam kampanj |
POST | /api/email/target | Pošlji ciljani e-mail |
POST | /api/push/target | Pošlji ciljano potisno obvestilo |
POST | /api/sms/target | Pošlji ciljani SMS |
Primeri kode
Inicializacija konektorja
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});Sinhronizacija profilov uporabnikov
// Update user profile in Iterable and sync to Brevoconst response = await fetch('https://api.iterable.com/api/users/update', { method: 'POST', headers: { 'Api-Key': process.env.ITERABLE_API_KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ dataFields: { firstName: 'Jane', lastName: 'Kim', totalRevenue: 450.00, plan: 'premium' } })});
// Sync the user to Brevo via Tajoawait tajo.contacts.sync({ attributes: { FIRSTNAME: 'Jane', LASTNAME: 'Kim', TOTAL_REVENUE: 450.00, SUBSCRIPTION_PLAN: 'premium' }});Sledenje in posredovanje dogodkov
// Track an event in Iterableawait fetch('https://api.iterable.com/api/events/track', { method: 'POST', headers: { 'Api-Key': process.env.ITERABLE_API_KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ eventName: 'purchase', dataFields: { orderId: 'ORD-123', revenue: 89.99, items: ['Widget Pro'] } })});Omejitve hitrosti
| Vrsta | Omejitev | Opombe |
|---|---|---|
| Splošni API | 500 zahtevkov/s | Na projekt |
| Paketni API | 250 zahtevkov/s | Na projekt |
| Izvozni API | 5 zahtevkov/min | Na projekt |
Omejitve izvoza
Iterable Exports API je omejen na 5 zahtevkov na minuto. Za velike izvozne naloge implementiraj čakanje med zahtevki in obravnavaj odgovore 429.
Odpravljanje težav
| Težava | Vzrok | Rešitev |
|---|---|---|
| 401 Unauthorized | Neveljaven API ključ | Preveri API ključ v nastavitvah projekta Iterable |
| Uporabnik ni najden | E-mail ne obstaja | Najprej ustvari uporabniški profil z /api/users/update |
| Dogodki se ne sprožajo | Neujemanje imen | Preveri natančna imena dogodkov v Iterable |
| Sinhronizacija liste neuspešna | Presežena omejitev velikosti | Razdeli na manjše pakete za uvoz |
Način odpravljanja napak
connectors: iterable: debug: true log_level: verbose log_events: true log_api_calls: trueNajboljše prakse
- Identificiraj s prijavno točko – pri registraciji vedno ustvari uporabniški profil
- Paketni dogodki – za učinkovito sledenje visokemu obsegu uporabi Batch API
- Sinhroniziraj demografijo – redno posodabljaj podatkovne atribute v Iterable
- Enotna imenovanja dogodkov – vzdržuj dosledno konvencijo poimenovanja событий med platformama
- Upravljaj odjave – sinhroniziraj odjave med Iterable in Brevo za skladnost
- Sprljuj odzivnost kampanj – uvozi angažirne metrike kampanj v Brevo za analizo
Varnost
- Avtentikacija z API ključem – dostop prek glave
Api-Key - Varnost projektnega nivoja – API ključi obsegani na posamezne projekte
- TLS šifriranje – vsa komunikacija API šifrirana prek HTTPS
- Rotacija ključev – periodično menjaj API ključe prek nadzorne plošče Iterable