Conector de Mailchimp

Conecta tu cuenta de Mailchimp con Brevo a través de Tajo para una migración fluida de audiencias, sincronización de datos de campañas y automatización de marketing unificada entre ambas plataformas.

Resumen

PropiedadValor
PlataformaMailchimp
CategoríaMarketing
Complejidad de configuraciónFácil
Integración oficial
Datos sincronizadosContactos, Campañas, Automatizaciones, Eventos
URL base de la APIhttps://{dc}.api.mailchimp.com/3.0

Funcionalidades

  • Sincronización de audiencias - Migra y sincroniza las audiencias de Mailchimp con las listas de contactos de Brevo
  • Datos de campaña - Sincroniza los datos de rendimiento de campañas para un reporting unificado
  • Migración de automatizaciones - Asocia las automatizaciones de Mailchimp con workflows de Brevo
  • Métricas de engagement - Sincroniza aperturas, clics y rebotes como atributos de Brevo
  • Mapeo de segmentos - Replica los segmentos de Mailchimp como listas o segmentos de Brevo
  • Datos eCommerce - Sincroniza datos de tienda, producto y pedidos desde Mailchimp eCommerce
  • Sincronización de etiquetas - Asocia etiquetas de Mailchimp con atributos de contacto o listas de Brevo
  • Migración de plantillas - Exporta plantillas de Mailchimp para usarlas en campañas de Brevo

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Mailchimp (Free, Essentials, Standard o Premium)
  2. Una clave API o una app OAuth de Mailchimp
  3. Una cuenta de Brevo con acceso a la API
  4. Una cuenta de Tajo

Autenticación

Autenticación con clave API

Genera una clave API desde Mailchimp Account > Extras > API Keys.

Terminal window
curl https://{dc}.api.mailchimp.com/3.0/ping \
--user "anystring:{api_key}" \
-H "Content-Type: application/json"

El prefijo de data center {dc} es la última parte de tu clave API (por ejemplo, us21).

OAuth 2.0

Para integraciones multi-cuenta:

Terminal window
# Authorization URL
https://login.mailchimp.com/oauth2/authorize?
response_type=code&
client_id={client_id}&
redirect_uri={redirect_uri}
# Token exchange
curl -X POST https://login.mailchimp.com/oauth2/token \
-d "grant_type=authorization_code" \
-d "client_id={client_id}" \
-d "client_secret={client_secret}" \
-d "redirect_uri={redirect_uri}" \
-d "code={auth_code}"

Data center

Extrae siempre el data center desde tu clave API o desde el endpoint de metadatos de OAuth. Usar un data center incorrecto provocará fallos de autenticación.

Configuración

Configuración básica

connectors:
mailchimp:
enabled: true
api_key: "${MAILCHIMP_API_KEY}"
data_center: "us21"
# Data sync options
sync:
audiences: true
campaigns: true
automations: true
ecommerce: true
# Audience to Brevo list mapping
audience_mapping:
"Main Audience": 40
"Newsletter": 41
"Customers": 42

Asignación de campos

Asocia los merge fields de Mailchimp con los atributos de contacto de Brevo:

Default Mappings

Parameter Type Description
email_address required
string

Email del suscriptor (identificador único)

FNAME optional
string

Merge field de nombre, se asigna a FIRSTNAME

LNAME optional
string

Merge field de apellido, se asigna a LASTNAME

PHONE optional
string

Merge field de teléfono, se asigna a SMS

status optional
string

Estado de suscripción (subscribed, unsubscribed, cleaned, pending)

tags optional
array

Etiquetas del suscriptor para segmentación

stats.avg_open_rate optional
number

Tasa media de apertura de email

stats.avg_click_rate optional
number

Tasa media de clic de email

Asignación de merge fields personalizados

field_mapping:
# Standard fields
email_address: email
FNAME: FIRSTNAME
LNAME: LASTNAME
PHONE: SMS
# Engagement metrics
stats.avg_open_rate: AVG_OPEN_RATE
stats.avg_click_rate: AVG_CLICK_RATE
member_rating: ENGAGEMENT_SCORE
# E-commerce fields
ecommerce_data.total_revenue: TOTAL_REVENUE
ecommerce_data.number_of_orders: ORDER_COUNT
# Custom merge fields
MMERGE5: COMPANY_NAME
MMERGE6: CUSTOMER_TYPE

Endpoints de la API

Audiencias (listas)

MétodoEndpointDescripción
GET/3.0/listsListar todas las audiencias
GET/3.0/lists/{list_id}Obtener los detalles de una audiencia
GET/3.0/lists/{list_id}/membersListar los miembros de una audiencia
POST/3.0/lists/{list_id}/membersAñadir un miembro
PUT/3.0/lists/{list_id}/members/{hash}Actualizar un miembro
POST/3.0/lists/{list_id}Alta/baja por lote

Campañas

MétodoEndpointDescripción
GET/3.0/campaignsListar campañas
GET/3.0/campaigns/{id}Obtener detalles de una campaña
GET/3.0/reports/{id}Obtener el informe de una campaña
GET/3.0/reports/{id}/email-activityObtener la actividad de email

Automatizaciones

MétodoEndpointDescripción
GET/3.0/automationsListar automatizaciones
GET/3.0/automations/{id}Obtener detalles de una automatización
GET/3.0/automations/{id}/emailsListar los emails de una automatización

eCommerce

MétodoEndpointDescripción
GET/3.0/ecommerce/storesListar las tiendas conectadas
GET/3.0/ecommerce/stores/{id}/customersListar clientes de la tienda
GET/3.0/ecommerce/stores/{id}/ordersListar pedidos de la tienda
GET/3.0/ecommerce/stores/{id}/productsListar productos de la tienda

Eventos

Eventos de campaña

EventoDisparadorCaso de uso
campaign.sentCampaña entregadaSeguimiento de rendimiento
campaign.openedEmail abiertoScoring de engagement
campaign.clickedClic en enlaceSeguimiento de intereses
campaign.bouncedEmail rebotadoHigiene de la lista

Eventos de suscriptor

EventoDisparadorCaso de uso
subscribeNuevo suscriptor añadidoFlujo de bienvenida
unsubscribeBaja del suscriptorGestión de preferencias
profilePerfil actualizadoSincronización de atributos
cleanedEmail limpiado (rebotado)Mantenimiento de la lista

Eventos eCommerce

EventoDisparadorCaso de uso
ecommerce.orderPedido realizadoFlujo post-compra
ecommerce.cartCarrito actualizadoRecuperación de carrito abandonado

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 Mailchimp
await tajo.connectors.connect('mailchimp', {
apiKey: process.env.MAILCHIMP_API_KEY
});

Migrar audiencias a Brevo

// Full audience migration from Mailchimp to Brevo
await tajo.connectors.sync('mailchimp', {
type: 'full',
resources: ['audiences', 'campaigns', 'ecommerce'],
options: {
preserveTags: true,
migrateSegments: true,
includeUnsubscribed: false
}
});
// Check migration status
const status = await tajo.connectors.status('mailchimp');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsMigrated: 52000,
// campaignsSynced: 245,
// segmentsMapped: 18
// }

Sincronizar datos de engagement de campañas

// Sync campaign performance to Brevo attributes
await tajo.connectors.sync('mailchimp', {
type: 'incremental',
resources: ['campaigns'],
options: {
syncEngagement: true,
updateContactMetrics: true,
since: '2024-01-01'
}
});

Límites de velocidad

Límites de velocidad de la Marketing API de Mailchimp:

TipoLímiteDetalles
Estándar10 peticiones simultáneasPor clave API
Operaciones por lote500 operaciones por lotePor petición
Límite de exportación1 exportación simultáneaPor cuenta
Transaccional25 peticiones/segundoPor clave API

Estrategia ante límites de velocidad

Mailchimp limita las conexiones simultáneas en lugar de las peticiones por segundo. Usa endpoints por lote e implementa lógica de reintento con backoff exponencial ante respuestas 429.

Resolución de problemas

Problemas habituales

ProblemaCausaSolución
401 UnauthorizedClave API no válida o data center incorrectoVerifica la clave API y extrae el prefijo dc correcto
Miembro ya existeEmail ya presente en la audienciaUsa PUT en vez de POST para actualizar miembros existentes
Estado de cumplimientoEliminación RGPD impide el altaEl contacto debe volver a suscribirse mediante un formulario de alta
Timeout de loteOperación por lote demasiado grandeDivide en lotes más pequeños de 500 operaciones
Faltan merge fieldsCampos personalizados no creadosCrea los merge fields en Mailchimp antes del mapeo

Modo depuración

Activa el registro detallado:

connectors:
mailchimp:
debug: true
log_level: verbose
log_api_calls: true

Probar la conexión

Terminal window
tajo connectors test mailchimp
# ✓ API connection successful
# ✓ Audiences readable
# ✓ Campaigns readable
# ✓ E-commerce data accessible
# ✓ Webhook configured

Buenas prácticas

  1. Usa operaciones por lote - Usa batch subscribe/unsubscribe para actualizaciones masivas
  2. Preserva el estado del suscriptor - Respeta el consentimiento de suscripción durante la migración
  3. Asocia primero los merge fields - Crea los atributos correspondientes en Brevo antes de sincronizar
  4. Sincroniza datos de engagement - Importa tasas de apertura/clic para segmentación histórica
  5. Gestiona los estados de cumplimiento - Respeta los estados de RGPD y eliminación permanente
  6. Usa sincronización incremental - Sincroniza solo los cambios desde la última sincronización para reducir el uso de la API

Seguridad

  • Autenticación con clave API - Clave secreta enviada como contraseña de HTTP Basic Auth
  • OAuth 2.0 - Autorización basada en tokens para acceso multi-cuenta
  • Cifrado TLS - Toda la comunicación con la API se cifra vía HTTPS
  • Verificación de webhooks - Valida el origen del webhook con un secreto compartido
  • Aislamiento por data center - Datos almacenados en data centers específicos por región

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.