---
title: "Iterable konektor"
description: "Kompletan vodič za Iterable integraciju za sinhronizaciju korisnika, kampanja, eksperimenata i događaja angažovanja sa Brevo putem Tajo."
url: https://tajo.io/sr/docs/connectors/marketing/iterable/
markdown: https://tajo.io/sr/docs/connectors/marketing/iterable.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Iterable konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoju Iterable growth marketing platformu sa Brevo za unifikovano angažovanje kupaca, koordinaciju kampanja na više kanala i konsolidovanu analitiku između marketing alata.

## Pregled

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | Iterable |
| **Kategorija** | Marketing |
| **Složenost podešavanja** | Srednje |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Korisnici, Događaji, Kampanje, Katalozi |
| **Tip API-ja** | REST API |
| **Autentifikacija** | API Key |
| **Osnovni URL** | `https://api.iterable.com/api/` |

## Karakteristike

- **Sinhronizacija profila korisnika** - Dvosmerna sinhronizacija podataka korisnika sa Brevo kontaktima
- **Analitika kampanja** - Sinhronizacija metrika slanja, otvaranja i klikova kampanje za unifikovano izveštavanje
- **Podaci eksperimenata** - Praćenje rezultata A/B testova i pobedničkih varijanti
- **Sinhronizacija kataloga** - Sinhronizacija kataloga proizvoda i sadržaja između platforma
- **Događaji tokova rada** - Prosleđivanje okidača toka rada i događaja završetka u Brevo
- **Sinhronizacija preferencija kanala** - Replikacija korisničkih preferencija komunikacije u Brevo

## Preduslovi

Pre nego što započneš, proveri da imaš:

1. Iterable nalog sa API pristupom
2. Iterable API ključ sa odgovarajućim dozvolama
3. ID Iterable projekta
4. Brevo nalog sa API pristupom
5. Tajo nalog sa aktivnom pretplatom

## Autentifikacija

Iterable koristi autentifikaciju API ključem prosleđenu u headeru zahteva.

### Kreiranje API ključa

1. Prijavi se na Iterable dashboard
2. Idi na **Integrations** > **API Keys**
3. Klikni **New API Key**
4. Nazovi ga “Tajo Integration”
5. Izaberi tip ključa **Server-side**
6. Dodeli sledeće dozvole:

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

Tip ključa je bitan

Uvek koristi **Server-side** API ključ za Tajo integraciju. Mobilni i JavaScript ključevi na strani klijenta imaju ograničene dozvole i ne mogu pristupiti svim potrebnim endpointima.

### Povezivanje sa Tajo

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

## Konfiguracija

### Osnovno podešavanje

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

### Mapiranje polja

Mapiranje Iterable polja korisnika na Brevo atribute kontakta:

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

### Konfiguracija događaja

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

## API endpointi

Tajo se integriše sa sledećim Iterable API endpointima:

| Endpoint | Metoda | Namena |
| --- | --- | --- |
| `/users/update` | POST | Ažuriranje profila korisnika |
| `/users/{email}` | GET | Dohvatanje korisnika po emailu |
| `/users/bulkUpdate` | POST | Batch ažuriranje korisnika |
| `/events/track` | POST | Praćenje prilagođenih događaja |
| `/events/trackBulk` | POST | Batch praćenje događaja |
| `/campaigns` | GET | Listanje svih kampanja |
| `/campaigns/metrics` | GET | Podaci o performansama kampanje |
| `/experiments/metrics` | GET | Rezultati eksperimenta |
| `/lists` | GET | Listanje svih lista korisnika |
| `/lists/subscribe` | POST | Dodavanje korisnika na listu |
| `/lists/unsubscribe` | POST | Uklanjanje korisnika sa liste |
| `/catalogs/{catalogName}/items` | GET | Dohvatanje stavki kataloga |
| `/channels` | GET | Listanje kanala poruka |
| `/export/data.json` | GET | Izvoz sirovih podataka o događajima |

## Primeri koda

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

### Sinhronizacija korisnika

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

### Praćenje događaja

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

### Webhook handler

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

## Ograničenja brzine

Iterable primenjuje ograničenja brzine u zavisnosti od tvog plana:

| Plan | Ograničenje brzine | Limit bulk endpointa |
| --- | --- | --- |
| **Growth** | 500 zahteva/sekundi | 500 zahteva/sekundi |
| **Enterprise** | Prilagođeno | Prilagođeno |

Specifična ograničenja endpointa:

| Endpoint | Limit |
| --- | --- |
| `/users/update` | 500 z/s |
| `/users/bulkUpdate` | 500 z/s (1.000 korisnika po zahtevu) |
| `/events/track` | 500 z/s |
| `/events/trackBulk` | 500 z/s (8.000 događaja po zahtevu) |
| `/export/data.json` | 4 istovremena zahteva |

Bulk endpointi

Tajo automatski grupišu ažuriranja korisnika (do 1.000 po pozivu) i praćenja događaja (do 8.000 po pozivu) da maksimizuje propusni opseg unutar ograničenja brzine.

## Rešavanje problema

### Česti problemi

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći API ključ | Verifikuj ključ u Iterable > Integrations > API Keys |
| Korisnici se ne sinhronizuju | Nepodudaranje tipa ključa | Osiguraj da koristiš Server-side API ključ |
| Nedostaju podaci kampanje | Nedovoljne dozvole | Dodaj dozvolu Campaigns Read API ključu |
| Timeout izvoza | Veliki obim podataka | Koristi filtere opsega datuma da smanjiš veličinu izvoza |
| Duplirani korisnici | Nedosledni identifikatori | Konzistentno koristi email kao primarni identifikator |

### Debug režim

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

### Testiraj vezu

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

## Najbolje prakse

1. **Koristi bulk endpointe** - Uvek preferiraj `bulkUpdate` i `trackBulk` za velike obime podataka
2. **Dedupliciraj po emailu** - Koristi email kao konzistentni identifikator između Iterable i Brevo
3. **Sinhronizuj inkrementalno** - Koristi opsege datuma da izbjegneš ponovnu obradu istorijskih podataka
4. **Mapiraj preferencije kanala** - Sinhronizuj status opt-in/opt-out da održiš usklađenost
5. **Prati poslove izvoza** - Veliki izvozi mogu potrajati; postavi ispitivanje statusa
6. **Testiraj sa neprodukcijskim projektom** - Validiraj mapiranja pre sinhronizacije produkcijskih podataka

## Bezbednost

- **Autentifikacija API ključem** - Server-side ključevi sa granularnim dozvolama
- **Samo HTTPS** - Sva API komunikacija enkriptovana putem TLS 1.2+
- **Rotacija ključeva** - Podrška za više aktivnih API ključeva tokom rotacije
- **Enkriptovana pohrana** - API akreditivi enkriptovani u mirovanju u Tajo
- **JWT webhook-ovi** - Webhook payloadi potpisani sa JWT za verifikaciju

## Povezani resursi

- [Braze konektor](https://tajo.io/sr/docs/connectors/marketing/braze)
- [Customer.io konektor](https://tajo.io/sr/docs/connectors/marketing/customerio)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sr/docs/contact-management)
