Mailchimp Connector

เชื่อมต่อบัญชี Mailchimp ของคุณกับ Brevo ผ่าน Tajo เพื่อการย้าย audience ที่ราบรื่น การซิงค์ข้อมูลแคมเปญ และ marketing automation ที่รวมกันบนทั้งสองแพลตฟอร์ม

ภาพรวม

คุณสมบัติค่า
แพลตฟอร์มMailchimp
หมวดหมู่การตลาด
ความซับซ้อนในการตั้งค่าง่าย
การผสานรวมอย่างเป็นทางการใช่
ข้อมูลที่ซิงค์ผู้ติดต่อ แคมเปญ Automations เหตุการณ์
API Base URLhttps://{dc}.api.mailchimp.com/3.0

ฟีเจอร์

  • การซิงค์ Audience - ย้ายและซิงค์ Mailchimp audiences กับ Brevo contact lists
  • ข้อมูลแคมเปญ - ซิงค์ข้อมูลประสิทธิภาพแคมเปญสำหรับรายงานที่รวมกัน
  • การย้าย Automation - แมป Mailchimp automations กับ Brevo workflows
  • Engagement metrics - ซิงค์ข้อมูลการเปิด คลิก และ bounce ไปยัง Brevo attributes
  • การแมป Segment - จำลอง Mailchimp segments เป็นรายการหรือ segments ของ Brevo
  • ข้อมูล E-commerce - ซิงค์ข้อมูล store สินค้า และคำสั่งซื้อจาก Mailchimp e-commerce
  • การซิงค์ Tag - แมป Mailchimp tags กับ Brevo contact attributes หรือรายการ
  • การย้าย Template - ส่งออก Mailchimp templates สำหรับใช้ในแคมเปญ Brevo

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

  1. บัญชี Mailchimp (Free, Essentials, Standard หรือ Premium)
  2. Mailchimp API key หรือ OAuth app
  3. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
  4. บัญชี Tajo

การยืนยันตัวตน

การยืนยันตัวตนด้วย API Key

สร้าง API key จาก 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"

คำนำหน้า data center {dc} คือส่วนสุดท้ายของ API key ของคุณ (เช่น us21)

OAuth 2.0

สำหรับการผสานรวมหลายบัญชี:

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

Data Center

ดึง data center จาก API key หรือ OAuth metadata endpoint เสมอ การใช้ data center ผิดจะทำให้การยืนยันตัวตนล้มเหลว

การกำหนดค่า

การตั้งค่าพื้นฐาน

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 fields ของ Mailchimp กับแอตทริบิวต์ผู้ติดต่อ Brevo:

การแมปเริ่มต้น

Parameter Type Description
email_address required
string

อีเมลผู้สมัคร (unique identifier)

FNAME optional
string

merge field ชื่อ แมปกับ FIRSTNAME

LNAME optional
string

merge field นามสกุล แมปกับ LASTNAME

PHONE optional
string

merge field โทรศัพท์ แมปกับ SMS

status optional
string

สถานะการสมัคร (subscribed, unsubscribed, cleaned, pending)

tags optional
array

Tags ของผู้สมัครสำหรับการแบ่ง segment

stats.avg_open_rate optional
number

อัตราการเปิดอีเมลเฉลี่ย

stats.avg_click_rate optional
number

อัตราการคลิกอีเมลเฉลี่ย

การแมป Custom Merge Field

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)

เมธอดEndpointคำอธิบาย
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}สมัคร/ยกเลิกการสมัครเป็น batch

แคมเปญ

เมธอดEndpointคำอธิบาย
GET/3.0/campaignsแสดงรายการแคมเปญ
GET/3.0/campaigns/{id}ดึงรายละเอียดแคมเปญ
GET/3.0/reports/{id}ดึงรายงานแคมเปญ
GET/3.0/reports/{id}/email-activityดึงกิจกรรมอีเมล

Automations

เมธอดEndpointคำอธิบาย
GET/3.0/automationsแสดงรายการ automations
GET/3.0/automations/{id}ดึงรายละเอียด automation
GET/3.0/automations/{id}/emailsแสดงรายการอีเมล automation

E-commerce

เมธอดEndpointคำอธิบาย
GET/3.0/ecommerce/storesแสดงรายการ stores ที่เชื่อมต่อ
GET/3.0/ecommerce/stores/{id}/customersแสดงรายการลูกค้า store
GET/3.0/ecommerce/stores/{id}/ordersแสดงรายการคำสั่งซื้อ store
GET/3.0/ecommerce/stores/{id}/productsแสดงรายการสินค้า store

เหตุการณ์

เหตุการณ์แคมเปญ

เหตุการณ์Triggerกรณีการใช้งาน
campaign.sentส่งแคมเปญแล้วการติดตามประสิทธิภาพ
campaign.openedเปิดอีเมลแล้วการให้คะแนน engagement
campaign.clickedคลิกลิงก์แล้วการติดตามความสนใจ
campaign.bouncedอีเมล bounceการดูแล list

เหตุการณ์ผู้สมัคร

เหตุการณ์Triggerกรณีการใช้งาน
subscribeเพิ่มผู้สมัครใหม่Welcome flow
unsubscribeผู้สมัครยกเลิกการจัดการการตั้งค่า
profileอัปเดตโปรไฟล์แล้วการซิงค์ attribute
cleanedทำความสะอาดอีเมล (bounce)การบำรุงรักษา list

เหตุการณ์ E-commerce

เหตุการณ์Triggerกรณีการใช้งาน
ecommerce.orderสั่งซื้อแล้วPost-purchase flow
ecommerce.cartอัปเดตตะกร้าสินค้าแล้วการกู้คืนตะกร้าที่ถูกทิ้ง

ตัวอย่างโค้ด

เริ่มต้น Connector

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 ไปยัง 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
// }

ซิงค์ข้อมูล Campaign Engagement

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

ขีดจำกัดอัตรา

Rate limits ของ Mailchimp Marketing API:

ประเภทขีดจำกัดรายละเอียด
มาตรฐาน10 concurrent requestsต่อ API key
Batch operations500 operations ต่อ batchต่อคำขอ
Export limit1 concurrent exportต่อบัญชี
Transactional25 คำขอ/วินาทีต่อ API key

กลยุทธ์ Rate Limit

Mailchimp จำกัด concurrent connections แทนที่จะเป็นคำขอต่อวินาที ใช้ batch endpoints และใช้ retry logic พร้อม exponential backoff บนการตอบกลับ 429

การแก้ไขปัญหา

ปัญหาทั่วไป

ปัญหาสาเหตุวิธีแก้
401 UnauthorizedAPI key ไม่ถูกต้องหรือ data center ผิดตรวจสอบ API key และดึงคำนำหน้า dc ที่ถูกต้อง
Member existsอีเมลมีอยู่ใน audience แล้วใช้ PUT แทน POST เพื่ออัปเดตสมาชิกที่มีอยู่
Compliance stateการลบ GDPR ป้องกันการเพิ่มกลับผู้ติดต่อต้องสมัครใหม่ผ่านฟอร์มลงทะเบียน
Batch timeoutการดำเนินการ batch ขนาดใหญ่แบ่งเป็น batches ขนาดเล็กลง 500 operations
Merge fields หายไปไม่ได้สร้าง custom fieldsสร้าง merge fields ใน Mailchimp ก่อนแมป

โหมด Debug

เปิดใช้งาน verbose logging:

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

ทดสอบการเชื่อมต่อ

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

แนวทางปฏิบัติที่ดีที่สุด

  1. ใช้ batch operations - ใช้ batch subscribe/unsubscribe สำหรับการอัปเดตจำนวนมาก
  2. รักษาสถานะผู้สมัคร - เคารพการยินยอม subscription ระหว่างการย้าย
  3. แมป merge fields ก่อน - สร้าง Brevo attributes ที่สอดคล้องกันก่อนซิงค์
  4. ซิงค์ข้อมูล engagement - นำเข้าอัตราการเปิด/คลิกสำหรับการแบ่ง segment ย้อนหลัง
  5. จัดการ compliance states - เคารพสถานะการลบ GDPR และถาวร
  6. ใช้ incremental sync - ซิงค์เฉพาะการเปลี่ยนแปลงตั้งแต่ sync ครั้งล่าสุดเพื่อลดการใช้ API

ความปลอดภัย

  • การยืนยันตัวตนด้วย API Key - Secret key ส่งผ่าน HTTP Basic Auth password
  • OAuth 2.0 - การอนุมัติด้วย token สำหรับการเข้าถึงหลายบัญชี
  • การเข้ารหัส TLS - การสื่อสาร API ทั้งหมดเข้ารหัสผ่าน HTTPS
  • การตรวจสอบ Webhook - ตรวจสอบแหล่ง webhook ด้วย shared secret
  • การแยก Data center - ข้อมูลเก็บใน data centers เฉพาะภูมิภาค

แหล่งข้อมูลที่เกี่ยวข้อง

Subscribe to updates

developer-docs

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

auto-detect
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย