Mailchimp конектор
Свържи своя акаунт в Mailchimp с Brevo чрез Tajo за безпроблемна миграция на audiences, синхронизация на данни за кампании и унифицирана маркетингова автоматизация в двете платформи.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | Mailchimp |
| Категория | Маркетинг |
| Сложност на настройка | Лесна |
| Официална интеграция | Да |
| Синхронизирани данни | Контакти, кампании, автоматизации, събития |
| Base URL на API | https://{dc}.api.mailchimp.com/3.0 |
Функции
- Синхронизация на audience – Мигрирай и синхронизирай Mailchimp audiences със списъци с контакти в Brevo
- Данни за кампании – Синхронизирай данни за performance на кампании за унифицирано отчитане
- Миграция на автоматизации – Мапвай Mailchimp автоматизации към Brevo работни потоци
- Метрики за ангажираност – Синхронизирай отваряния, кликове и bounce данни към атрибути в Brevo
- Мапване на сегменти – Репликирай Mailchimp сегменти като списъци или сегменти в Brevo
- E-commerce данни – Синхронизирай данни за магазини, продукти и поръчки от Mailchimp e-commerce
- Синхронизация на тагове – Мапвай Mailchimp тагове към атрибути на контактите или списъци в Brevo
- Миграция на шаблони – Експортирай Mailchimp шаблони за използване в Brevo кампании
Предварителни условия
Преди да започнеш, увери се, че имаш:
- Акаунт в Mailchimp (Free, Essentials, Standard или Premium)
- Mailchimp API ключ или OAuth приложение
- Акаунт в Brevo с API достъп
- Акаунт в Tajo
Автентикация
Автентикация с API ключ
Генерирай API ключ от Mailchimp Account > Extras > API Keys.
curl https://{dc}.api.mailchimp.com/3.0/ping \ --user "anystring:{api_key}" \ -H "Content-Type: application/json"Префиксът на дейта център {dc} е последната част от твоя API ключ (напр. us21).
OAuth 2.0
За мулти-акаунт интеграции:
# 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}"Дейта център
Винаги извличай дейта центъра от API ключа или OAuth metadata крайната точка. Използването на грешен дейта център ще доведе до неуспешна автентикация.
Конфигурация
Основна настройка
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Мапване на полета
Мапвай merge полета на Mailchimp към атрибути на контактите в Brevo:
Мапвания по подразбиране
| Parameter | Type | Description |
|---|---|---|
email_address required | string | Имейл на абоната (уникален идентификатор) |
FNAME optional | string | Merge поле за собствено име, мапва към FIRSTNAME |
LNAME optional | string | Merge поле за фамилия, мапва към LASTNAME |
PHONE optional | string | Merge поле за телефон, мапва към SMS |
status optional | string | Статус на абонамент (subscribed, unsubscribed, cleaned, pending) |
tags optional | array | Тагове на абоната за сегментация |
stats.avg_open_rate optional | number | Среден процент на отваряне на имейл |
stats.avg_click_rate optional | number | Среден процент на кликове в имейл |
Мапване на персонализирани merge полета
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 крайни точки
Audiences (Lists)
| Метод | Крайна точка | Описание |
|---|---|---|
GET | /3.0/lists | Списък с всички audiences |
GET | /3.0/lists/{list_id} | Получаване на детайли за audience |
GET | /3.0/lists/{list_id}/members | Списък с членове на audience |
POST | /3.0/lists/{list_id}/members | Добавяне на член |
PUT | /3.0/lists/{list_id}/members/{hash} | Обновяване на член |
POST | /3.0/lists/{list_id} | Пакетно subscribe/unsubscribe |
Кампании
| Метод | Крайна точка | Описание |
|---|---|---|
GET | /3.0/campaigns | Списък с кампании |
GET | /3.0/campaigns/{id} | Получаване на детайли за кампания |
GET | /3.0/reports/{id} | Получаване на отчет за кампания |
GET | /3.0/reports/{id}/email-activity | Получаване на имейл активност |
Автоматизации
| Метод | Крайна точка | Описание |
|---|---|---|
GET | /3.0/automations | Списък с автоматизации |
GET | /3.0/automations/{id} | Получаване на детайли за автоматизация |
GET | /3.0/automations/{id}/emails | Списък с имейли в автоматизация |
E-commerce
| Метод | Крайна точка | Описание |
|---|---|---|
GET | /3.0/ecommerce/stores | Списък със свързани магазини |
GET | /3.0/ecommerce/stores/{id}/customers | Списък с клиенти на магазин |
GET | /3.0/ecommerce/stores/{id}/orders | Списък с поръчки от магазин |
GET | /3.0/ecommerce/stores/{id}/products | Списък с продукти на магазин |
Събития
Събития от кампании
| Събитие | Тригер | Случай на употреба |
|---|---|---|
campaign.sent | Кампанията е доставена | Проследяване на performance |
campaign.opened | Имейлът е отворен | Engagement scoring |
campaign.clicked | Кликнат линк | Проследяване на интерес |
campaign.bounced | Имейлът е bounce-нал | Хигиена на списък |
Събития от абонати
| Събитие | Тригер | Случай на употреба |
|---|---|---|
subscribe | Добавен нов абонат | Welcome поток |
unsubscribe | Абонатът се отписа | Управление на предпочитания |
profile | Обновен профил | Синхронизация на атрибути |
cleaned | Имейлът е cleaned (bounce) | Поддръжка на списък |
E-commerce събития
| Събитие | Тригер | Случай на употреба |
|---|---|---|
ecommerce.order | Направена поръчка | Поток след покупка |
ecommerce.cart | Обновена кошница | Възстановяване на изоставена кошница |
Примери с код
Инициализация на конектора
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 към 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// }Синхронизация на данни за ангажираност
// Sync campaign performance to Brevo attributesawait tajo.connectors.sync('mailchimp', { type: 'incremental', resources: ['campaigns'], options: { syncEngagement: true, updateContactMetrics: true, since: '2024-01-01' }});Ограничения на заявките
Rate limits на Mailchimp Marketing API:
| Тип | Лимит | Детайли |
|---|---|---|
| Стандартни | 10 едновременни заявки | На API ключ |
| Пакетни операции | 500 операции на пакет | На заявка |
| Export лимит | 1 едновременен експорт | На акаунт |
| Транзакционни | 25 заявки/секунда | На API ключ |
Стратегия за rate limit
Mailchimp ограничава едновременните връзки, а не заявките в секунда. Използвай batch крайни точки и внедри retry логика с exponential backoff при 429 отговори.
Отстраняване на проблеми
Чести проблеми
| Проблем | Причина | Решение |
|---|---|---|
| 401 Unauthorized | Невалиден API ключ или грешен дейта център | Провери API ключа и извлечи правилния dc префикс |
| Member exists | Имейлът вече е в audience-а | Използвай PUT вместо POST, за да обновиш съществуващи членове |
| Compliance state | GDPR изтриване предотвратява re-add | Контактът трябва да се re-subscribe чрез signup форма |
| Timeout на пакет | Голяма пакетна операция | Раздели на по-малки пакети от 500 операции |
| Липсващи merge полета | Персонализирани полета не са създадени | Създай merge полета в Mailchimp преди мапването |
Режим за дебъг
Активирай подробно логване:
connectors: mailchimp: debug: true log_level: verbose log_api_calls: trueТест на връзката
tajo connectors test mailchimp# ✓ API connection successful# ✓ Audiences readable# ✓ Campaigns readable# ✓ E-commerce data accessible# ✓ Webhook configuredДобри практики
- Използвай пакетни операции – Използвай batch subscribe/unsubscribe за bulk обновления
- Запазвай статуса на абонатите – Уважавай съгласието за абонамент по време на миграция
- Първо мапвай merge полетата – Създай съответните атрибути в Brevo, преди синхронизация
- Синхронизирай данни за ангажираност – Импортирай open/click rates за исторически сегментации
- Обработвай compliance състояния – Уважавай GDPR и permanent deletion състояния
- Използвай инкрементална синхронизация – Синхронизирай само промените от последната синхронизация, за да намалиш използването на API
Сигурност
- Автентикация с API ключ – Таен ключ, подаден като HTTP Basic Auth парола
- OAuth 2.0 – Token-базирана авторизация за мулти-акаунт достъп
- TLS криптиране – Цялата API комуникация е криптирана чрез HTTPS
- Верификация на уебхуци – Валидирай източника на уебхук със споделена тайна
- Изолация на дейта центрове – Данните се съхраняват в регионално-специфични дейта центрове