Connettore Mailchimp
Collega il tuo account Mailchimp a Brevo tramite Tajo per una migrazione fluida delle audience, sincronizzazione dei dati delle campagne e marketing automation unificata tra entrambe le piattaforme.
Panoramica
| Proprietà | Valore |
|---|---|
| Piattaforma | Mailchimp |
| Categoria | Marketing |
| Complessità di setup | Facile |
| Integrazione ufficiale | Sì |
| Dati sincronizzati | Contatti, Campagne, Automazioni, Eventi |
| API Base URL | https://{dc}.api.mailchimp.com/3.0 |
Funzionalità
- Sync delle audience - Migra e sincronizza le audience Mailchimp con le liste contatti Brevo
- Dati di campagna - Sincronizza i dati di performance delle campagne per una reportistica unificata
- Migrazione automazioni - Mappa le automazioni Mailchimp ai workflow Brevo
- Metriche di engagement - Sincronizza dati di aperture, click e bounce agli attributi Brevo
- Mappatura dei segmenti - Replica i segmenti Mailchimp come liste o segmenti Brevo
- Dati e-commerce - Sincronizza dati di store, prodotti e ordini dall’e-commerce Mailchimp
- Sync dei tag - Mappa i tag Mailchimp agli attributi o liste contatti Brevo
- Migrazione template - Esporta i template Mailchimp per l’uso nelle campagne Brevo
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account Mailchimp (Free, Essentials, Standard o Premium)
- Una chiave API Mailchimp o un’app OAuth
- Un account Brevo con accesso API
- Un account Tajo
Autenticazione
Autenticazione con chiave API
Genera una chiave API da Mailchimp Account > Extras > API Keys.
curl https://{dc}.api.mailchimp.com/3.0/ping \ --user "anystring:{api_key}" \ -H "Content-Type: application/json"Il prefisso del data center {dc} è l’ultima parte della tua chiave API (es. us21).
OAuth 2.0
Per integrazioni multi-account:
# 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
Estrai sempre il data center dalla tua chiave API o dall’endpoint dei metadati OAuth. L’uso del data center sbagliato comporterà fallimenti di autenticazione.
Configurazione
Setup di base
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": 42Mappatura dei campi
Mappa i merge field Mailchimp agli attributi di contatto Brevo:
Mappature predefinite
| Parameter | Type | Description |
|---|---|---|
email_address required | string | Email dell'iscritto (identificatore univoco) |
FNAME optional | string | Merge field nome, mappato a FIRSTNAME |
LNAME optional | string | Merge field cognome, mappato a LASTNAME |
PHONE optional | string | Merge field telefono, mappato a SMS |
status optional | string | Stato iscrizione (subscribed, unsubscribed, cleaned, pending) |
tags optional | array | Tag dell'iscritto per la segmentazione |
stats.avg_open_rate optional | number | Tasso medio di apertura email |
stats.avg_click_rate optional | number | Tasso medio di click email |
Mappatura dei merge field personalizzati
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_TYPEEndpoint API
Audience (Liste)
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /3.0/lists | Elenca tutte le audience |
GET | /3.0/lists/{list_id} | Ottieni i dettagli di un’audience |
GET | /3.0/lists/{list_id}/members | Elenca i membri di un’audience |
POST | /3.0/lists/{list_id}/members | Aggiungi un membro |
PUT | /3.0/lists/{list_id}/members/{hash} | Aggiorna un membro |
POST | /3.0/lists/{list_id} | Iscrivi/disiscrivi in batch |
Campagne
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /3.0/campaigns | Elenca le campagne |
GET | /3.0/campaigns/{id} | Ottieni i dettagli di una campagna |
GET | /3.0/reports/{id} | Ottieni il report di una campagna |
GET | /3.0/reports/{id}/email-activity | Ottieni l’attività email |
Automazioni
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /3.0/automations | Elenca le automazioni |
GET | /3.0/automations/{id} | Ottieni i dettagli di un’automazione |
GET | /3.0/automations/{id}/emails | Elenca le email di un’automazione |
E-commerce
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /3.0/ecommerce/stores | Elenca gli store collegati |
GET | /3.0/ecommerce/stores/{id}/customers | Elenca i clienti dello store |
GET | /3.0/ecommerce/stores/{id}/orders | Elenca gli ordini dello store |
GET | /3.0/ecommerce/stores/{id}/products | Elenca i prodotti dello store |
Eventi
Eventi di campagna
| Evento | Trigger | Caso d’uso |
|---|---|---|
campaign.sent | Campagna recapitata | Tracciamento performance |
campaign.opened | Email aperta | Engagement scoring |
campaign.clicked | Link cliccato | Tracciamento interesse |
campaign.bounced | Email respinta | Igiene della lista |
Eventi iscritto
| Evento | Trigger | Caso d’uso |
|---|---|---|
subscribe | Nuovo iscritto aggiunto | Flusso di benvenuto |
unsubscribe | Iscritto opt-out | Gestione preferenze |
profile | Profilo aggiornato | Sync attributi |
cleaned | Email pulita (bounce) | Manutenzione lista |
Eventi e-commerce
| Evento | Trigger | Caso d’uso |
|---|---|---|
ecommerce.order | Ordine effettuato | Flusso post-acquisto |
ecommerce.cart | Carrello aggiornato | Recupero carrello abbandonato |
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 Mailchimpawait tajo.connectors.connect('mailchimp', { apiKey: process.env.MAILCHIMP_API_KEY});Migra le audience su 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// }Sincronizza i dati di engagement delle campagne
// Sync campaign performance to Brevo attributesawait tajo.connectors.sync('mailchimp', { type: 'incremental', resources: ['campaigns'], options: { syncEngagement: true, updateContactMetrics: true, since: '2024-01-01' }});Limiti di velocità
Limiti di velocità della Mailchimp Marketing API:
| Tipo | Limite | Dettagli |
|---|---|---|
| Standard | 10 richieste concorrenti | Per chiave API |
| Operazioni batch | 500 operazioni per batch | Per richiesta |
| Limite esportazione | 1 esportazione concorrente | Per account |
| Transazionale | 25 richieste/secondo | Per chiave API |
Strategia limite di velocità
Mailchimp limita le connessioni concorrenti piuttosto che le richieste al secondo. Usa endpoint batch e implementa la logica di retry con backoff esponenziale sulle risposte 429.
Risoluzione dei problemi
Problemi comuni
| Problema | Causa | Soluzione |
|---|---|---|
| 401 Unauthorized | Chiave API non valida o data center errato | Verifica chiave API ed estrai il prefisso dc corretto |
| Membro esistente | Email già nell’audience | Usa PUT invece di POST per aggiornare i membri esistenti |
| Stato di compliance | L’eliminazione GDPR impedisce la riaggiunta | Il contatto deve riscriversi tramite un signup form |
| Timeout batch | Operazione batch grande | Suddividi in batch più piccoli di 500 operazioni |
| Merge field mancanti | Campi personalizzati non creati | Crea i merge field in Mailchimp prima della mappatura |
Modalità debug
Abilita il logging dettagliato:
connectors: mailchimp: debug: true log_level: verbose log_api_calls: trueTesta la connessione
tajo connectors test mailchimp# ✓ API connection successful# ✓ Audiences readable# ✓ Campaigns readable# ✓ E-commerce data accessible# ✓ Webhook configuredBest practice
- Usa le operazioni batch - Usa subscribe/unsubscribe in batch per aggiornamenti in blocco
- Preserva lo stato dell’iscritto - Rispetta il consenso all’iscrizione durante la migrazione
- Mappa prima i merge field - Crea gli attributi Brevo corrispondenti prima della sync
- Sincronizza i dati di engagement - Importa i tassi di apertura/click per la segmentazione storica
- Gestisci gli stati di compliance - Rispetta gli stati GDPR e di eliminazione permanente
- Usa la sync incrementale - Sincronizza solo le modifiche dall’ultima sync per ridurre l’uso dell’API
Sicurezza
- Autenticazione con chiave API - Chiave segreta passata come password HTTP Basic Auth
- OAuth 2.0 - Autorizzazione basata su token per accesso multi-account
- Cifratura TLS - Tutte le comunicazioni API cifrate via HTTPS
- Verifica webhook - Convalida l’origine del webhook con un secret condiviso
- Isolamento data center - Dati conservati in data center specifici per regione