Mailchimp 커넥터

Mailchimp 계정을 Tajo를 통해 Brevo에 연결하여 원활한 오디언스 마이그레이션, 캠페인 데이터 동기화, 두 플랫폼 간의 통합 마케팅 자동화를 실현하십시오.

개요

속성
플랫폼Mailchimp
카테고리Marketing
설정 복잡도쉬움
공식 통합
동기화 데이터연락처, 캠페인, 자동화, 이벤트
API Base URLhttps://{dc}.api.mailchimp.com/3.0

기능

  • 오디언스 동기화 - Mailchimp 오디언스를 Brevo 연락처 목록과 마이그레이션 및 동기화
  • 캠페인 데이터 - 통합 보고를 위한 캠페인 성능 데이터 동기화
  • 자동화 마이그레이션 - Mailchimp 자동화를 Brevo 워크플로에 매핑
  • 참여 지표 - 오픈, 클릭, 반송 데이터를 Brevo 속성에 동기화
  • 세그먼트 매핑 - Mailchimp 세그먼트를 Brevo 목록 또는 세그먼트로 복제
  • 이커머스 데이터 - Mailchimp 이커머스에서 스토어, 제품, 주문 데이터 동기화
  • 태그 동기화 - Mailchimp 태그를 Brevo 연락처 속성 또는 목록에 매핑
  • 템플릿 마이그레이션 - Brevo 캠페인에서 사용할 Mailchimp 템플릿 내보내기

사전 요구 사항

시작하기 전에 다음이 준비되어 있는지 확인하십시오.

  1. Mailchimp 계정 (Free, Essentials, Standard 또는 Premium)
  2. Mailchimp API 키 또는 OAuth 앱
  3. API 접근이 가능한 Brevo 계정
  4. Tajo 계정

인증

API 키 인증

Mailchimp Account > Extras > API Keys에서 API 키를 생성하십시오.

Terminal window
curl https://{dc}.api.mailchimp.com/3.0/ping \
--user "anystring:{api_key}" \
-H "Content-Type: application/json"

{dc} 데이터 센터 접두사는 API 키의 마지막 부분입니다 (예: us21).

OAuth 2.0

다중 계정 통합의 경우:

Terminal window
# 인증 URL
https://login.mailchimp.com/oauth2/authorize?
response_type=code&
client_id={client_id}&
redirect_uri={redirect_uri}
# 토큰 교환
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}"

데이터 센터

항상 API 키 또는 OAuth 메타데이터 엔드포인트에서 데이터 센터를 추출하십시오. 잘못된 데이터 센터를 사용하면 인증 실패가 발생합니다.

구성

기본 설정

connectors:
mailchimp:
enabled: true
api_key: "${MAILCHIMP_API_KEY}"
data_center: "us21"
# 데이터 동기화 옵션
sync:
audiences: true
campaigns: true
automations: true
ecommerce: true
# 오디언스를 Brevo 목록에 매핑
audience_mapping:
"Main Audience": 40
"Newsletter": 41
"Customers": 42

필드 매핑

Mailchimp 병합 필드를 Brevo 연락처 속성에 매핑합니다.

기본 매핑

Parameter Type Description
email_address required
string

구독자 이메일 (고유 식별자)

FNAME optional
string

이름 병합 필드, FIRSTNAME에 매핑

LNAME optional
string

성 병합 필드, LASTNAME에 매핑

PHONE optional
string

전화 병합 필드, SMS에 매핑

status optional
string

구독 상태 (subscribed, unsubscribed, cleaned, pending)

tags optional
array

세그먼테이션을 위한 구독자 태그

stats.avg_open_rate optional
number

평균 이메일 오픈율

stats.avg_click_rate optional
number

평균 이메일 클릭률

맞춤 병합 필드 매핑

field_mapping:
# 표준 필드
email_address: email
FNAME: FIRSTNAME
LNAME: LASTNAME
PHONE: SMS
# 참여 지표
stats.avg_open_rate: AVG_OPEN_RATE
stats.avg_click_rate: AVG_CLICK_RATE
member_rating: ENGAGEMENT_SCORE
# 이커머스 필드
ecommerce_data.total_revenue: TOTAL_REVENUE
ecommerce_data.number_of_orders: ORDER_COUNT
# 맞춤 병합 필드
MMERGE5: COMPANY_NAME
MMERGE6: CUSTOMER_TYPE

API 엔드포인트

오디언스 (목록)

메서드엔드포인트설명
GET/3.0/lists모든 오디언스 목록
GET/3.0/lists/{list_id}오디언스 세부 정보 가져오기
GET/3.0/lists/{list_id}/members오디언스 멤버 목록
POST/3.0/lists/{list_id}/members멤버 추가
PUT/3.0/lists/{list_id}/members/{hash}멤버 업데이트
POST/3.0/lists/{list_id}배치 구독/구독 취소

캠페인

메서드엔드포인트설명
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자동화 이메일 목록

이커머스

메서드엔드포인트설명
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캠페인 배달됨성능 추적
campaign.opened이메일 오픈됨참여 점수 산출
campaign.clicked링크 클릭됨관심사 추적
campaign.bounced이메일 반송됨목록 정리

구독자 이벤트

이벤트트리거사용 사례
subscribe신규 구독자 추가됨환영 플로
unsubscribe구독자 옵트 아웃선호도 관리
profile프로필 업데이트됨속성 동기화
cleaned이메일 정리됨 (반송)목록 유지 관리

이커머스 이벤트

이벤트트리거사용 사례
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
});
// Mailchimp 연결
await tajo.connectors.connect('mailchimp', {
apiKey: process.env.MAILCHIMP_API_KEY
});

오디언스를 Brevo로 마이그레이션

// Mailchimp에서 Brevo로의 전체 오디언스 마이그레이션
await tajo.connectors.sync('mailchimp', {
type: 'full',
resources: ['audiences', 'campaigns', 'ecommerce'],
options: {
preserveTags: true,
migrateSegments: true,
includeUnsubscribed: false
}
});
// 마이그레이션 상태 확인
const status = await tajo.connectors.status('mailchimp');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsMigrated: 52000,
// campaignsSynced: 245,
// segmentsMapped: 18
// }

캠페인 참여 데이터 동기화

// 캠페인 성능을 Brevo 속성에 동기화
await tajo.connectors.sync('mailchimp', {
type: 'incremental',
resources: ['campaigns'],
options: {
syncEngagement: true,
updateContactMetrics: true,
since: '2024-01-01'
}
});

속도 제한

Mailchimp Marketing API 속도 제한:

유형제한세부 사항
표준10개 동시 요청API 키당
배치 작업배치당 500개 작업요청당
내보내기 제한1개 동시 내보내기계정당
트랜잭션25 요청/초API 키당

속도 제한 전략

Mailchimp는 초당 요청보다는 동시 연결을 제한합니다. 배치 엔드포인트를 사용하고 429 응답에 대해 지수 백오프로 재시도 로직을 구현하십시오.

문제 해결

일반적인 문제

문제원인해결 방법
401 Unauthorized잘못된 API 키 또는 데이터 센터API 키 확인 및 올바른 dc 접두사 추출
멤버가 이미 존재함이메일이 이미 오디언스에 있음기존 멤버 업데이트에 POST 대신 PUT 사용
규정 준수 상태GDPR 삭제로 재추가 방지연락처는 가입 폼을 통해 재구독해야 함
배치 시간 초과대규모 배치 작업500개 작업의 더 작은 배치로 분할
병합 필드 누락맞춤 필드가 생성되지 않음매핑 전에 Mailchimp에서 병합 필드 생성

디버그 모드

자세한 로깅 활성화:

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

연결 테스트

Terminal window
tajo connectors test mailchimp
# ✓ API 연결 성공
# ✓ 오디언스 읽기 가능
# ✓ 캠페인 읽기 가능
# ✓ 이커머스 데이터 접근 가능
# ✓ 웹훅 구성됨

모범 사례

  1. 배치 작업 사용 - 대량 업데이트에 배치 구독/구독 취소 사용
  2. 구독자 상태 보존 - 마이그레이션 중 구독 동의 존중
  3. 먼저 병합 필드 매핑 - 동기화 전에 해당하는 Brevo 속성 생성
  4. 참여 데이터 동기화 - 과거 세그먼테이션을 위한 오픈/클릭률 가져오기
  5. 규정 준수 상태 처리 - GDPR 및 영구 삭제 상태 준수
  6. 증분 동기화 사용 - API 사용을 줄이기 위해 마지막 동기화 이후 변경 사항만 동기화

보안

  • API 키 인증 - HTTP Basic Auth 비밀번호로 전달되는 시크릿 키
  • OAuth 2.0 - 다중 계정 접근을 위한 토큰 기반 인증
  • TLS 암호화 - HTTPS를 통해 암호화된 모든 API 통신
  • 웹훅 확인 - 공유 시크릿으로 웹훅 소스 검증
  • 데이터 센터 격리 - 지역별 데이터 센터에 저장된 데이터

관련 리소스

Subscribe to updates

developer-docs

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

auto-detect
AI 어시스턴트

안녕하세요! 문서에 대해 무엇이든 물어보세요.