Conector Mailchimp

Conecte sua conta Mailchimp ao Brevo via Tajo para migração de audiência sem atrito, sincronização de dados de campanha e automação de marketing unificada entre as duas plataformas.

Visão geral

PropriedadeValor
PlataformaMailchimp
CategoriaMarketing
Complexidade de configuraçãoFácil
Integração oficialSim
Dados sincronizadosContatos, Campanhas, Automações, Eventos
URL base da APIhttps://{dc}.api.mailchimp.com/3.0

Recursos

  • Sincronização de audiência - Migre e sincronize audiências do Mailchimp com listas de contato do Brevo
  • Dados de campanha - Sincronize dados de desempenho de campanha para relatórios unificados
  • Migração de automações - Mapeie automações do Mailchimp para workflows do Brevo
  • Métricas de engajamento - Sincronize dados de abertura, clique e bounce para atributos do Brevo
  • Mapeamento de segmentos - Replique segmentos do Mailchimp como listas ou segmentos do Brevo
  • Dados de e-commerce - Sincronize dados de loja, produto e pedido do Mailchimp e-commerce
  • Sincronização de tags - Mapeie tags do Mailchimp para atributos ou listas de contato do Brevo
  • Migração de templates - Exporte templates do Mailchimp para uso em campanhas do Brevo

Pré-requisitos

Antes de começar, certifique-se de ter:

  1. Uma conta Mailchimp (Free, Essentials, Standard ou Premium)
  2. Uma chave API do Mailchimp ou app OAuth
  3. Uma conta Brevo com acesso à API
  4. Uma conta Tajo

Autenticação

Autenticação por chave API

Gere uma chave API em 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"

O prefixo de data center {dc} é a última parte da sua chave API (por exemplo, us21).

OAuth 2.0

Para integrações multi-conta:

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

Sempre extraia o data center da sua chave API ou do endpoint de metadados do OAuth. Usar o data center errado resultará em falhas de autenticação.

Configuração

Configuração 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

Mapeamento de campos

Mapeie merge fields do Mailchimp para atributos de contato do Brevo:

Default Mappings

Parameter Type Description
email_address required
string

E-mail do assinante (identificador único)

FNAME optional
string

Merge field de primeiro nome, mapeia para FIRSTNAME

LNAME optional
string

Merge field de sobrenome, mapeia para LASTNAME

PHONE optional
string

Merge field de telefone, mapeia para SMS

status optional
string

Status de inscrição (subscribed, unsubscribed, cleaned, pending)

tags optional
array

Tags de assinante para segmentação

stats.avg_open_rate optional
number

Taxa média de abertura de e-mail

stats.avg_click_rate optional
number

Taxa média de clique de e-mail

Mapeamento 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 da API

Audiências (Listas)

MétodoEndpointDescrição
GET/3.0/listsListar todas as audiências
GET/3.0/lists/{list_id}Obter detalhes da audiência
GET/3.0/lists/{list_id}/membersListar membros da audiência
POST/3.0/lists/{list_id}/membersAdicionar um membro
PUT/3.0/lists/{list_id}/members/{hash}Atualizar um membro
POST/3.0/lists/{list_id}Inscrever/cancelar em lote

Campanhas

MétodoEndpointDescrição
GET/3.0/campaignsListar campanhas
GET/3.0/campaigns/{id}Obter detalhes de campanha
GET/3.0/reports/{id}Obter relatório de campanha
GET/3.0/reports/{id}/email-activityObter atividade de e-mail

Automações

MétodoEndpointDescrição
GET/3.0/automationsListar automações
GET/3.0/automations/{id}Obter detalhes da automação
GET/3.0/automations/{id}/emailsListar e-mails da automação

E-commerce

MétodoEndpointDescrição
GET/3.0/ecommerce/storesListar lojas conectadas
GET/3.0/ecommerce/stores/{id}/customersListar clientes da loja
GET/3.0/ecommerce/stores/{id}/ordersListar pedidos da loja
GET/3.0/ecommerce/stores/{id}/productsListar produtos da loja

Eventos

Eventos de campanha

EventoGatilhoCaso de uso
campaign.sentCampanha entregueRastreamento de desempenho
campaign.openedE-mail abertoPontuação de engajamento
campaign.clickedLink clicadoRastreamento de interesse
campaign.bouncedE-mail retornou com bounceHigiene de lista

Eventos de assinante

EventoGatilhoCaso de uso
subscribeNovo assinante adicionadoFluxo de boas-vindas
unsubscribeAssinante cancelou inscriçãoGestão de preferências
profilePerfil atualizadoSincronização de atributos
cleanedE-mail limpo (bounce)Manutenção de lista

Eventos de e-commerce

EventoGatilhoCaso de uso
ecommerce.orderPedido realizadoFluxo pós-compra
ecommerce.cartCarrinho atualizadoRecuperação de carrinho abandonado

Exemplos de código

Inicializar o 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 audiências para o 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 dados de engajamento de campanha

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

Limites de taxa

Limites de taxa da Mailchimp Marketing API:

TipoLimiteDetalhes
Padrão10 requisições concorrentesPor chave API
Operações em lote500 operações por lotePor requisição
Limite de exportação1 exportação concorrentePor conta
Transacional25 requisições/segundoPor chave API

Estratégia de limite de taxa

O Mailchimp limita conexões concorrentes em vez de requisições por segundo. Use endpoints em lote e implemente lógica de retry com backoff exponencial em respostas 429.

Solução de problemas

Problemas comuns

ProblemaCausaSolução
401 UnauthorizedChave API inválida ou data center erradoVerifique a chave API e extraia o prefixo dc correto
Membro já existeE-mail já está na audiênciaUse PUT em vez de POST para atualizar membros existentes
Estado de conformidadeExclusão GDPR impede re-adicionarO contato deve se reinscrever através de um formulário de cadastro
Timeout de loteOperação em lote grandeDivida em lotes menores de 500 operações
Merge fields ausentesCampos personalizados não criadosCrie merge fields no Mailchimp antes do mapeamento

Modo de depuração

Ative o log detalhado:

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

Testar conexão

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

Melhores práticas

  1. Use operações em lote - Use subscribe/unsubscribe em lote para atualizações em massa
  2. Preserve o status do assinante - Respeite o consentimento de inscrição durante a migração
  3. Mapeie merge fields primeiro - Crie os atributos correspondentes no Brevo antes de sincronizar
  4. Sincronize dados de engajamento - Importe taxas de abertura/clique para segmentação histórica
  5. Trate estados de conformidade - Respeite estados GDPR e de exclusão permanente
  6. Use sincronização incremental - Sincronize apenas alterações desde a última sincronização para reduzir o uso da API

Segurança

  • Autenticação por chave API - Chave secreta passada como senha HTTP Basic Auth
  • OAuth 2.0 - Autorização baseada em token para acesso multi-conta
  • Criptografia TLS - Toda comunicação com a API é criptografada via HTTPS
  • Verificação de webhook - Valide a origem do webhook com segredo compartilhado
  • Isolamento de data center - Dados armazenados em data centers regionais específicos

Recursos relacionados

Subscribe to updates

developer-docs

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

auto-detect
Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.