---
title: "Коннектор Iterable"
description: "Полное руководство по интеграции Iterable для синхронизации пользователей, кампаний, экспериментов и событий вовлечённости с Brevo через Tajo."
url: https://tajo.io/ru/docs/connectors/marketing/iterable/
markdown: https://tajo.io/ru/docs/connectors/marketing/iterable.md
lang: ru-RU
robots: noindex
---

Подайте заявку на ранний доступ

Укажите имя и рабочий адрес электронной почты. Мы отправим ссылку для подтверждения запроса на доступ к Tajo.

# Коннектор Iterable

Статус коннектора: Запланирован Ещё не создан. Сегодня Tajo не запускает этот коннектор.

| Поле источника | Поле назначения | Пример значения |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Подключите платформу growth-маркетинга Iterable к Brevo для единого вовлечения клиентов, координации кросс-канальных кампаний и консолидированной аналитики по маркетинговым инструментам.

## Обзор

| Свойство | Значение |
| --- | --- |
| **Платформа** | Iterable |
| **Категория** | Marketing |
| **Сложность настройки** | Средняя |
| **Официальная интеграция** | Нет |
| **Синхронизируемые данные** | Пользователи, события, кампании, каталоги |
| **Тип API** | REST API |
| **Аутентификация** | API Key |
| **Базовый URL** | `https://api.iterable.com/api/` |

## Возможности

- **Синхронизация профилей пользователей**, двунаправленная синхронизация данных пользователей с контактами Brevo
- **Аналитика кампаний**, синхронизация метрик отправки, открытий и кликов кампаний для единой отчётности
- **Данные экспериментов**, отслеживание результатов A/B-тестов и выигрышных вариантов
- **Синхронизация каталога**, синхронизация каталогов товаров и контента между платформами
- **События рабочих процессов**, пересылка событий триггеров и завершений рабочих процессов в Brevo
- **Синхронизация предпочтений каналов**, репликация коммуникационных предпочтений пользователей в Brevo

## Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

1. Аккаунт Iterable с доступом к API
2. API-ключ Iterable с необходимыми разрешениями
3. ID вашего проекта Iterable
4. Аккаунт Brevo с доступом к API
5. Аккаунт Tajo с активной подпиской

## Аутентификация

Iterable использует аутентификацию по API-ключу, передаваемому в заголовке запроса.

### Создание API Key

1. Войдите в дашборд Iterable
2. Перейдите в **Integrations** > **API Keys**
3. Нажмите **New API Key**
4. Назовите его “Tajo Integration”
5. Выберите тип ключа **Server-side**
6. Предоставьте следующие разрешения:

```
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read
```

Тип ключа имеет значение

Всегда используйте **Server-side** API-ключ для интеграции с Tajo. Мобильные и JavaScript-ключи имеют ограниченные разрешения и не могут получить доступ ко всем необходимым эндпоинтам.

### Подключение к Tajo

```bash
tajo connectors install iterable \
  --api-key $ITERABLE_API_KEY
```

## Конфигурация

### Базовая настройка

```yaml
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:

```yaml
field_mapping:
  # Стандартные поля
  userId: ITERABLE_ID
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phoneNumber: SMS

  # Данные вовлечённости
  signupDate: SIGNUP_DATE
  totalPurchases: TOTAL_PURCHASES
  lastPurchaseDate: LAST_PURCHASE

  # Пользовательские поля
  plan_name: PLAN_NAME
  company_size: COMPANY_SIZE
  preferred_channel: PREFERRED_CHANNEL
  lifecycle_stage: LIFECYCLE_STAGE
```

### Конфигурация событий

```yaml
event_mapping:
  # Событие Iterable -> Событие Brevo
  purchase: ORDER_PLACED
  addToCart: CART_UPDATED
  pageView: PAGE_VIEWED
  appOpen: APP_OPENED
  pushOpen: PUSH_ENGAGED
```

## Эндпоинты API

Tajo интегрируется со следующими эндпоинтами Iterable API:

| Эндпоинт | Метод | Назначение |
| --- | --- | --- |
| `/users/update` | POST | Обновление профилей пользователей |
| `/users/{email}` | GET | Получить пользователя по email |
| `/users/bulkUpdate` | POST | Пакетное обновление пользователей |
| `/events/track` | POST | Трекинг пользовательских событий |
| `/events/trackBulk` | POST | Пакетный трекинг событий |
| `/campaigns` | GET | Список всех кампаний |
| `/campaigns/metrics` | GET | Данные об эффективности кампаний |
| `/experiments/metrics` | GET | Результаты экспериментов |
| `/lists` | GET | Список всех пользовательских списков |
| `/lists/subscribe` | POST | Добавление пользователей в список |
| `/lists/unsubscribe` | POST | Удаление пользователей из списка |
| `/catalogs/{catalogName}/items` | GET | Получение элементов каталога |
| `/channels` | GET | Список каналов рассылок |
| `/export/data.json` | GET | Экспорт сырых данных событий |

## Примеры кода

### Инициализация коннектора

```javascript
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
});
```

### Синхронизация пользователей

```javascript
// Инкрементальная синхронизация пользователей Iterable в Brevo
await 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
// }
```

### Трекинг событий

```javascript
// Пересылка событий Iterable в Brevo
await tajo.connectors.handleEvent('iterable', {
  type: 'custom_event',
  payload: {
    email: 'user@example.com',
    eventName: 'subscription_upgraded',
    dataFields: {
      previousPlan: 'starter',
      newPlan: 'pro',
      mrr: 99.00
    }
  }
});
```

### Обработчик вебхуков

```javascript
// Обработка системных вебхуков Iterable
app.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 устанавливает ограничения скорости в зависимости от плана:

| План | Лимит | Лимит для 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 в вызове) и трекинг событий (до 8 000 в вызове) для максимальной пропускной способности в пределах лимитов.

## Устранение неполадок

### Частые проблемы

| Проблема | Причина | Решение |
| --- | --- | --- |
| 401 Unauthorized | Недействительный API-ключ | Проверьте ключ в Iterable > Integrations > API Keys |
| Пользователи не синхронизируются | Несоответствие типа ключа | Убедитесь, что используется Server-side API-ключ |
| Отсутствуют данные кампании | Недостаточно разрешений | Добавьте разрешение Campaigns Read к API-ключу |
| Таймаут экспорта | Большой объём данных | Используйте фильтры диапазона дат для уменьшения объёма экспорта |
| Дублирующиеся пользователи | Несогласованные идентификаторы | Последовательно используйте email как основной идентификатор |

### Режим отладки

```yaml
connectors:
  iterable:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Проверка подключения

```bash
tajo connectors test iterable
# ✓ API connection successful
# ✓ User data accessible
# ✓ Campaign list readable
# ✓ Event tracking operational
# ✓ List management available
```

## Лучшие практики

1. **Используйте bulk-эндпоинты**, всегда предпочитайте `bulkUpdate` и `trackBulk` для больших объёмов данных
2. **Дедуплицируйте по email**, используйте email как согласованный идентификатор в Iterable и Brevo
3. **Синхронизируйте инкрементально**, используйте диапазоны дат во избежание повторной обработки исторических данных
4. **Маппируйте предпочтения каналов**, синхронизируйте статусы подписки для соблюдения требований
5. **Мониторьте задания экспорта**, крупные экспорты могут занимать время; настройте опрос статуса
6. **Тестируйте на не-продакшн проекте**, проверяйте маппинги перед синхронизацией продакшн-данных

## Безопасность

- **Аутентификация по API Key**, Server-side ключи с гранулярными разрешениями
- **Только HTTPS**, все API-коммуникации зашифрованы через TLS 1.2+
- **Ротация ключей**, поддержка нескольких активных API-ключей во время ротации
- **Зашифрованное хранение**, API-учётные данные зашифрованы при хранении в Tajo
- **JWT-подписи вебхуков**, полезные нагрузки вебхуков подписаны JWT для верификации

## Связанные ресурсы

- [Коннектор Braze](https://tajo.io/ru/docs/connectors/marketing/braze)
- [Коннектор Customer.io](https://tajo.io/ru/docs/connectors/marketing/customerio)
- [Скилл синхронизации клиентов](https://tajo.io/ru/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/ru/docs/contact-management)
