---
title: "Iterable Connector"
description: "Komplet guide til Iterable-integration til synkronisering af brugere, kampagner, eksperimenter og engagementhændelser med Brevo via Tajo."
url: https://tajo.io/dk/docs/connectors/marketing/iterable/
markdown: https://tajo.io/dk/docs/connectors/marketing/iterable.md
lang: da-DK
robots: noindex
---

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

# Iterable Connector

Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.

| Kildefelt | Destinationsfelt | Eksempelværdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Forbind din Iterable growth marketing-platform til Brevo for forenet kundeengagement, tværkanal-kampagnekoordinering og konsoliderede analyser på tværs af marketingværktøjer.

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | Iterable |
| **Kategori** | Marketing |
| **Opsætningskompleksitet** | Moderat |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Brugere, hændelser, kampagner, kataloger |
| **API-type** | REST API |
| **Autentifikation** | API-nøgle |
| **Base-URL** | `https://api.iterable.com/api/` |

## Funktioner

- **Synkronisering af brugerprofiler** - Tovejssynkronisering af brugerdata med Brevo-kontakter
- **Kampagneanalyse** - Synkronisér kampagneafsendelses-, åbnings- og klikmetrikker til forenet rapportering
- **Eksperimentdata** - Spor A/B-testresultater og vindende varianter
- **Katalogsynkronisering** - Synkronisér produkt- og indholdskataloger på tværs af platforme
- **Workflow-hændelser** - Videresend workflow-trigger- og gennemførselshændelser til Brevo
- **Synkronisering af kanalpræferencer** - Replicér brugernes kommunikationspræferencer i Brevo

## Forudsætninger

Før du begynder, skal du sikre dig, at du har:

1. En Iterable-konto med API-adgang
2. En Iterable API-nøgle med passende rettigheder
3. Dit Iterable-projekt-id
4. En Brevo-konto med API-adgang
5. En Tajo-konto med et aktivt abonnement

## Autentifikation

Iterable bruger API-nøgle-autentifikation sendt i request-headeren.

### Oprettelse af en API-nøgle

1. Log ind på dit Iterable-dashboard
2. Navigér til **Integrations** > **API Keys**
3. Klik **New API Key**
4. Navngiv den “Tajo Integration”
5. Vælg **Server-side**-nøgletype
6. Giv følgende rettigheder:

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

Nøgletype er vigtig

Brug altid en **Server-side**-API-nøgle til Tajo-integration. Mobile- og JavaScript-side-nøgler har begrænsede rettigheder og kan ikke tilgå alle påkrævede endpoints.

### Forbind til Tajo

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

## Konfiguration

### Grundlæggende opsætning

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

### Feltmapping

Knyt Iterable-brugerfelter til Brevo-kontaktattributter:

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

### Hændelseskonfiguration

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

## API-endpoints

Tajo integrerer med følgende Iterable API-endpoints:

| Endpoint | Metode | Formål |
| --- | --- | --- |
| `/users/update` | POST | Opdatér brugerprofiler |
| `/users/{email}` | GET | Hent bruger efter e-mail |
| `/users/bulkUpdate` | POST | Batch-opdatér brugere |
| `/events/track` | POST | Spor brugerdefinerede hændelser |
| `/events/trackBulk` | POST | Batch-spor hændelser |
| `/campaigns` | GET | Vis alle kampagner |
| `/campaigns/metrics` | GET | Kampagneperformance-data |
| `/experiments/metrics` | GET | Eksperimentresultater |
| `/lists` | GET | Vis alle brugerlister |
| `/lists/subscribe` | POST | Tilføj brugere til en liste |
| `/lists/unsubscribe` | POST | Fjern brugere fra en liste |
| `/catalogs/{catalogName}/items` | GET | Hent katalogelementer |
| `/channels` | GET | Vis beskedkanaler |
| `/export/data.json` | GET | Eksportér rå hændelsesdata |

## Kodeeksempler

### Initialisér konnektor

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

### Synkronisér brugere

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

### Spor hændelser

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

## Ratebegrænsninger

Iterable håndhæver ratebegrænsninger baseret på din plan:

| Plan | Ratebegrænsning | Bulk-endpoint-grænse |
| --- | --- | --- |
| **Growth** | 500 forespørgsler/sekund | 500 forespørgsler/sekund |
| **Enterprise** | Tilpasset | Tilpasset |

Specifikke endpoint-grænser:

| Endpoint | Grænse |
| --- | --- |
| `/users/update` | 500 req/s |
| `/users/bulkUpdate` | 500 req/s (1.000 brugere per forespørgsel) |
| `/events/track` | 500 req/s |
| `/events/trackBulk` | 500 req/s (8.000 hændelser per forespørgsel) |
| `/export/data.json` | 4 samtidige forespørgsler |

Bulk-endpoints

Tajo batcher automatisk brugeropdateringer (op til 1.000 per kald) og hændelsessporinger (op til 8.000 per kald) for at maksimere gennemstrømning og samtidig holde sig inden for ratebegrænsningerne.

## Fejlfinding

### Almindelige problemer

| Problem | Årsag | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldig API-nøgle | Verificér nøgle i Iterable > Integrations > API Keys |
| Brugere synkroniseres ikke | Nøgletype matcher ikke | Sørg for, at du bruger en Server-side-API-nøgle |
| Manglende kampagnedata | Utilstrækkelige rettigheder | Tilføj Campaigns Read-rettighed til API-nøgle |
| Eksport-timeout | Stort datavolumen | Brug datointervalfiltre for at reducere eksportstørrelse |
| Duplikerede brugere | Inkonsekvente identifikatorer | Brug e-mail som primær identifikator konsekvent |

### Fejlfindingstilstand

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

### Test forbindelse

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

## Best practices

1. **Brug bulk-endpoints** - Foretræk altid `bulkUpdate` og `trackBulk` til store datamængder
2. **Deduplicér efter e-mail** - Brug e-mail som konsekvent identifikator på tværs af Iterable og Brevo
3. **Synkronisér inkrementelt** - Brug datointervaller for at undgå genbehandling af historiske data
4. **Map kanalpræferencer** - Synkronisér opt-in-/opt-out-status for at opretholde compliance
5. **Overvåg eksport-jobs** - Store eksporter kan tage tid; opsæt statuspolling
6. **Test med et ikke-produktionsprojekt** - Validér mappings før synkronisering af produktionsdata

## Sikkerhed

- **API-nøgle-autentifikation** - Server-side-nøgler med granulære rettigheder
- **Kun HTTPS** - Al API-kommunikation krypteret via TLS 1.2+
- **Nøglerotation** - Understøttelse af flere aktive API-nøgler under rotation
- **Krypteret lagring** - API-legitimationsoplysninger krypteres i hvile i Tajo
- **JWT-webhooks** - Webhook-payloads signeres med JWT til verifikation

## Relaterede ressourcer

- [Braze Connector](https://tajo.io/dk/docs/connectors/marketing/braze)
- [Customer.io Connector](https://tajo.io/dk/docs/connectors/marketing/customerio)
- [Customer Sync Skill](https://tajo.io/dk/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/dk/docs/contact-management)
