Connecteur ActiveCampaign
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 | Oui |
| 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 :
- Un compte ActiveCampaign (Lite, Plus, Professional ou Enterprise)
- L’URL API et la clé API depuis Settings > Developer
- Un compte Brevo avec accès API
- 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.
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
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": 52Mappage 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
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_TIEREndpoints 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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect ActiveCampaignawait tajo.connectors.connect('activecampaign', { apiUrl: process.env.AC_API_URL, apiKey: process.env.AC_API_KEY});Migrer les contacts vers Brevo
// Full contact migration with custom fields and tagsawait tajo.connectors.sync('activecampaign', { type: 'full', resources: ['contacts', 'deals', 'events'], options: { includeTags: true, includeCustomFields: true, includeScores: true, includeListMemberships: true }});
// Check sync statusconst 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
// Forward ActiveCampaign events to Brevoawait tajo.activecampaign.trackEvent({ 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 :
connectors: activecampaign: debug: true log_level: verbose log_webhooks: trueTester la connexion
tajo connectors test activecampaign# ✓ API connection successful# ✓ Contacts readable# ✓ Deals readable# ✓ Automations accessible# ✓ Event tracking enabledBonnes pratiques
- Utilisez l’endpoint contact sync, Utilisez
/contact/syncpour les opérations upsert plutôt que création/mise à jour séparées - Mappez les champs par ID, Les IDs de champ personnalisé sont stables ; les labels peuvent changer
- Préservez les abonnements aux listes, Migrez les affectations de listes avec les données de contact
- Synchronisez les pipelines de transactions, Mappez les étapes de pipeline pour un reporting CRM cohérent
- Implémentez le suivi d’événements, Utilisez le site tracking pour les données comportementales dans Brevo
- 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