Mailchimp konektor
Poveži svoj Mailchimp nalog sa Brevo putem Tajo za besprekornu migraciju publike, sinhronizaciju podataka kampanja i unifikovanu marketing automatizaciju na obe platforme.
Pregled
| Svojstvo | Vrednost |
|---|---|
| Platforma | Mailchimp |
| Kategorija | Marketing |
| Složenost podešavanja | Lako |
| Zvanična integracija | Da |
| Sinhronizovani podaci | Kontakti, Kampanje, Automatizacije, Događaji |
| Osnovni URL API-ja | https://{dc}.api.mailchimp.com/3.0 |
Karakteristike
- Sinhronizacija publike - Migracija i sinhronizacija Mailchimp publika sa Brevo listama kontakata
- Podaci kampanje - Sinhronizacija podataka o performansama kampanje za unifikovano izveštavanje
- Migracija automatizacija - Mapiranje Mailchimp automatizacija na Brevo tokove rada
- Metrike angažovanja - Sinhronizacija otvaranja, klikova i podataka o odbijanju na Brevo atribute
- Mapiranje segmenata - Replikacija Mailchimp segmenata kao Brevo lista ili segmenata
- E-commerce podaci - Sinhronizacija podataka prodavnice, proizvoda i porudžbina iz Mailchimp e-commerce
- Sinhronizacija tagova - Mapiranje Mailchimp tagova na Brevo atribute kontakta ili liste
- Migracija šablona - Izvoz Mailchimp šablona za upotrebu u Brevo kampanjama
Preduslovi
Pre nego što započneš, proveri da imaš:
- Mailchimp nalog (Free, Essentials, Standard ili Premium)
- Mailchimp API ključ ili OAuth aplikaciju
- Brevo nalog sa API pristupom
- Tajo nalog
Autentifikacija
Autentifikacija API ključem
Generiši API ključ iz Mailchimp Account > Extras > API Keys.
curl https://{dc}.api.mailchimp.com/3.0/ping \ --user "anystring:{api_key}" \ -H "Content-Type: application/json"Prefiks {dc} centra podataka je poslednji deo API ključa (npr. us21).
OAuth 2.0
Za integracije sa više naloga:
# 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}"Centar podataka
Uvek izvuci centar podataka iz API ključa ili OAuth metadata endpointa. Korišćenje pogrešnog centra podataka rezultiraće greškama autentifikacije.
Konfiguracija
Osnovno podešavanje
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": 42Mapiranje polja
Mapiranje Mailchimp merge polja na Brevo atribute kontakta:
Default Mappings
| Parameter | Type | Description |
|---|---|---|
email_address required | string | Email pretplatnika (jedinstveni identifikator) |
FNAME optional | string | Merge polje za ime, mapira se na FIRSTNAME |
LNAME optional | string | Merge polje za prezime, mapira se na LASTNAME |
PHONE optional | string | Merge polje za telefon, mapira se na SMS |
status optional | string | Status pretplate (subscribed, unsubscribed, cleaned, pending) |
tags optional | array | Tagovi pretplatnika za segmentaciju |
stats.avg_open_rate optional | number | Prosečna stopa otvaranja emailova |
stats.avg_click_rate optional | number | Prosečna stopa klikanja na emailove |
Mapiranje prilagođenih merge polja
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 endpointi
Publike (Liste)
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /3.0/lists | Listanje svih publika |
GET | /3.0/lists/{list_id} | Dohvatanje detalja publike |
GET | /3.0/lists/{list_id}/members | Listanje članova publike |
POST | /3.0/lists/{list_id}/members | Dodavanje člana |
PUT | /3.0/lists/{list_id}/members/{hash} | Ažuriranje člana |
POST | /3.0/lists/{list_id} | Batch pretplata/odjava |
Kampanje
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /3.0/campaigns | Listanje kampanja |
GET | /3.0/campaigns/{id} | Dohvatanje detalja kampanje |
GET | /3.0/reports/{id} | Dohvatanje izveštaja kampanje |
GET | /3.0/reports/{id}/email-activity | Dohvatanje email aktivnosti |
Automatizacije
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /3.0/automations | Listanje automatizacija |
GET | /3.0/automations/{id} | Dohvatanje detalja automatizacije |
GET | /3.0/automations/{id}/emails | Listanje emailova automatizacije |
E-commerce
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /3.0/ecommerce/stores | Listanje povezanih prodavnica |
GET | /3.0/ecommerce/stores/{id}/customers | Listanje kupaca prodavnice |
GET | /3.0/ecommerce/stores/{id}/orders | Listanje porudžbina prodavnice |
GET | /3.0/ecommerce/stores/{id}/products | Listanje proizvoda prodavnice |
Događaji
Događaji kampanje
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
campaign.sent | Kampanja dostavljena | Praćenje performansi |
campaign.opened | Email otvoren | Ocenjivanje angažovanja |
campaign.clicked | Veza kliknuta | Praćenje interesa |
campaign.bounced | Email odbijen | Higijena liste |
Događaji pretplatnika
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
subscribe | Dodat novi pretplatnik | Tok dobrodošlice |
unsubscribe | Pretplatnik se odjavio | Upravljanje preferencijama |
profile | Profil ažuriran | Sinhronizacija atributa |
cleaned | Email očišćen (odbijen) | Održavanje liste |
E-commerce događaji
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
ecommerce.order | Postavljena porudžbina | Tok posle kupovine |
ecommerce.cart | Korpa ažurirana | Oporavak napuštene korpe |
Primeri koda
Inicijalizacija konektora
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});Migracija publika u 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// }Sinhronizacija podataka o angažovanju kampanje
// Sync campaign performance to Brevo attributesawait tajo.connectors.sync('mailchimp', { type: 'incremental', resources: ['campaigns'], options: { syncEngagement: true, updateContactMetrics: true, since: '2024-01-01' }});Ograničenja brzine
Ograničenja brzine Mailchimp Marketing API-ja:
| Tip | Limit | Detalji |
|---|---|---|
| Standard | 10 istovremenih zahteva | Po API ključu |
| Batch operacije | 500 operacija po batch-u | Po zahtevu |
| Limit izvoza | 1 istovremeni izvoz | Po nalogu |
| Transakcioni | 25 zahteva/sekundi | Po API ključu |
Strategija ograničenja brzine
Mailchimp ograničava istovremene veze a ne zahteve po sekundi. Koristi batch endpointe i implementiraj logiku ponovnog pokušaja sa eksponencijalnim usporavanjem na 429 odgovore.
Rešavanje problema
Česti problemi
| Problem | Uzrok | Rešenje |
|---|---|---|
| 401 Unauthorized | Nevažeći API ključ ili pogrešan centar podataka | Verifikuj API ključ i izvuci ispravni dc prefiks |
| Član postoji | Email već u publici | Koristi PUT umesto POST za ažuriranje postojećih članova |
| Stanje usklađenosti | GDPR brisanje sprečava ponovni upis | Kontakt se mora ponovo pretplatiti putem formulara za registraciju |
| Timeout batch-a | Velika batch operacija | Podeli na manje batch-eve od 500 operacija |
| Nedostaju merge polja | Prilagođena polja nisu kreirana | Kreiraj merge polja u Mailchimp pre mapiranja |
Debug režim
Uključi detaljno logovanje:
connectors: mailchimp: debug: true log_level: verbose log_api_calls: trueTestiraj vezu
tajo connectors test mailchimp# ✓ API connection successful# ✓ Audiences readable# ✓ Campaigns readable# ✓ E-commerce data accessible# ✓ Webhook configuredNajbolje prakse
- Koristi batch operacije - Koristi batch pretplatu/odjavu za bulk ažuriranja
- Sačuvaj status pretplatnika - Poštuj pristanak na pretplatu tokom migracije
- Prvo mapiraj merge polja - Kreiraj odgovarajuće Brevo atribute pre sinhronizacije
- Sinhronizuj podatke o angažovanju - Uvozi stope otvaranja/klikanja za istorijsku segmentaciju
- Obradi stanja usklađenosti - Poštuj GDPR i stanja trajnog brisanja
- Koristi inkrementalnu sinhronizaciju - Sinhronizuj samo promene od poslednje sinhronizacije da smanjiš upotrebu API-ja
Bezbednost
- Autentifikacija API ključem - Tajni ključ prosleđen kao HTTP Basic Auth lozinka
- OAuth 2.0 - Autorizacija zasnovana na tokenima za pristup sa više naloga
- TLS enkripcija - Sva API komunikacija enkriptovana putem HTTPS
- Verifikacija webhook-ova - Validiraj izvor webhook-a deljenom tajnom
- Izolacija centra podataka - Podaci sačuvani u regionalnim centrima podataka