Mailchimp-connector
Verbind je Mailchimp-account met Brevo via Tajo voor naadloze audience-migratie, campagnedatasynchronisatie en uniforme marketingautomatisering over beide platforms.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Mailchimp |
| Categorie | Marketing |
| Setupcomplexiteit | Eenvoudig |
| Officiële integratie | Ja |
| Gesynchroniseerde data | Contacten, Campagnes, Automatiseringen, Events |
| API base URL | https://{dc}.api.mailchimp.com/3.0 |
Functies
- Audience-sync - Migreer en synchroniseer Mailchimp-audiences met Brevo-contactlijsten
- Campagnedata - Synchroniseer campagneprestatiedata voor uniforme rapportage
- Automation-migratie - Koppel Mailchimp-automatiseringen aan Brevo-workflows
- Engagement-metrics - Synchroniseer opens, clicks en bounce-data naar Brevo-attributen
- Segmentkoppeling - Repliceer Mailchimp-segmenten als Brevo-lijsten of -segmenten
- E-commercedata - Synchroniseer store-, product- en orderdata uit Mailchimp e-commerce
- Tag-sync - Koppel Mailchimp-tags aan Brevo-contactattributen of -lijsten
- Templatemigratie - Exporteer Mailchimp-templates voor gebruik in Brevo-campagnes
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een Mailchimp-account (Free, Essentials, Standard of Premium)
- Een Mailchimp API-sleutel of OAuth-app
- Een Brevo-account met API-toegang
- Een Tajo-account
Authenticatie
API-sleutel-authenticatie
Genereer een API-sleutel via Mailchimp Account > Extras > API Keys.
curl https://{dc}.api.mailchimp.com/3.0/ping \ --user "anystring:{api_key}" \ -H "Content-Type: application/json"De {dc}-datacenterprefix is het laatste deel van je API-sleutel (bijv. us21).
OAuth 2.0
Voor multi-account-integraties:
# 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}"Datacenter
Haal het datacenter altijd op uit je API-sleutel of het OAuth-metadata-endpoint. Het verkeerde datacenter gebruiken leidt tot authenticatiefouten.
Configuratie
Basisopzet
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": 42Veldmapping
Koppel Mailchimp-mergevelden aan Brevo-contactattributen:
Standaard-mappings
| Parameter | Type | Description |
|---|---|---|
email_address required | string | E-mailadres abonnee (unieke identifier) |
FNAME optional | string | Voornaam-mergeveld, koppelt aan FIRSTNAME |
LNAME optional | string | Achternaam-mergeveld, koppelt aan LASTNAME |
PHONE optional | string | Telefoon-mergeveld, koppelt aan SMS |
status optional | string | Abonnementsstatus (subscribed, unsubscribed, cleaned, pending) |
tags optional | array | Abonnee-tags voor segmentatie |
stats.avg_open_rate optional | number | Gemiddelde open rate van e-mails |
stats.avg_click_rate optional | number | Gemiddelde click rate van e-mails |
Custom merge field-mapping
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_TYPEAPI-endpoints
Audiences (lists)
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /3.0/lists | Alle audiences opvragen |
GET | /3.0/lists/{list_id} | Audience-details ophalen |
GET | /3.0/lists/{list_id}/members | Audience-leden opvragen |
POST | /3.0/lists/{list_id}/members | Lid toevoegen |
PUT | /3.0/lists/{list_id}/members/{hash} | Lid bijwerken |
POST | /3.0/lists/{list_id} | Batch inschrijven/uitschrijven |
Campagnes
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /3.0/campaigns | Campagnes opvragen |
GET | /3.0/campaigns/{id} | Campagnedetails ophalen |
GET | /3.0/reports/{id} | Campagnerapport ophalen |
GET | /3.0/reports/{id}/email-activity | E-mailactiviteit ophalen |
Automatiseringen
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /3.0/automations | Automations opvragen |
GET | /3.0/automations/{id} | Automation-details ophalen |
GET | /3.0/automations/{id}/emails | Automation-e-mails opvragen |
E-commerce
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /3.0/ecommerce/stores | Gekoppelde stores opvragen |
GET | /3.0/ecommerce/stores/{id}/customers | Storeklanten opvragen |
GET | /3.0/ecommerce/stores/{id}/orders | Storebestellingen opvragen |
GET | /3.0/ecommerce/stores/{id}/products | Storeproducten opvragen |
Events
Campagne-events
| Event | Trigger | Use case |
|---|---|---|
campaign.sent | Campagne afgeleverd | Performancetracking |
campaign.opened | E-mail geopend | Engagement-scoring |
campaign.clicked | Link aangeklikt | Interessetracking |
campaign.bounced | E-mail bounced | Lijsthygiëne |
Abonnee-events
| Event | Trigger | Use case |
|---|---|---|
subscribe | Nieuwe abonnee toegevoegd | Welkomstflow |
unsubscribe | Abonnee uitgeschreven | Voorkeurenbeheer |
profile | Profiel bijgewerkt | Attribuutsync |
cleaned | E-mail opgeschoond (bounced) | Lijstonderhoud |
E-commerce-events
| Event | Trigger | Use case |
|---|---|---|
ecommerce.order | Bestelling geplaatst | Post-purchase-flow |
ecommerce.cart | Winkelwagen bijgewerkt | Abandoned-cart-recovery |
Codevoorbeelden
Connector initialiseren
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});Audiences migreren naar 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// }Campagne-engagementdata synchroniseren
// Sync campaign performance to Brevo attributesawait tajo.connectors.sync('mailchimp', { type: 'incremental', resources: ['campaigns'], options: { syncEngagement: true, updateContactMetrics: true, since: '2024-01-01' }});Ratelimits
Mailchimp Marketing API-ratelimits:
| Type | Limiet | Details |
|---|---|---|
| Standaard | 10 gelijktijdige requests | Per API-sleutel |
| Batch-operaties | 500 operaties per batch | Per request |
| Export-limiet | 1 gelijktijdige export | Per account |
| Transactioneel | 25 requests/seconde | Per API-sleutel |
Ratelimit-strategie
Mailchimp beperkt gelijktijdige verbindingen in plaats van requests per seconde. Gebruik batch-endpoints en implementeer retry-logica met exponentiële backoff bij 429-responses.
Probleemoplossing
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| 401 Unauthorized | Ongeldige API-sleutel of verkeerd datacenter | Verifieer API-sleutel en extraheer juiste dc-prefix |
| Lid bestaat al | E-mail al in audience | Gebruik PUT in plaats van POST om bestaande leden bij te werken |
| Compliancestatus | AVG-verwijdering voorkomt opnieuw toevoegen | Contact moet zich opnieuw aanmelden via signupformulier |
| Batch-timeout | Grote batch-operatie | Splits in kleinere batches van 500 operaties |
| Merge-velden ontbreken | Custom velden niet aangemaakt | Maak merge-velden eerst aan in Mailchimp |
Debugmodus
Activeer uitgebreide logging:
connectors: mailchimp: debug: true log_level: verbose log_api_calls: trueVerbinding testen
tajo connectors test mailchimp# ✓ API connection successful# ✓ Audiences readable# ✓ Campaigns readable# ✓ E-commerce data accessible# ✓ Webhook configuredBest practices
- Gebruik batch-operaties - Gebruik batch-subscribe/unsubscribe voor bulkupdates
- Behoud abonnementsstatus - Respecteer toestemming tijdens migratie
- Koppel merge-velden eerst - Maak overeenkomstige Brevo-attributen vóór de sync
- Synchroniseer engagementdata - Importeer open/click-rates voor historische segmentatie
- Handel compliancestatussen correct af - Respecteer AVG en permanente verwijderstatussen
- Gebruik incremental sync - Synchroniseer alleen wijzigingen sinds de laatste sync om API-verbruik te beperken
Beveiliging
- API-sleutel-authenticatie - Secret key meegegeven als HTTP Basic Auth-wachtwoord
- OAuth 2.0 - Tokengebaseerde autorisatie voor multi-accounttoegang
- TLS-encryptie - Alle API-communicatie versleuteld via HTTPS
- Webhook-verificatie - Valideer webhook-bron met shared secret
- Datacenter-isolatie - Data opgeslagen in regiospecifieke datacenters