Iterable 커넥터

Iterable 성장 마케팅 플랫폼을 Brevo에 연결하여 통합된 고객 참여, 크로스 채널 캠페인 조정, 마케팅 도구 전반의 통합 분석을 구현하십시오.

개요

속성
플랫폼Iterable
카테고리Marketing
설정 복잡도보통
공식 통합아니오
동기화 데이터사용자, 이벤트, 캠페인, 카탈로그
API 유형REST API
인증API Key
Base URLhttps://api.iterable.com/api/

기능

  • 사용자 프로필 동기화 - Brevo 연락처와의 양방향 사용자 데이터 동기화
  • 캠페인 분석 - 통합 보고를 위해 캠페인 전송, 오픈, 클릭 지표 동기화
  • 실험 데이터 - A/B 테스트 결과 및 승리 변형 추적
  • 카탈로그 동기화 - 플랫폼 간 제품 및 콘텐츠 카탈로그 동기화
  • 워크플로 이벤트 - 워크플로 트리거 및 완료 이벤트를 Brevo로 전달
  • 채널 선호도 동기화 - Brevo에서 사용자 커뮤니케이션 선호도 복제

사전 요구 사항

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

  1. API 접근이 가능한 Iterable 계정
  2. 적절한 권한을 가진 Iterable API 키
  3. Iterable 프로젝트 ID
  4. API 접근이 가능한 Brevo 계정
  5. 활성 구독이 있는 Tajo 계정

인증

Iterable은 요청 헤더에 전달되는 API 키 인증을 사용합니다.

API 키 생성

  1. Iterable 대시보드에 로그인
  2. Integrations > API Keys로 이동
  3. New API Key 클릭
  4. 이름을 “Tajo Integration”으로 지정
  5. Server-side 키 유형 선택
  6. 다음 권한 부여:
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

키 유형이 중요함

Tajo 통합에는 항상 Server-side API 키를 사용하십시오. 모바일 및 JavaScript 측 키는 제한된 권한을 가지며 필요한 모든 엔드포인트에 접근할 수 없습니다.

Tajo에 연결

Terminal window
tajo connectors install iterable \
--api-key $ITERABLE_API_KEY

구성

기본 설정

connectors:
iterable:
enabled: true
sync:
users: true
events: true
campaigns: true
catalogs: true
experiments: true
lists:
all_users: 16
engaged_users: 17
inactive_users: 18

필드 매핑

Iterable 사용자 필드를 Brevo 연락처 속성에 매핑합니다.

field_mapping:
# 표준 필드
userId: ITERABLE_ID
email: email
firstName: FIRSTNAME
lastName: LASTNAME
phoneNumber: SMS
# 참여 데이터
signupDate: SIGNUP_DATE
totalPurchases: TOTAL_PURCHASES
lastPurchaseDate: LAST_PURCHASE
# 맞춤 필드
plan_name: PLAN_NAME
company_size: COMPANY_SIZE
preferred_channel: PREFERRED_CHANNEL
lifecycle_stage: LIFECYCLE_STAGE

이벤트 구성

event_mapping:
# Iterable 이벤트 -> Brevo 이벤트
purchase: ORDER_PLACED
addToCart: CART_UPDATED
pageView: PAGE_VIEWED
appOpen: APP_OPENED
pushOpen: PUSH_ENGAGED

API 엔드포인트

Tajo는 다음 Iterable API 엔드포인트와 통합됩니다.

엔드포인트메서드목적
/users/updatePOST사용자 프로필 업데이트
/users/{email}GET이메일로 사용자 가져오기
/users/bulkUpdatePOST사용자 배치 업데이트
/events/trackPOST맞춤 이벤트 추적
/events/trackBulkPOST이벤트 배치 추적
/campaignsGET모든 캠페인 목록
/campaigns/metricsGET캠페인 성능 데이터
/experiments/metricsGET실험 결과
/listsGET모든 사용자 목록
/lists/subscribePOST사용자를 목록에 추가
/lists/unsubscribePOST사용자를 목록에서 제거
/catalogs/{catalogName}/itemsGET카탈로그 항목 가져오기
/channelsGET메시징 채널 목록
/export/data.jsonGET원시 이벤트 데이터 내보내기

코드 예제

커넥터 초기화

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('iterable', {
apiKey: process.env.ITERABLE_API_KEY
});

사용자 동기화

// Iterable에서 Brevo로의 증분 사용자 동기화
await tajo.connectors.sync('iterable', {
type: 'incremental',
resources: ['users'],
since: '2024-01-01',
batchSize: 50
});
const status = await tajo.connectors.status('iterable');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T09:45:00Z',
// usersCount: 58700,
// campaignsTracked: 42,
// eventsProcessed: 210000
// }

이벤트 추적

// Iterable 이벤트를 Brevo로 전달
await tajo.connectors.handleEvent('iterable', {
type: 'custom_event',
payload: {
eventName: 'subscription_upgraded',
dataFields: {
previousPlan: 'starter',
newPlan: 'pro',
mrr: 99.00
}
}
});

웹훅 핸들러

// Iterable 시스템 웹훅 처리
app.post('/webhooks/iterable', async (req, res) => {
const event = req.body;
await tajo.connectors.handleWebhook('iterable', {
type: event.eventName,
payload: event
});
res.status(200).send('OK');
});

속도 제한

Iterable은 요금제에 따라 속도 제한을 적용합니다.

요금제속도 제한Bulk 엔드포인트 제한
Growth500 요청/초500 요청/초
Enterprise맞춤맞춤

특정 엔드포인트 제한:

엔드포인트제한
/users/update500 요청/초
/users/bulkUpdate500 요청/초 (요청당 1,000명)
/events/track500 요청/초
/events/trackBulk500 요청/초 (요청당 8,000 이벤트)
/export/data.json4개 동시 요청

Bulk 엔드포인트

Tajo는 속도 제한 내에서 처리량을 최대화하기 위해 사용자 업데이트(호출당 최대 1,000명)와 이벤트 추적(호출당 최대 8,000개)을 자동으로 배치 처리합니다.

문제 해결

일반적인 문제

문제원인해결 방법
401 Unauthorized잘못된 API 키Iterable > Integrations > API Keys에서 키 확인
사용자가 동기화되지 않음키 유형 불일치Server-side API 키를 사용하고 있는지 확인
캠페인 데이터 누락권한 부족API 키에 Campaigns Read 권한 추가
내보내기 시간 초과대용량 데이터날짜 범위 필터를 사용하여 내보내기 크기 줄이기
중복 사용자일관되지 않은 식별자이메일을 기본 식별자로 일관되게 사용

디버그 모드

connectors:
iterable:
debug: true
log_level: verbose
log_api_calls: true

연결 테스트

Terminal window
tajo connectors test iterable
# ✓ API 연결 성공
# ✓ 사용자 데이터 접근 가능
# ✓ 캠페인 목록 읽기 가능
# ✓ 이벤트 추적 작동 중
# ✓ 목록 관리 사용 가능

모범 사례

  1. Bulk 엔드포인트 사용 - 대용량 데이터에는 항상 bulkUpdatetrackBulk 선호
  2. 이메일로 중복 제거 - Iterable과 Brevo에서 이메일을 일관된 식별자로 사용
  3. 증분 동기화 - 과거 데이터를 재처리하지 않도록 날짜 범위 사용
  4. 채널 선호도 매핑 - 규정 준수를 유지하기 위해 opt-in/opt-out 상태 동기화
  5. 내보내기 작업 모니터링 - 대규모 내보내기는 시간이 걸릴 수 있음; 상태 폴링 설정
  6. 비프로덕션 프로젝트로 테스트 - 프로덕션 데이터 동기화 전에 매핑 검증

보안

  • API 키 인증 - 세분화된 권한을 가진 Server-side 키
  • HTTPS 전용 - TLS 1.2+를 통해 암호화된 모든 API 통신
  • 키 교체 - 교체 중 여러 활성 API 키 지원
  • 암호화된 저장 - Tajo에서 API 자격 증명이 저장 시 암호화됨
  • JWT 웹훅 - 검증을 위해 JWT로 서명된 웹훅 페이로드

관련 리소스

Subscribe to updates

developer-docs

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

auto-detect
AI 어시스턴트

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