---
title: "Connecteur ActiveCampaign"
description: "Guide complet d'intégration ActiveCampaign pour synchroniser contacts, transactions, automatisations et événements d'engagement avec Brevo via Tajo."
url: https://tajo.io/fr/docs/connectors/marketing/activecampaign/
markdown: https://tajo.io/fr/docs/connectors/marketing/activecampaign.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 ActiveCampaign

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 compte ActiveCampaign à Brevo via Tajo pour une migration complète des contacts, une synchronisation du pipeline de transactions, un mappage des automatisations et des données marketing unifiées sur les deux plateformes.

## Vue d’ensemble

| Propriété | Valeur |
| --- | --- |
| **Plateforme** | ActiveCampaign |
| **Catégorie** | Marketing |
| **Complexité d’installation** | Moyenne |
| **Intégration officielle** | Non |
| **Données synchronisées** | Contacts, transactions, automatisations, événements |
| **URL de base de l’API** | `https://{account}.api-us1.com/api/3` |

## Fonctionnalités

- **Migration des contacts**, Migrez les contacts avec leurs champs personnalisés, tags et abonnements aux listes
- **Synchronisation du pipeline de transactions**, Synchronisez étapes, montants et propriétaires pour le suivi des revenus
- **Mappage des automatisations**, Mappez les automatisations ActiveCampaign vers les déclencheurs de workflow Brevo
- **Suivi des événements**, Synchronisez le site tracking et les événements personnalisés pour la segmentation comportementale
- **Synchronisation des listes et tags**, Répliquez les structures de listes et les segments basés sur les tags dans Brevo
- **Intégration e-commerce**, Synchronisez les Deep Data (commandes, clients, paniers) vers Brevo
- **Synchronisation d’objets personnalisés**, Mappez les objets personnalisés ActiveCampaign vers des attributs Brevo
- **Synchronisation des scores**, Transférez les scores de lead et de contact vers des attributs Brevo

## Prérequis

Avant de commencer, assurez-vous de disposer de :

1. Un compte ActiveCampaign (Lite, Plus, Professional ou Enterprise)
2. L’URL API et la clé API depuis Settings > Developer
3. Un compte Brevo avec accès API
4. Un compte Tajo

## Authentification

### Authentification par clé API

ActiveCampaign utilise une clé API transmise dans un en-tête ou en paramètre de requête.

```bash
curl "https://{account}.api-us1.com/api/3/contacts" \
  -H "Api-Token: YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

Retrouvez votre URL API et votre clé dans ActiveCampaign Settings > Developer.

URL API

Votre URL API est unique à votre compte (par exemple, `https://yourcompany.api-us1.com`). Utilisez toujours cette URL, pas l’URL du tableau de bord.

## Configuration

### Configuration de base

```yaml
connectors:
  activecampaign:
    enabled: true
    api_url: "https://yourcompany.api-us1.com"
    api_key: "${AC_API_KEY}"

    # Data sync options
    sync:
      contacts: true
      deals: true
      automations: true
      events: true
      ecommerce: true

    # List mapping to Brevo
    list_mapping:
      "Main List": 50
      "Newsletter": 51
      "Customers": 52
```

### Mappage des champs

Mappez les champs ActiveCampaign vers les attributs de contact Brevo :

#### Mappages par défaut

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mail du contact (identifiant unique) |
| `firstName` optional | string | Mappé vers l'attribut FIRSTNAME |
| `lastName` optional | string | Mappé vers l'attribut LASTNAME |
| `phone` optional | string | Mappé vers l'attribut SMS |
| `tags` optional | array | Tags du contact pour la segmentation |
| `score` optional | integer | Score d'engagement du contact |
| `deals` optional | array | Enregistrements de transactions associés |
| `fieldValues` optional | array | Valeurs des champs personnalisés |

#### Mappage des champs personnalisés

```yaml
field_mapping:
  # Standard fields
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phone: SMS

  # Engagement fields
  score: LEAD_SCORE
  rating: ENGAGEMENT_RATING

  # Deal fields
  deals.value: DEAL_VALUE
  deals.stage: DEAL_STAGE
  deals.owner: DEAL_OWNER

  # Custom fields
  fieldValues.company: COMPANY_NAME
  fieldValues.industry: INDUSTRY
  fieldValues.plan_tier: PLAN_TIER
```

## Endpoints API

### Contacts

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/api/3/contacts` | Lister tous les contacts |
| `POST` | `/api/3/contacts` | Créer un contact |
| `PUT` | `/api/3/contacts/{id}` | Mettre à jour un contact |
| `GET` | `/api/3/contacts/{id}` | Récupérer un contact |
| `POST` | `/api/3/contact/sync` | Synchroniser un contact (créer ou mettre à jour) |
| `POST` | `/api/3/import/bulk_import` | Importer des contacts en masse |

### Transactions

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/api/3/deals` | Lister toutes les transactions |
| `POST` | `/api/3/deals` | Créer une transaction |
| `PUT` | `/api/3/deals/{id}` | Mettre à jour une transaction |
| `GET` | `/api/3/dealStages` | Lister toutes les étapes de transaction |
| `GET` | `/api/3/dealPipelines` | Lister tous les pipelines |

### Automatisations

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/api/3/automations` | Lister les automatisations |
| `GET` | `/api/3/automations/{id}` | Récupérer une automatisation |
| `POST` | `/api/3/contactAutomations` | Ajouter un contact à une automatisation |

### E-commerce (Deep Data)

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `POST` | `/api/3/ecomOrders` | Créer une commande |
| `GET` | `/api/3/ecomOrders` | Lister les commandes |
| `POST` | `/api/3/ecomCustomers` | Créer un client |
| `GET` | `/api/3/ecomCustomers` | Lister les clients |

### Suivi d’événements

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `POST` | `/api/3/tracking/event` | Suivre un événement personnalisé |
| `GET` | `/api/3/eventTrackingEvents` | Lister tous les noms d’événements |
| `POST` | `/api/3/eventTrackingEvents` | Créer un nom d’événement |

## Événements

### Événements de contact

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `contact_add` | Nouveau contact créé | Workflow de bienvenue |
| `contact_update` | Données du contact modifiées | Synchronisation des attributs |
| `contact_tag_added` | Tag attribué | Mise à jour de segment |
| `contact_tag_removed` | Tag retiré | Nettoyage de segment |

### Événements de transaction

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `deal_add` | Nouvelle transaction créée | Notification commerciale |
| `deal_update` | Étape de transaction modifiée | Automatisation du pipeline |
| `deal_tasktype_add` | Tâche ajoutée à une transaction | Suivi d’activité |

### Événements d’automatisation

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `automation_contact_add` | Contact entré dans une automatisation | Suivi de workflow |
| `automation_contact_complete` | Contact ayant terminé une automatisation | Déclencheur d’étape suivante |

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

// Connect ActiveCampaign
await tajo.connectors.connect('activecampaign', {
  apiUrl: process.env.AC_API_URL,
  apiKey: process.env.AC_API_KEY
});
```

### Migrer les contacts vers Brevo

```javascript
// Full contact migration with custom fields and tags
await tajo.connectors.sync('activecampaign', {
  type: 'full',
  resources: ['contacts', 'deals', 'events'],
  options: {
    includeTags: true,
    includeCustomFields: true,
    includeScores: true,
    includeListMemberships: true
  }
});

// Check sync status
const status = await tajo.connectors.status('activecampaign');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsMigrated: 28000,
//   dealsSynced: 4500,
//   eventsSynced: 120000
// }
```

### Suivre des événements personnalisés

```javascript
// Forward ActiveCampaign events to Brevo
await tajo.activecampaign.trackEvent({
  email: 'customer@example.com',
  event: 'product_demo_requested',
  eventData: {
    product: 'Enterprise Plan',
    source: 'website'
  }
});
```

## Limites de débit

Limites de débit de l’API ActiveCampaign :

| Plan | Limite de débit | Détails |
| --- | --- | --- |
| Lite | 5 requêtes/seconde | Par compte |
| Plus | 10 requêtes/seconde | Par compte |
| Professional | 10 requêtes/seconde | Par compte |
| Enterprise | 20 requêtes/seconde | Par compte |

Limites supplémentaires :

- **Import en masse** : 250 contacts par lot
- **Fréquence d’import en masse** : 1 import à la fois
- **Suivi d’événements** : 2 requêtes/seconde
- **Limite quotidienne** : aucune limite quotidienne explicite (uniquement basée sur le débit)

Gestion des limites de débit

ActiveCampaign renvoie `429 Too Many Requests` lorsque les limites sont dépassées. Implémentez une logique de nouvelle tentative avec la valeur de l’en-tête `Retry-After`.

## Dépannage

### Problèmes courants

| Problème | Cause | Solution |
| --- | --- | --- |
| 403 Forbidden | Clé ou URL API invalide | Vérifiez l’URL API et la clé dans AC Settings > Developer |
| Contact non synchronisé | Gestion des doublons d’e-mail | Utilisez l’endpoint `/contact/sync` pour un comportement upsert |
| Champ personnalisé vide | Incohérence d’ID de champ | Mappez les champs par ID, pas par label (les labels peuvent changer) |
| Webhook non reçu | Webhook non configuré | Configurez les webhooks dans AC Settings > Developer > Webhooks |
| Transaction non créée | Champs obligatoires manquants | Assurez-vous que pipeline, étape et contact sont fournis |

### Mode débogage

Activez la journalisation détaillée :

```yaml
connectors:
  activecampaign:
    debug: true
    log_level: verbose
    log_webhooks: true
```

### Tester la connexion

```bash
tajo connectors test activecampaign
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Deals readable
# ✓ Automations accessible
# ✓ Event tracking enabled
```

## Bonnes pratiques

1. **Utilisez l’endpoint contact sync**, Utilisez `/contact/sync` pour les opérations upsert plutôt que création/mise à jour séparées
2. **Mappez les champs par ID**, Les IDs de champ personnalisé sont stables ; les labels peuvent changer
3. **Préservez les abonnements aux listes**, Migrez les affectations de listes avec les données de contact
4. **Synchronisez les pipelines de transactions**, Mappez les étapes de pipeline pour un reporting CRM cohérent
5. **Implémentez le suivi d’événements**, Utilisez le site tracking pour les données comportementales dans Brevo
6. **Imports par lot**, Utilisez l’import en masse pour les jeux de données de plus de 1 000 contacts

## Sécurité

- **Authentification par clé API**, Accès par jeton via l’en-tête `Api-Token`
- **Vérification des webhooks**, Validez les plages d’IP sources des webhooks
- **Chiffrement TLS**, Toutes les communications API chiffrées via HTTPS
- **Accès au niveau du compte**, La clé API offre un accès complet au compte ; à utiliser avec précaution
- **Restrictions d’IP**, Disponibles sur les plans Enterprise

## Ressources associées

- [Documentation de l’API ActiveCampaign](https://developers.activecampaign.com/reference/overview)
- [Guide des webhooks ActiveCampaign](https://developers.activecampaign.com/page/webhooks)
- [Connecteur Mailchimp](https://tajo.io/fr/docs/connectors/marketing/mailchimp)
- [Connecteur Brevo](https://tajo.io/fr/docs/connectors/marketing/brevo)
- [Skill Customer Sync](https://tajo.io/fr/docs/skills/data-sync/customer-sync)
