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
| Propriedade | Valor |
|---|---|
| Plataforma | Mailchimp |
| Categoria | Marketing |
| Complexidade de configuração | Fácil |
| Integração oficial | Sim |
| Dados sincronizados | Contatos, Campanhas, Automações, Eventos |
| URL base da API | https://{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:
- Uma conta Mailchimp (Free, Essentials, Standard ou Premium)
- Uma chave API do Mailchimp ou app OAuth
- Uma conta Brevo com acesso à API
- Uma conta Tajo
Autenticação
Autenticação por chave API
Gere uma chave API em Mailchimp Account > Extras > API Keys.
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:
# Authorization URLhttps://login.mailchimp.com/oauth2/authorize? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}
# Token exchangecurl -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": 42Mapeamento 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_TYPEEndpoints da API
Audiências (Listas)
| Método | Endpoint | Descrição |
|---|---|---|
GET | /3.0/lists | Listar todas as audiências |
GET | /3.0/lists/{list_id} | Obter detalhes da audiência |
GET | /3.0/lists/{list_id}/members | Listar membros da audiência |
POST | /3.0/lists/{list_id}/members | Adicionar 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étodo | Endpoint | Descrição |
|---|---|---|
GET | /3.0/campaigns | Listar 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-activity | Obter atividade de e-mail |
Automações
| Método | Endpoint | Descrição |
|---|---|---|
GET | /3.0/automations | Listar automações |
GET | /3.0/automations/{id} | Obter detalhes da automação |
GET | /3.0/automations/{id}/emails | Listar e-mails da automação |
E-commerce
| Método | Endpoint | Descrição |
|---|---|---|
GET | /3.0/ecommerce/stores | Listar lojas conectadas |
GET | /3.0/ecommerce/stores/{id}/customers | Listar clientes da loja |
GET | /3.0/ecommerce/stores/{id}/orders | Listar pedidos da loja |
GET | /3.0/ecommerce/stores/{id}/products | Listar produtos da loja |
Eventos
Eventos de campanha
| Evento | Gatilho | Caso de uso |
|---|---|---|
campaign.sent | Campanha entregue | Rastreamento de desempenho |
campaign.opened | E-mail aberto | Pontuação de engajamento |
campaign.clicked | Link clicado | Rastreamento de interesse |
campaign.bounced | E-mail retornou com bounce | Higiene de lista |
Eventos de assinante
| Evento | Gatilho | Caso de uso |
|---|---|---|
subscribe | Novo assinante adicionado | Fluxo de boas-vindas |
unsubscribe | Assinante cancelou inscrição | Gestão de preferências |
profile | Perfil atualizado | Sincronização de atributos |
cleaned | E-mail limpo (bounce) | Manutenção de lista |
Eventos de e-commerce
| Evento | Gatilho | Caso de uso |
|---|---|---|
ecommerce.order | Pedido realizado | Fluxo pós-compra |
ecommerce.cart | Carrinho atualizado | Recuperaçã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 Mailchimpawait tajo.connectors.connect('mailchimp', { apiKey: process.env.MAILCHIMP_API_KEY});Migrar audiências para o Brevo
// Full audience migration from Mailchimp to Brevoawait tajo.connectors.sync('mailchimp', { type: 'full', resources: ['audiences', 'campaigns', 'ecommerce'], options: { preserveTags: true, migrateSegments: true, includeUnsubscribed: false }});
// Check migration statusconst 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 attributesawait 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:
| Tipo | Limite | Detalhes |
|---|---|---|
| Padrão | 10 requisições concorrentes | Por chave API |
| Operações em lote | 500 operações por lote | Por requisição |
| Limite de exportação | 1 exportação concorrente | Por conta |
| Transacional | 25 requisições/segundo | Por 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
| Problema | Causa | Solução |
|---|---|---|
| 401 Unauthorized | Chave API inválida ou data center errado | Verifique a chave API e extraia o prefixo dc correto |
| Membro já existe | E-mail já está na audiência | Use PUT em vez de POST para atualizar membros existentes |
| Estado de conformidade | Exclusão GDPR impede re-adicionar | O contato deve se reinscrever através de um formulário de cadastro |
| Timeout de lote | Operação em lote grande | Divida em lotes menores de 500 operações |
| Merge fields ausentes | Campos personalizados não criados | Crie 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: trueTestar conexão
tajo connectors test mailchimp# ✓ API connection successful# ✓ Audiences readable# ✓ Campaigns readable# ✓ E-commerce data accessible# ✓ Webhook configuredMelhores práticas
- Use operações em lote - Use subscribe/unsubscribe em lote para atualizações em massa
- Preserve o status do assinante - Respeite o consentimento de inscrição durante a migração
- Mapeie merge fields primeiro - Crie os atributos correspondentes no Brevo antes de sincronizar
- Sincronize dados de engajamento - Importe taxas de abertura/clique para segmentação histórica
- Trate estados de conformidade - Respeite estados GDPR e de exclusão permanente
- 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