Connecteur Iterable

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
PlateformeIterable
CatégorieMarketing
Complexité de configurationModérée
Intégration officielleNon
Données synchroniséesUtilisateurs, Événements, Campagnes, Catalogues
Type d’APIAPI REST
AuthentificationClé API
URL de basehttps://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

Terminal window
tajo connectors install iterable \
--api-key $ITERABLE_API_KEY

Configuration

Configuration de base

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 :

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

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 :

EndpointMéthodeObjectif
/users/updatePOSTMettre à jour les profils utilisateurs
/users/{email}GETRécupérer un utilisateur par email
/users/bulkUpdatePOSTMise à jour groupée d’utilisateurs
/events/trackPOSTSuivre des événements personnalisés
/events/trackBulkPOSTSuivi groupé d’événements
/campaignsGETLister toutes les campagnes
/campaigns/metricsGETDonnées de performance des campagnes
/experiments/metricsGETRésultats d’expérimentations
/listsGETLister toutes les listes d’utilisateurs
/lists/subscribePOSTAjouter des utilisateurs à une liste
/lists/unsubscribePOSTRetirer des utilisateurs d’une liste
/catalogs/{catalogName}/itemsGETRécupérer les éléments du catalogue
/channelsGETLister les canaux de messagerie
/export/data.jsonGETExporter les données d’événements brutes

Exemples de code

Initialiser le connecteur

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

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

// Transférer les événements Iterable vers Brevo
await tajo.connectors.handleEvent('iterable', {
type: 'custom_event',
payload: {
eventName: 'subscription_upgraded',
dataFields: {
previousPlan: 'starter',
newPlan: 'pro',
mrr: 99.00
}
}
});

Gestionnaire de webhook

// 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 :

PlanLimite de tauxLimite endpoint bulk
Growth500 requêtes/seconde500 requêtes/seconde
EnterprisePersonnaliséPersonnalisé

Limites par endpoint spécifique :

EndpointLimite
/users/update500 req/s
/users/bulkUpdate500 req/s (1 000 utilisateurs par requête)
/events/track500 req/s
/events/trackBulk500 req/s (8 000 événements par requête)
/export/data.json4 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èmeCauseSolution
401 UnauthorizedClé API invalideVérifiez la clé dans Iterable > Integrations > API Keys
Utilisateurs non synchronisésMauvais type de cléAssurez-vous d’utiliser une clé API Server-side
Données de campagnes manquantesPermissions insuffisantesAjoutez la permission Campaigns Read à la clé API
Timeout d’exportGros volume de donnéesUtilisez des filtres de plage de dates pour réduire la taille d’export
Utilisateurs dupliquésIdentifiants incohérentsUtilisez l’email comme identifiant principal de manière cohérente

Mode debug

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

Tester la connexion

Terminal window
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

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.