Connettore ActiveCampaign
Collega il tuo account ActiveCampaign a Brevo tramite Tajo per una migrazione completa dei contatti, sincronizzazione della pipeline dei deal, mappatura delle automazioni e dati marketing unificati tra entrambe le piattaforme.
Panoramica
| Proprietà | Valore |
|---|---|
| Piattaforma | ActiveCampaign |
| Categoria | Marketing |
| Complessità di setup | Media |
| Integrazione ufficiale | Sì |
| Dati sincronizzati | Contatti, Deal, Automazioni, Eventi |
| API Base URL | https://{account}.api-us1.com/api/3 |
Funzionalità
- Migrazione dei contatti - Migra i contatti con campi personalizzati, tag e appartenenze a liste
- Sincronizzazione pipeline deal - Sincronizza stage, valori e proprietari dei deal per il tracciamento dei ricavi
- Mappatura delle automazioni - Mappa le automazioni ActiveCampaign sui trigger di workflow Brevo
- Tracciamento eventi - Sincronizza tracking del sito ed eventi personalizzati per la segmentazione comportamentale
- Sync di liste e tag - Replica le strutture di lista e i segmenti basati su tag in Brevo
- Integrazione e-commerce - Sincronizza i Deep Data (ordini, clienti, carrelli) verso Brevo
- Sync oggetti personalizzati - Mappa gli oggetti personalizzati ActiveCampaign agli attributi Brevo
- Sync dei punteggi - Trasferisci i punteggi di lead e contatti agli attributi Brevo
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account ActiveCampaign (Lite, Plus, Professional o Enterprise)
- URL e chiave API da Settings > Developer
- Un account Brevo con accesso API
- Un account Tajo
Autenticazione
Autenticazione con chiave API
ActiveCampaign usa una chiave API passata come header o parametro di query.
curl "https://{account}.api-us1.com/api/3/contacts" \ -H "Api-Token: YOUR_API_KEY" \ -H "Content-Type: application/json"Trova URL e chiave API in ActiveCampaign Settings > Developer.
URL API
Il tuo URL API è univoco per il tuo account (es. https://yourcompany.api-us1.com). Usa sempre questo URL, non quello della dashboard.
Configurazione
Setup di 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": 52Mappatura dei campi
Mappa i campi ActiveCampaign agli attributi di contatto Brevo:
Mappature predefinite
| Parameter | Type | Description |
|---|---|---|
email required | string | Email del contatto (identificatore univoco) |
firstName optional | string | Mappato all'attributo FIRSTNAME |
lastName optional | string | Mappato all'attributo LASTNAME |
phone optional | string | Mappato all'attributo SMS |
tags optional | array | Tag del contatto per la segmentazione |
score optional | integer | Punteggio di engagement del contatto |
deals optional | array | Record dei deal associati |
fieldValues optional | array | Valori dei campi personalizzati |
Mappatura dei campi personalizzati
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_TIEREndpoint API
Contatti
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /api/3/contacts | Elenca tutti i contatti |
POST | /api/3/contacts | Crea un contatto |
PUT | /api/3/contacts/{id} | Aggiorna un contatto |
GET | /api/3/contacts/{id} | Recupera un contatto |
POST | /api/3/contact/sync | Sincronizza un contatto (crea o aggiorna) |
POST | /api/3/import/bulk_import | Importa contatti in blocco |
Deal
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /api/3/deals | Elenca tutti i deal |
POST | /api/3/deals | Crea un deal |
PUT | /api/3/deals/{id} | Aggiorna un deal |
GET | /api/3/dealStages | Elenca tutti gli stage dei deal |
GET | /api/3/dealPipelines | Elenca tutte le pipeline |
Automazioni
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /api/3/automations | Elenca le automazioni |
GET | /api/3/automations/{id} | Recupera un’automazione |
POST | /api/3/contactAutomations | Aggiungi un contatto a un’automazione |
E-commerce (Deep Data)
| Metodo | Endpoint | Descrizione |
|---|---|---|
POST | /api/3/ecomOrders | Crea un ordine |
GET | /api/3/ecomOrders | Elenca gli ordini |
POST | /api/3/ecomCustomers | Crea un cliente |
GET | /api/3/ecomCustomers | Elenca i clienti |
Tracciamento eventi
| Metodo | Endpoint | Descrizione |
|---|---|---|
POST | /api/3/tracking/event | Traccia un evento personalizzato |
GET | /api/3/eventTrackingEvents | Elenca tutti i nomi degli eventi |
POST | /api/3/eventTrackingEvents | Crea un nome di evento |
Eventi
Eventi contatto
| Evento | Trigger | Caso d’uso |
|---|---|---|
contact_add | Nuovo contatto creato | Flusso di benvenuto |
contact_update | Dati del contatto modificati | Sync degli attributi |
contact_tag_added | Tag assegnato | Aggiornamento del segmento |
contact_tag_removed | Tag rimosso | Pulizia del segmento |
Eventi deal
| Evento | Trigger | Caso d’uso |
|---|---|---|
deal_add | Nuovo deal creato | Notifica vendite |
deal_update | Stage del deal modificato | Automazione pipeline |
deal_tasktype_add | Task aggiunto al deal | Tracciamento attività |
Eventi di automazione
| Evento | Trigger | Caso d’uso |
|---|---|---|
automation_contact_add | Contatto entrato in automazione | Tracciamento del flusso |
automation_contact_complete | Contatto ha completato l’automazione | Trigger del passo successivo |
Esempi di codice
Inizializza il connettore
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});Migra i contatti su 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// }Traccia eventi personalizzati
// Forward ActiveCampaign events to Brevoawait tajo.activecampaign.trackEvent({ event: 'product_demo_requested', eventData: { product: 'Enterprise Plan', source: 'website' }});Limiti di velocità
Limiti di velocità dell’API ActiveCampaign:
| Piano | Limite | Dettagli |
|---|---|---|
| Lite | 5 richieste/secondo | Per account |
| Plus | 10 richieste/secondo | Per account |
| Professional | 10 richieste/secondo | Per account |
| Enterprise | 20 richieste/secondo | Per account |
Limiti aggiuntivi:
- Importazione in blocco: 250 contatti per batch
- Frequenza importazione in blocco: 1 import alla volta
- Tracciamento eventi: 2 richieste/secondo
- Limite giornaliero: Nessun limite giornaliero esplicito (solo basato sulla velocità)
Gestione dei limiti di velocità
ActiveCampaign restituisce 429 Too Many Requests quando i limiti vengono superati. Implementa la logica di retry con il valore dell’header Retry-After.
Risoluzione dei problemi
Problemi comuni
| Problema | Causa | Soluzione |
|---|---|---|
| 403 Forbidden | URL o chiave API non validi | Verifica URL e chiave API in AC Settings > Developer |
| Contatto non sincronizzato | Gestione email duplicate | Usa l’endpoint /contact/sync per il comportamento upsert |
| Campo personalizzato vuoto | ID del campo non corrispondente | Mappa i campi per ID, non per label (le label possono cambiare) |
| Webhook non ricevuto | Webhook non configurato | Imposta i webhook in AC Settings > Developer > Webhooks |
| Deal non creato | Campi obbligatori mancanti | Assicurati che pipeline, stage e contatto siano forniti |
Modalità debug
Abilita il logging dettagliato:
connectors: activecampaign: debug: true log_level: verbose log_webhooks: trueTesta la connessione
tajo connectors test activecampaign# ✓ API connection successful# ✓ Contacts readable# ✓ Deals readable# ✓ Automations accessible# ✓ Event tracking enabledBest practice
- Usa l’endpoint contact sync - Usa
/contact/syncper le operazioni di upsert invece di create/update separate - Mappa i campi per ID - Gli ID dei campi personalizzati sono stabili; le label possono cambiare
- Preserva le appartenenze alle liste - Migra le assegnazioni a liste insieme ai dati dei contatti
- Sincronizza le pipeline dei deal - Mappa gli stage delle pipeline per una reportistica CRM coerente
- Implementa il tracciamento eventi - Usa il site tracking per dati comportamentali in Brevo
- Importazioni in batch - Usa il bulk import per dataset più grandi di 1.000 contatti
Sicurezza
- Autenticazione con chiave API - Accesso basato su token tramite header
Api-Token - Verifica webhook - Convalida gli intervalli IP di origine dei webhook
- Cifratura TLS - Tutte le comunicazioni API cifrate via HTTPS
- Accesso a livello di account - La chiave API fornisce accesso completo all’account; usala con cura
- Restrizioni IP - Disponibili sui piani Enterprise