Konektor Iterable
Połącz swoją platformę marketingu wzrostowego Iterable z Brevo dla ujednoliconego zaangażowania klientów, wielokanałowej koordynacji kampanii i skonsolidowanej analityki narzędzi marketingowych.
Przegląd
| Właściwość | Wartość |
|---|---|
| Platforma | Iterable |
| Kategoria | Marketing |
| Poziom konfiguracji | Średni |
| Integracja oficjalna | Nie |
| Synchronizowane dane | Użytkownicy, Zdarzenia, Kampanie, Katalogi |
| Typ API | REST API |
| Uwierzytelnianie | Klucz API |
| Bazowy URL | https://api.iterable.com/api/ |
Funkcje
- Synchronizacja profili użytkowników - Dwukierunkowa synchronizacja danych użytkowników z kontaktami Brevo
- Analityka kampanii - Synchronizuj metryki wysyłania, otwarć i kliknięć kampanii dla ujednoliconego raportowania
- Dane eksperymentów - Śledź wyniki testów A/B i wygrywające warianty
- Synchronizacja katalogu - Synchronizuj katalogi produktów i treści między platformami
- Zdarzenia workflow - Przekazuj zdarzenia wyzwolenia i zakończenia workflow do Brevo
- Synchronizacja preferencji kanałów - Replikuj preferencje komunikacyjne użytkowników w Brevo
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Konto Iterable z dostępem do API
- Klucz API Iterable z odpowiednimi uprawnieniami
- ID projektu Iterable
- Konto Brevo z dostępem do API
- Konto Tajo z aktywną subskrypcją
Uwierzytelnianie
Iterable używa uwierzytelniania kluczem API przekazywanym w nagłówku żądania.
Tworzenie klucza API
- Zaloguj się do dashboardu Iterable
- Przejdź do Integrations > API Keys
- Kliknij New API Key
- Nadaj mu nazwę “Tajo Integration”
- Wybierz typ klucza Server-side
- Przyznaj następujące uprawnienia:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadTyp klucza ma znaczenie
Zawsze używaj klucza API Server-side do integracji z Tajo. Klucze mobilne i JavaScript mają ograniczone uprawnienia i nie mogą uzyskać dostępu do wszystkich wymaganych endpointów.
Połączenie z Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYKonfiguracja
Podstawowa konfiguracja
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Mapowanie pól
Mapuj pola użytkowników Iterable na atrybuty kontaktów 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_STAGEKonfiguracja zdarzeń
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDEndpointy API
Tajo integruje się z następującymi endpointami API Iterable:
| Endpoint | Metoda | Przeznaczenie |
|---|---|---|
/users/update | POST | Aktualizuj profile użytkowników |
/users/{email} | GET | Pobierz użytkownika po e-mailu |
/users/bulkUpdate | POST | Wsadowa aktualizacja użytkowników |
/events/track | POST | Śledź niestandardowe zdarzenia |
/events/trackBulk | POST | Wsadowe śledzenie zdarzeń |
/campaigns | GET | Lista wszystkich kampanii |
/campaigns/metrics | GET | Dane wydajności kampanii |
/experiments/metrics | GET | Wyniki eksperymentów |
/lists | GET | Lista wszystkich list użytkowników |
/lists/subscribe | POST | Dodaj użytkowników do listy |
/lists/unsubscribe | POST | Usuń użytkowników z listy |
/catalogs/{catalogName}/items | GET | Pobierz elementy katalogu |
/channels | GET | Lista kanałów komunikacji |
/export/data.json | GET | Eksportuj surowe dane zdarzeń |
Przykłady kodu
Inicjalizacja konektora
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});Synchronizuj użytkowników
// 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// }Śledź zdarzenia
// Forward Iterable events to Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Obsługa webhooków
// 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');});Limity API
Iterable egzekwuje limity szybkości na podstawie planu:
| Plan | Limit szybkości | Limit endpointu wsadowego |
|---|---|---|
| Growth | 500 żądań/sekundę | 500 żądań/sekundę |
| Enterprise | Niestandardowy | Niestandardowy |
Szczegółowe limity endpointów:
| Endpoint | Limit |
|---|---|
/users/update | 500 żądań/s |
/users/bulkUpdate | 500 żądań/s (1 000 użytkowników na żądanie) |
/events/track | 500 żądań/s |
/events/trackBulk | 500 żądań/s (8 000 zdarzeń na żądanie) |
/export/data.json | 4 równoczesne żądania |
Endpointy wsadowe
Tajo automatycznie grupuje aktualizacje użytkowników (do 1 000 na wywołanie) i śledzenie zdarzeń (do 8 000 na wywołanie), aby zmaksymalizować przepustowość w ramach limitów szybkości.
Rozwiązywanie problemów
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| 401 Unauthorized | Nieprawidłowy klucz API | Zweryfikuj klucz w Iterable > Integrations > API Keys |
| Użytkownicy się nie synchronizują | Niezgodność typu klucza | Upewnij się, że używasz klucza API Server-side |
| Brakujące dane kampanii | Niewystarczające uprawnienia | Dodaj uprawnienie Campaigns Read do klucza API |
| Timeout eksportu | Duży wolumen danych | Używaj filtrów zakresu dat, aby zmniejszyć rozmiar eksportu |
| Zduplikowani użytkownicy | Niespójne identyfikatory | Używaj e-maila jako głównego identyfikatora spójnie |
Tryb debug
connectors: iterable: debug: true log_level: verbose log_api_calls: trueTest połączenia
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableNajlepsze praktyki
- Używaj endpointów wsadowych - Zawsze preferuj
bulkUpdateitrackBulkdla dużych wolumenów danych - Deduplikuj po e-mailu - Używaj e-maila jako spójnego identyfikatora między Iterable a Brevo
- Synchronizuj przyrostowo - Używaj zakresów dat, aby unikać ponownego przetwarzania historycznych danych
- Mapuj preferencje kanałów - Synchronizuj status opt-in/opt-out, aby zachować zgodność
- Monitoruj zadania eksportu - Duże eksporty mogą trwać długo; skonfiguruj odpytywanie statusu
- Testuj z projektem nieprodukcyjnym - Weryfikuj mapowania przed synchronizacją danych produkcyjnych
Bezpieczeństwo
- Uwierzytelnianie kluczem API - Klucze server-side ze szczegółowymi uprawnieniami
- Tylko HTTPS - Cała komunikacja API szyfrowana przez TLS 1.2+
- Rotacja kluczy - Obsługa wielu aktywnych kluczy API podczas rotacji
- Szyfrowane przechowywanie - Poświadczenia API szyfrowane w stanie spoczynku w Tajo
- Webhooki JWT - Ładunki webhooków podpisane JWT do weryfikacji