---
title: "Konektor Iterable"
description: "Kompletny przewodnik integracji Iterable do synchronizacji użytkowników, kampanii, eksperymentów i zdarzeń zaangażowania z Brevo przez Tajo."
url: https://tajo.io/pl/docs/connectors/marketing/iterable/
markdown: https://tajo.io/pl/docs/connectors/marketing/iterable.md
lang: pl-PL
robots: noindex
---

Poproś o wcześniejszy dostęp

Podaj imię i firmowy adres e-mail. Wyślemy Ci link potwierdzający prośbę o dostęp do Tajo.

# Konektor Iterable

Status konektora: Planowany Jeszcze niezbudowany. Tajo nie uruchamia dziś tego konektora.

| Pole źródłowe | Pole docelowe | Przykładowa wartość |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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:

1. Konto Iterable z dostępem do API
2. Klucz API Iterable z odpowiednimi uprawnieniami
3. ID projektu Iterable
4. Konto Brevo z dostępem do API
5. Konto Tajo z aktywną subskrypcją

## Uwierzytelnianie

Iterable używa uwierzytelniania kluczem API przekazywanym w nagłówku żądania.

### Tworzenie klucza API

1. Zaloguj się do dashboardu Iterable
2. Przejdź do **Integrations** > **API Keys**
3. Kliknij **New API Key**
4. Nadaj mu nazwę “Tajo Integration”
5. Wybierz typ klucza **Server-side**
6. Przyznaj następujące uprawnienia:

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

Typ 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

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

## Konfiguracja

### Podstawowa konfiguracja

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

### Mapowanie pól

Mapuj pola użytkowników Iterable na atrybuty kontaktów Brevo:

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

### Konfiguracja zdarzeń

```yaml
event_mapping:
  # Iterable event -> Brevo event
  purchase: ORDER_PLACED
  addToCart: CART_UPDATED
  pageView: PAGE_VIEWED
  appOpen: APP_OPENED
  pushOpen: PUSH_ENGAGED
```

## Endpointy 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

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

### Synchronizuj użytkowników

```javascript
// Incremental user sync from Iterable to 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
// }
```

### Śledź zdarzenia

```javascript
// Forward Iterable events to 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
    }
  }
});
```

### Obsługa webhooków

```javascript
// Handle Iterable system webhooks
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');
});
```

## 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

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

### Test połączenia

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

## Najlepsze praktyki

1. **Używaj endpointów wsadowych** - Zawsze preferuj `bulkUpdate` i `trackBulk` dla dużych wolumenów danych
2. **Deduplikuj po e-mailu** - Używaj e-maila jako spójnego identyfikatora między Iterable a Brevo
3. **Synchronizuj przyrostowo** - Używaj zakresów dat, aby unikać ponownego przetwarzania historycznych danych
4. **Mapuj preferencje kanałów** - Synchronizuj status opt-in/opt-out, aby zachować zgodność
5. **Monitoruj zadania eksportu** - Duże eksporty mogą trwać długo; skonfiguruj odpytywanie statusu
6. **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

## Powiązane zasoby

- [Konektor Braze](https://tajo.io/pl/docs/connectors/marketing/braze)
- [Konektor Customer.io](https://tajo.io/pl/docs/connectors/marketing/customerio)
- [Skill synchronizacji klientów](https://tajo.io/pl/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/pl/docs/contact-management)
