---
title: "Connecteur Iterable"
description: "Guide complet d'intégration Iterable pour synchroniser utilisateurs, campagnes, expérimentations et événements d'engagement avec Brevo via Tajo."
url: https://tajo.io/fr/docs/connectors/marketing/iterable/
markdown: https://tajo.io/fr/docs/connectors/marketing/iterable.md
lang: fr-FR
robots: noindex
---

Demandez un accès anticipé

Indiquez votre prénom et votre adresse e-mail professionnelle. Nous vous enverrons un lien pour confirmer votre demande d’accès à Tajo.

# Connecteur Iterable

Statut du connecteur: Prévu Pas encore construit. Tajo n'exécute pas ce connecteur aujourd'hui.

| Champ source | Champ de destination | Valeur d’exemple |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Connectez votre plateforme de growth marketing Iterable à Brevo pour un engagement client unifié, une coordination de campagnes multicanal et des analytiques consolidées à travers vos outils marketing.

## Vue d’ensemble

| Propriété | Valeur |
| --- | --- |
| **Plateforme** | Iterable |
| **Catégorie** | Marketing |
| **Complexité de configuration** | Modérée |
| **Intégration officielle** | Non |
| **Données synchronisées** | Utilisateurs, Événements, Campagnes, Catalogues |
| **Type d’API** | API REST |
| **Authentification** | Clé API |
| **URL de base** | `https://api.iterable.com/api/` |

## Fonctionnalités

- **Synchronisation des profils utilisateurs** - Synchronisation bidirectionnelle des données utilisateurs avec les contacts Brevo
- **Analytiques de campagnes** - Synchronisation des métriques d’envoi, d’ouverture et de clic pour un reporting unifié
- **Données d’expérimentation** - Suivi des résultats A/B test et des variantes gagnantes
- **Synchronisation des catalogues** - Synchronisation des catalogues de produits et de contenu entre plateformes
- **Événements de workflow** - Transfert des événements de déclenchement et de complétion de workflows vers Brevo
- **Synchronisation des préférences de canal** - Réplication des préférences de communication utilisateurs dans Brevo

## Prérequis

Avant de commencer, assurez-vous d’avoir :

1. Un compte Iterable avec accès API
2. Une clé API Iterable avec les permissions appropriées
3. Votre project ID Iterable
4. Un compte Brevo avec accès API
5. Un compte Tajo avec un abonnement actif

## Authentification

Iterable utilise l’authentification par clé API transmise dans l’en-tête de la requête.

### Création d’une clé API

1. Connectez-vous à votre tableau de bord Iterable
2. Naviguez vers **Integrations** > **API Keys**
3. Cliquez sur **New API Key**
4. Nommez-la “Tajo Integration”
5. Sélectionnez le type de clé **Server-side**
6. Accordez les permissions suivantes :

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

Le type de clé est important

Utilisez toujours une clé API **Server-side** pour l’intégration Tajo. Les clés Mobile et JavaScript-side ont des permissions restreintes et ne peuvent pas accéder à tous les endpoints requis.

### Connexion à Tajo

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

## Configuration

### Configuration de base

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

### Mappage de champs

Mappez les champs utilisateurs Iterable aux attributs de contact Brevo :

```yaml
field_mapping:
  # Champs standards
  userId: ITERABLE_ID
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phoneNumber: SMS

  # Données d'engagement
  signupDate: SIGNUP_DATE
  totalPurchases: TOTAL_PURCHASES
  lastPurchaseDate: LAST_PURCHASE

  # Champs personnalisés
  plan_name: PLAN_NAME
  company_size: COMPANY_SIZE
  preferred_channel: PREFERRED_CHANNEL
  lifecycle_stage: LIFECYCLE_STAGE
```

### Configuration des événements

```yaml
event_mapping:
  # Événement Iterable -> Événement Brevo
  purchase: ORDER_PLACED
  addToCart: CART_UPDATED
  pageView: PAGE_VIEWED
  appOpen: APP_OPENED
  pushOpen: PUSH_ENGAGED
```

## Endpoints API

Tajo s’intègre avec les endpoints API Iterable suivants :

| Endpoint | Méthode | Objectif |
| --- | --- | --- |
| `/users/update` | POST | Mettre à jour les profils utilisateurs |
| `/users/{email}` | GET | Récupérer un utilisateur par email |
| `/users/bulkUpdate` | POST | Mise à jour groupée d’utilisateurs |
| `/events/track` | POST | Suivre des événements personnalisés |
| `/events/trackBulk` | POST | Suivi groupé d’événements |
| `/campaigns` | GET | Lister toutes les campagnes |
| `/campaigns/metrics` | GET | Données de performance des campagnes |
| `/experiments/metrics` | GET | Résultats d’expérimentations |
| `/lists` | GET | Lister toutes les listes d’utilisateurs |
| `/lists/subscribe` | POST | Ajouter des utilisateurs à une liste |
| `/lists/unsubscribe` | POST | Retirer des utilisateurs d’une liste |
| `/catalogs/{catalogName}/items` | GET | Récupérer les éléments du catalogue |
| `/channels` | GET | Lister les canaux de messagerie |
| `/export/data.json` | GET | Exporter les données d’événements brutes |

## Exemples de code

### Initialiser le connecteur

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

### Synchroniser les utilisateurs

```javascript
// Synchronisation incrémentielle des utilisateurs d'Iterable vers 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
// }
```

### Suivre des événements

```javascript
// Transférer les événements Iterable vers 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
    }
  }
});
```

### Gestionnaire de webhook

```javascript
// Gérer les webhooks système 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');
});
```

## Limites de taux

Iterable applique des limites de taux selon votre plan :

| Plan | Limite de taux | Limite endpoint bulk |
| --- | --- | --- |
| **Growth** | 500 requêtes/seconde | 500 requêtes/seconde |
| **Enterprise** | Personnalisé | Personnalisé |

Limites par endpoint spécifique :

| Endpoint | Limite |
| --- | --- |
| `/users/update` | 500 req/s |
| `/users/bulkUpdate` | 500 req/s (1 000 utilisateurs par requête) |
| `/events/track` | 500 req/s |
| `/events/trackBulk` | 500 req/s (8 000 événements par requête) |
| `/export/data.json` | 4 requêtes concurrentes |

Endpoints bulk

Tajo groupe automatiquement les mises à jour d’utilisateurs (jusqu’à 1 000 par appel) et les suivis d’événements (jusqu’à 8 000 par appel) pour maximiser le débit tout en respectant les limites de taux.

## Dépannage

### Problèmes courants

| Problème | Cause | Solution |
| --- | --- | --- |
| 401 Unauthorized | Clé API invalide | Vérifiez la clé dans Iterable > Integrations > API Keys |
| Utilisateurs non synchronisés | Mauvais type de clé | Assurez-vous d’utiliser une clé API Server-side |
| Données de campagnes manquantes | Permissions insuffisantes | Ajoutez la permission Campaigns Read à la clé API |
| Timeout d’export | Gros volume de données | Utilisez des filtres de plage de dates pour réduire la taille d’export |
| Utilisateurs dupliqués | Identifiants incohérents | Utilisez l’email comme identifiant principal de manière cohérente |

### Mode debug

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

### Tester la connexion

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

## Bonnes pratiques

1. **Utilisez les endpoints bulk** - Préférez toujours `bulkUpdate` et `trackBulk` pour les gros volumes de données
2. **Dédupliquez par email** - Utilisez l’email comme identifiant cohérent entre Iterable et Brevo
3. **Synchronisez de manière incrémentielle** - Utilisez des plages de dates pour éviter de retraiter les données historiques
4. **Mappez les préférences de canal** - Synchronisez le statut opt-in/opt-out pour maintenir la conformité
5. **Surveillez les jobs d’export** - Les exports volumineux peuvent prendre du temps ; mettez en place un polling de statut
6. **Testez avec un projet non production** - Validez les mappages avant de synchroniser les données de production

## Sécurité

- **Authentification par clé API** - Clés Server-side avec permissions granulaires
- **HTTPS uniquement** - Toutes les communications API chiffrées via TLS 1.2+
- **Rotation des clés** - Support de plusieurs clés API actives pendant la rotation
- **Stockage chiffré** - Identifiants API chiffrés au repos dans Tajo
- **Webhooks JWT** - Payloads de webhook signés avec JWT pour vérification

## Ressources liées

- [Connecteur Braze](https://tajo.io/fr/docs/connectors/marketing/braze)
- [Connecteur Customer.io](https://tajo.io/fr/docs/connectors/marketing/customerio)
- [Compétence de synchronisation client](https://tajo.io/fr/docs/skills/data-sync/customer-sync)
- [API Contacts Brevo](https://tajo.io/fr/docs/contact-management)
