Iterable конектор
Свържи своята Iterable growth marketing платформа с Brevo за унифицирано ангажиране на клиентите, координация на кампании между канали и консолидирана аналитика през маркетинговите инструменти.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | Iterable |
| Категория | Маркетинг |
| Сложност на настройка | Средна |
| Официална интеграция | Не |
| Синхронизирани данни | Потребители, събития, кампании, каталози |
| Тип на API | REST API |
| Автентикация | API Key |
| Base URL | https://api.iterable.com/api/ |
Функции
- Синхронизация на потребителски профили – Двупосочна синхронизация на потребителски данни с контактите в Brevo
- Аналитика на кампании – Синхронизирай метрики за изпращане, отваряне и кликове на кампании за унифицирано отчитане
- Данни от експерименти – Проследявай резултати от A/B тестове и печеливши варианти
- Синхронизация на каталози – Синхронизирай каталози на продукти и съдържание между платформи
- Workflow събития – Препращай тригери и събития за завършване на workflow към Brevo
- Синхронизация на channel preferences – Репликирай комуникационните предпочитания на потребителите в Brevo
Предварителни условия
Преди да започнеш, увери се, че имаш:
- Акаунт в Iterable с API достъп
- Iterable API ключ с подходящи разрешения
- Твоя Iterable project ID
- Акаунт в Brevo с API достъп
- Акаунт в Tajo с активен абонамент
Автентикация
Iterable използва автентикация с API ключ, подаден в хедъра на заявката.
Създаване на API ключ
- Влез в своя Iterable dashboard
- Навигирай към Integrations > API Keys
- Щракни върху New API Key
- Наименувай го “Tajo Integration”
- Избери тип Server-side ключ
- Предостави следните разрешения:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadТипът на ключа е от значение
Винаги използвай Server-side API ключ за Tajo интеграцията. Mobile и JavaScript-side ключовете имат ограничени разрешения и не могат да достъпват всички необходими крайни точки.
Свързване с Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYКонфигурация
Основна настройка
connectors: iterable: enabled: true
sync: users: true events: true campaigns: true catalogs: true experiments: true
lists: all_users: 16 engaged_users: 17 inactive_users: 18Мапване на полета
Мапвай потребителски полета от Iterable към атрибути на контактите в 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_STAGEКонфигурация на събития
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDAPI крайни точки
Tajo се интегрира със следните Iterable API крайни точки:
| Крайна точка | Метод | Предназначение |
|---|---|---|
/users/update | POST | Обновяване на потребителски профили |
/users/{email} | GET | Получаване на потребител по имейл |
/users/bulkUpdate | POST | Пакетно обновяване на потребители |
/events/track | POST | Проследяване на персонализирани събития |
/events/trackBulk | POST | Пакетно проследяване на събития |
/campaigns | GET | Списък с всички кампании |
/campaigns/metrics | GET | Performance данни за кампании |
/experiments/metrics | GET | Резултати от експерименти |
/lists | GET | Списък с всички потребителски списъци |
/lists/subscribe | POST | Добавяне на потребители към списък |
/lists/unsubscribe | POST | Премахване на потребители от списък |
/catalogs/{catalogName}/items | GET | Получаване на артикули от каталог |
/channels | GET | Списък с messaging канали |
/export/data.json | GET | Експорт на raw event данни |
Примери с код
Инициализация на конектора
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});Синхронизация на потребители
// 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// }Проследяване на събития
// Forward Iterable events to Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Handler за уебхуци
// 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');});Ограничения на заявките
Iterable налага rate limits на базата на твоя план:
| План | Rate Limit | Лимит на bulk крайни точки |
|---|---|---|
| Growth | 500 заявки/секунда | 500 заявки/секунда |
| Enterprise | Персонализиран | Персонализиран |
Лимити за конкретни крайни точки:
| Крайна точка | Лимит |
|---|---|
/users/update | 500 заявки/сек |
/users/bulkUpdate | 500 заявки/сек (1 000 потребители на заявка) |
/events/track | 500 заявки/сек |
/events/trackBulk | 500 заявки/сек (8 000 събития на заявка) |
/export/data.json | 4 едновременни заявки |
Bulk крайни точки
Tajo автоматично пакетира обновленията на потребители (до 1 000 на извикване) и event track-ове (до 8 000 на извикване), за да максимизира throughput, оставайки в рамките на rate limits.
Отстраняване на проблеми
Чести проблеми
| Проблем | Причина | Решение |
|---|---|---|
| 401 Unauthorized | Невалиден API ключ | Провери ключа в Iterable > Integrations > API Keys |
| Потребителите не се синхронизират | Несъответствие на тип ключ | Увери се, че използваш Server-side API ключ |
| Липсват данни за кампании | Недостатъчни разрешения | Добави разрешението Campaigns Read към API ключа |
| Timeout при експорт | Голям обем данни | Използвай филтри по диапазон от дати, за да намалиш размера на експорта |
| Дублирани потребители | Непоследователни идентификатори | Използвай имейл като основен идентификатор консистентно |
Режим за дебъг
connectors: iterable: debug: true log_level: verbose log_api_calls: trueТест на връзката
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableДобри практики
- Използвай bulk крайни точки – Винаги предпочитай
bulkUpdateиtrackBulkза големи обеми данни - Дедуплицирай по имейл – Използвай имейл като консистентен идентификатор в Iterable и Brevo
- Синхронизирай инкрементално – Използвай диапазони от дати, за да избегнеш повторна обработка на исторически данни
- Мапвай channel preferences – Синхронизирай opt-in/opt-out статус за поддържане на съвместимост
- Мониторирай export jobs – Големите експорти могат да отнемат време; настрой polling на статус
- Тествай с не-production проект – Валидирай мапванията преди синхронизация на production данни
Сигурност
- Автентикация с API ключ – Server-side ключове с гранулирани разрешения
- Само HTTPS – Цялата API комуникация е криптирана чрез TLS 1.2+
- Ротация на ключове – Поддръжка на множество активни API ключове по време на ротация
- Криптирано съхранение – API credentials криптирани при съхранение в Tajo
- JWT уебхуци – Webhook payloads подписани с JWT за верификация