Mailchimp-connector

Verbind je Mailchimp-account met Brevo via Tajo voor naadloze audience-migratie, campagnedatasynchronisatie en uniforme marketingautomatisering over beide platforms.

Overzicht

EigenschapWaarde
PlatformMailchimp
CategorieMarketing
SetupcomplexiteitEenvoudig
Officiële integratieJa
Gesynchroniseerde dataContacten, Campagnes, Automatiseringen, Events
API base URLhttps://{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:

  1. Een Mailchimp-account (Free, Essentials, Standard of Premium)
  2. Een Mailchimp API-sleutel of OAuth-app
  3. Een Brevo-account met API-toegang
  4. Een Tajo-account

Authenticatie

API-sleutel-authenticatie

Genereer een API-sleutel via 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"

De {dc}-datacenterprefix is het laatste deel van je API-sleutel (bijv. us21).

OAuth 2.0

Voor multi-account-integraties:

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}"

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": 42

Veldmapping

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_TYPE

API-endpoints

Audiences (lists)

MethodeEndpointBeschrijving
GET/3.0/listsAlle audiences opvragen
GET/3.0/lists/{list_id}Audience-details ophalen
GET/3.0/lists/{list_id}/membersAudience-leden opvragen
POST/3.0/lists/{list_id}/membersLid toevoegen
PUT/3.0/lists/{list_id}/members/{hash}Lid bijwerken
POST/3.0/lists/{list_id}Batch inschrijven/uitschrijven

Campagnes

MethodeEndpointBeschrijving
GET/3.0/campaignsCampagnes opvragen
GET/3.0/campaigns/{id}Campagnedetails ophalen
GET/3.0/reports/{id}Campagnerapport ophalen
GET/3.0/reports/{id}/email-activityE-mailactiviteit ophalen

Automatiseringen

MethodeEndpointBeschrijving
GET/3.0/automationsAutomations opvragen
GET/3.0/automations/{id}Automation-details ophalen
GET/3.0/automations/{id}/emailsAutomation-e-mails opvragen

E-commerce

MethodeEndpointBeschrijving
GET/3.0/ecommerce/storesGekoppelde stores opvragen
GET/3.0/ecommerce/stores/{id}/customersStoreklanten opvragen
GET/3.0/ecommerce/stores/{id}/ordersStorebestellingen opvragen
GET/3.0/ecommerce/stores/{id}/productsStoreproducten opvragen

Events

Campagne-events

EventTriggerUse case
campaign.sentCampagne afgeleverdPerformancetracking
campaign.openedE-mail geopendEngagement-scoring
campaign.clickedLink aangekliktInteressetracking
campaign.bouncedE-mail bouncedLijsthygiëne

Abonnee-events

EventTriggerUse case
subscribeNieuwe abonnee toegevoegdWelkomstflow
unsubscribeAbonnee uitgeschrevenVoorkeurenbeheer
profileProfiel bijgewerktAttribuutsync
cleanedE-mail opgeschoond (bounced)Lijstonderhoud

E-commerce-events

EventTriggerUse case
ecommerce.orderBestelling geplaatstPost-purchase-flow
ecommerce.cartWinkelwagen bijgewerktAbandoned-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 Mailchimp
await tajo.connectors.connect('mailchimp', {
apiKey: process.env.MAILCHIMP_API_KEY
});

Audiences migreren naar 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
// }

Campagne-engagementdata synchroniseren

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

Ratelimits

Mailchimp Marketing API-ratelimits:

TypeLimietDetails
Standaard10 gelijktijdige requestsPer API-sleutel
Batch-operaties500 operaties per batchPer request
Export-limiet1 gelijktijdige exportPer account
Transactioneel25 requests/secondePer 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

ProbleemOorzaakOplossing
401 UnauthorizedOngeldige API-sleutel of verkeerd datacenterVerifieer API-sleutel en extraheer juiste dc-prefix
Lid bestaat alE-mail al in audienceGebruik PUT in plaats van POST om bestaande leden bij te werken
CompliancestatusAVG-verwijdering voorkomt opnieuw toevoegenContact moet zich opnieuw aanmelden via signupformulier
Batch-timeoutGrote batch-operatieSplits in kleinere batches van 500 operaties
Merge-velden ontbrekenCustom velden niet aangemaaktMaak merge-velden eerst aan in Mailchimp

Debugmodus

Activeer uitgebreide logging:

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

Verbinding testen

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

Best practices

  1. Gebruik batch-operaties - Gebruik batch-subscribe/unsubscribe voor bulkupdates
  2. Behoud abonnementsstatus - Respecteer toestemming tijdens migratie
  3. Koppel merge-velden eerst - Maak overeenkomstige Brevo-attributen vóór de sync
  4. Synchroniseer engagementdata - Importeer open/click-rates voor historische segmentatie
  5. Handel compliancestatussen correct af - Respecteer AVG en permanente verwijderstatussen
  6. 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

Gerelateerde resources

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hallo! Stel me vragen over de documentatie.