Conector de ActiveCampaign

Conecta tu cuenta de ActiveCampaign con Brevo a través de Tajo para una migración completa de contactos, sincronización del pipeline de negocios, mapeo de automatizaciones y datos de marketing unificados en ambas plataformas.

Resumen

PropiedadValor
PlataformaActiveCampaign
CategoríaMarketing
Complejidad de configuraciónMedia
Integración oficial
Datos sincronizadosContactos, Negocios, Automatizaciones, Eventos
URL base de la APIhttps://{account}.api-us1.com/api/3

Funcionalidades

  • Migración de contactos - Migra contactos con campos personalizados, etiquetas y pertenencia a listas
  • Sincronización del pipeline de negocios - Sincroniza etapas, valores y propietarios de negocios para el seguimiento de ingresos
  • Mapeo de automatizaciones - Asocia automatizaciones de ActiveCampaign con triggers de flujos de Brevo
  • Seguimiento de eventos - Sincroniza el site tracking y los eventos personalizados para segmentación conductual
  • Sincronización de listas y etiquetas - Replica estructuras de listas y segmentos basados en etiquetas en Brevo
  • Integración eCommerce - Sincroniza los datos Deep Data (pedidos, clientes, carritos) con Brevo
  • Sincronización de objetos personalizados - Asocia objetos personalizados de ActiveCampaign con atributos de Brevo
  • Sincronización de scoring - Transfiere los scores de leads y contactos a atributos de Brevo

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de ActiveCampaign (Lite, Plus, Professional o Enterprise)
  2. La URL y la clave API desde Settings > Developer
  3. Una cuenta de Brevo con acceso a la API
  4. Una cuenta de Tajo

Autenticación

Autenticación con clave API

ActiveCampaign usa una clave API enviada como cabecera o como parámetro de consulta.

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

Encuentra tu URL y tu clave API en ActiveCampaign Settings > Developer.

URL de la API

Tu URL de la API es única para tu cuenta (por ejemplo, https://yourcompany.api-us1.com). Usa siempre esta URL, no la URL del panel de control.

Configuración

Configuración básica

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

Asignación de campos

Asocia los campos de ActiveCampaign con los atributos de contacto de Brevo:

Default Mappings

Parameter Type Description
email required
string

Email del contacto (identificador único)

firstName optional
string

Se asigna al atributo FIRSTNAME

lastName optional
string

Se asigna al atributo LASTNAME

phone optional
string

Se asigna al atributo SMS

tags optional
array

Etiquetas del contacto para segmentación

score optional
integer

Score de engagement del contacto

deals optional
array

Registros de negocios asociados

fieldValues optional
array

Valores de campos personalizados

Asignación de campos personalizados

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 de la API

Contactos

MétodoEndpointDescripción
GET/api/3/contactsListar todos los contactos
POST/api/3/contactsCrear un contacto
PUT/api/3/contacts/{id}Actualizar un contacto
GET/api/3/contacts/{id}Obtener un contacto
POST/api/3/contact/syncSincronizar un contacto (crear o actualizar)
POST/api/3/import/bulk_importImportación masiva de contactos

Negocios

MétodoEndpointDescripción
GET/api/3/dealsListar todos los negocios
POST/api/3/dealsCrear un negocio
PUT/api/3/deals/{id}Actualizar un negocio
GET/api/3/dealStagesListar todas las etapas
GET/api/3/dealPipelinesListar todos los pipelines

Automatizaciones

MétodoEndpointDescripción
GET/api/3/automationsListar automatizaciones
GET/api/3/automations/{id}Obtener una automatización
POST/api/3/contactAutomationsAñadir un contacto a una automatización

eCommerce (Deep Data)

MétodoEndpointDescripción
POST/api/3/ecomOrdersCrear un pedido
GET/api/3/ecomOrdersListar pedidos
POST/api/3/ecomCustomersCrear un cliente
GET/api/3/ecomCustomersListar clientes

Seguimiento de eventos

MétodoEndpointDescripción
POST/api/3/tracking/eventRegistrar un evento personalizado
GET/api/3/eventTrackingEventsListar todos los nombres de evento
POST/api/3/eventTrackingEventsCrear un nombre de evento

Eventos

Eventos de contacto

EventoDisparadorCaso de uso
contact_addNuevo contacto creadoFlujo de bienvenida
contact_updateDatos del contacto modificadosSincronización de atributos
contact_tag_addedEtiqueta asignadaActualización de segmento
contact_tag_removedEtiqueta eliminadaLimpieza de segmento

Eventos de negocio

EventoDisparadorCaso de uso
deal_addNuevo negocio creadoNotificación al equipo de ventas
deal_updateEtapa del negocio modificadaAutomatización del pipeline
deal_tasktype_addTarea añadida al negocioSeguimiento de actividad

Eventos de automatización

EventoDisparadorCaso de uso
automation_contact_addEl contacto entra en la automatizaciónSeguimiento de flujos
automation_contact_completeEl contacto completa la automatizaciónDisparador del siguiente paso

Ejemplos de código

Inicializar el conector

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

Migrar contactos a Brevo

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

Registrar eventos personalizados

// Forward ActiveCampaign events to Brevo
await tajo.activecampaign.trackEvent({
event: 'product_demo_requested',
eventData: {
product: 'Enterprise Plan',
source: 'website'
}
});

Límites de velocidad

Límites de velocidad de la API de ActiveCampaign:

PlanLímite de velocidadDetalles
Lite5 peticiones/segundoPor cuenta
Plus10 peticiones/segundoPor cuenta
Professional10 peticiones/segundoPor cuenta
Enterprise20 peticiones/segundoPor cuenta

Límites adicionales:

  • Importación masiva: 250 contactos por lote
  • Frecuencia de importación masiva: 1 importación simultánea
  • Seguimiento de eventos: 2 peticiones/segundo
  • Límite diario: Sin límite diario explícito (solo por velocidad)

Gestión de límites de velocidad

ActiveCampaign devuelve 429 Too Many Requests cuando se superan los límites. Implementa lógica de reintento usando el valor de la cabecera Retry-After.

Resolución de problemas

Problemas habituales

ProblemaCausaSolución
403 ForbiddenClave o URL no válidaVerifica la URL y la clave API en AC Settings > Developer
Contacto no sincronizadoGestión de email duplicadoUsa el endpoint /contact/sync para obtener comportamiento upsert
Campo personalizado vacíoID de campo incorrectoAsocia los campos por ID, no por etiqueta (las etiquetas pueden cambiar)
Webhook no recibidoWebhook no configuradoConfigura webhooks en AC Settings > Developer > Webhooks
Negocio no creadoFaltan campos obligatoriosAsegúrate de indicar pipeline, etapa y contacto

Modo depuración

Activa el registro detallado:

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

Probar la conexión

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

Buenas prácticas

  1. Usa el endpoint de sincronización de contactos - Utiliza /contact/sync para operaciones upsert en vez de crear/actualizar por separado
  2. Asocia los campos por ID - Los IDs de campos personalizados son estables; las etiquetas pueden cambiar
  3. Preserva la pertenencia a listas - Migra las asignaciones a listas junto con los datos del contacto
  4. Sincroniza los pipelines de negocio - Asocia las etapas del pipeline para un reporting de CRM coherente
  5. Implementa el seguimiento de eventos - Usa el site tracking para disponer de datos conductuales en Brevo
  6. Importaciones por lotes - Usa la importación masiva para conjuntos de datos de más de 1.000 contactos

Seguridad

  • Autenticación con clave API - Acceso basado en token mediante la cabecera Api-Token
  • Verificación de webhooks - Valida los rangos de IP de origen de los webhooks
  • Cifrado TLS - Toda la comunicación con la API se cifra vía HTTPS
  • Acceso a nivel de cuenta - La clave API da acceso completo a la cuenta; úsala con cuidado
  • Restricciones por IP - Disponibles en los planes Enterprise

Recursos relacionados

Subscribe to updates

developer-docs

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

auto-detect
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.