Konektor Iterable
Propojte svou growth marketingovou platformu Iterable s Brevo pro sjednocené zákaznické zapojení, koordinaci kampaní napříč kanály a konsolidovanou analytiku napříč marketingovými nástroji.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Iterable |
| Kategorie | Marketing |
| Složitost nastavení | Střední |
| Oficiální integrace | Ne |
| Synchronizovaná data | Uživatelé, Události, Kampaně, Katalogy |
| Typ API | REST API |
| Ověření | API klíč |
| Základní URL | https://api.iterable.com/api/ |
Funkce
- Synchronizace uživatelských profilů – Obousměrná synchronizace uživatelských dat s kontakty Brevo
- Analytika kampaní – Synchronizujte metriky odesílání, otevření a kliknutí kampaní pro sjednocené reportování
- Data experimentů – Sledujte výsledky A/B testů a vítězné varianty
- Synchronizace katalogu – Synchronizujte produktové a obsahové katalogy napříč platformami
- Události pracovních toků – Přeposílejte události spouštění a dokončení pracovních toků do Brevo
- Synchronizace preferencí kanálu – Replikujte komunikační preference uživatelů v Brevo
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet Iterable s přístupem k API
- API klíč Iterable s příslušnými oprávněními
- ID vašeho projektu Iterable
- Účet Brevo s přístupem k API
- Účet Tajo s aktivním předplatným
Ověření
Iterable používá ověřování API klíčem předávaným v hlavičce požadavku.
Vytvoření API klíče
- Přihlaste se do svého řídicího panelu Iterable
- Přejděte do Integrations > API Keys
- Klikněte na New API Key
- Pojmenujte ho “Tajo Integration”
- Vyberte typ klíče Server-side
- Udělte následující oprávnění:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadTyp klíče je důležitý
Pro integraci Tajo vždy používejte API klíč Server-side. Mobilní klíče a klíče na straně JavaScriptu mají omezená oprávnění a nemohou přistupovat ke všem požadovaným koncovým bodům.
Připojení k Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYKonfigurace
Základní nastavení
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Mapování polí
Mapujte pole uživatelů Iterable na atributy kontaktů Brevo:
field_mapping: # Standardní pole userId: ITERABLE_ID email: email firstName: FIRSTNAME lastName: LASTNAME phoneNumber: SMS
# Data zapojení signupDate: SIGNUP_DATE totalPurchases: TOTAL_PURCHASES lastPurchaseDate: LAST_PURCHASE
# Vlastní pole plan_name: PLAN_NAME company_size: COMPANY_SIZE preferred_channel: PREFERRED_CHANNEL lifecycle_stage: LIFECYCLE_STAGEKonfigurace událostí
event_mapping: # Událost Iterable -> Událost Brevo purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDKoncové body API
Tajo se integruje s následujícími koncovými body Iterable API:
| Koncový bod | Metoda | Účel |
|---|---|---|
/users/update | POST | Aktualizace uživatelských profilů |
/users/{email} | GET | Načtení uživatele podle e-mailu |
/users/bulkUpdate | POST | Dávková aktualizace uživatelů |
/events/track | POST | Sledování vlastních událostí |
/events/trackBulk | POST | Dávkové sledování událostí |
/campaigns | GET | Výpis všech kampaní |
/campaigns/metrics | GET | Data výkonu kampaní |
/experiments/metrics | GET | Výsledky experimentů |
/lists | GET | Výpis všech seznamů uživatelů |
/lists/subscribe | POST | Přidání uživatelů do seznamu |
/lists/unsubscribe | POST | Odebrání uživatelů ze seznamu |
/catalogs/{catalogName}/items | GET | Načtení položek katalogu |
/channels | GET | Výpis kanálů zasílání zpráv |
/export/data.json | GET | Export nezpracovaných dat událostí |
Příklady kódu
Inicializace konektoru
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});Synchronizace uživatelů
// Přírůstková synchronizace uživatelů z Iterable do 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// }Sledování událostí
// Přeposílání událostí Iterable do Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Obsluha webhooků
// Zpracování systémových webhooků Iterableapp.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');});Omezení rychlosti
Iterable vynucuje limity rychlosti na základě vašeho plánu:
| Plán | Limit rychlosti | Limit dávkového koncového bodu |
|---|---|---|
| Growth | 500 požadavků/sekundu | 500 požadavků/sekundu |
| Enterprise | Vlastní | Vlastní |
Limity konkrétních koncových bodů:
| Koncový bod | Limit |
|---|---|
/users/update | 500 požadavků/s |
/users/bulkUpdate | 500 požadavků/s (1 000 uživatelů na požadavek) |
/events/track | 500 požadavků/s |
/events/trackBulk | 500 požadavků/s (8 000 událostí na požadavek) |
/export/data.json | 4 souběžné požadavky |
Dávkové koncové body
Tajo automaticky sdružuje aktualizace uživatelů (až 1 000 na volání) a sledování událostí (až 8 000 na volání) pro maximalizaci propustnosti při dodržení limitů rychlosti.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný API klíč | Ověřte klíč v Iterable > Integrations > API Keys |
| Uživatelé se nesynchronizují | Neshoda typu klíče | Ujistěte se, že používáte Server-side API klíč |
| Chybějící data kampaní | Nedostatečná oprávnění | Přidejte oprávnění Campaigns Read k API klíči |
| Timeout exportu | Velký objem dat | Používejte filtry časového rozsahu pro snížení velikosti exportu |
| Duplicitní uživatelé | Nekonzistentní identifikátory | Konzistentně používejte e-mail jako primární identifikátor |
Režim ladění
connectors: iterable: debug: true log_level: verbose log_api_calls: trueTest připojení
tajo connectors test iterable# ✓ Připojení API úspěšné# ✓ Uživatelská data přístupná# ✓ Seznam kampaní čitelný# ✓ Sledování událostí funkční# ✓ Správa seznamů dostupnáOsvědčené postupy
- Používejte dávkové koncové body – Vždy upřednostňujte
bulkUpdateatrackBulkpro velké objemy dat - Deduplikujte podle e-mailu – Používejte e-mail jako konzistentní identifikátor napříč Iterable a Brevo
- Synchronizujte přírůstkově – Používejte časové rozsahy pro zamezení opětovného zpracování historických dat
- Mapujte preference kanálu – Synchronizujte stav opt-in/opt-out pro zachování souladu
- Monitorujte exportní úlohy – Velké exporty mohou trvat; nastavte pollování stavu
- Testujte s ne-produkčním projektem – Ověřte mapování před synchronizací produkčních dat
Zabezpečení
- Ověřování API klíčem – Server-side klíče s granulárními oprávněními
- Pouze HTTPS – Veškerá API komunikace šifrovaná přes TLS 1.2+
- Rotace klíčů – Podpora pro více aktivních API klíčů během rotace
- Šifrované úložiště – API přihlašovací údaje šifrované v klidu v Tajo
- JWT webhooky – Payloady webhooků podepsány pomocí JWT pro ověření