Iterable 커넥터
Iterable 성장 마케팅 플랫폼을 Brevo에 연결하여 통합된 고객 참여, 크로스 채널 캠페인 조정, 마케팅 도구 전반의 통합 분석을 구현하십시오.
개요
| 속성 | 값 |
|---|---|
| 플랫폼 | Iterable |
| 카테고리 | Marketing |
| 설정 복잡도 | 보통 |
| 공식 통합 | 아니오 |
| 동기화 데이터 | 사용자, 이벤트, 캠페인, 카탈로그 |
| API 유형 | REST API |
| 인증 | API Key |
| Base URL | https://api.iterable.com/api/ |
기능
- 사용자 프로필 동기화 - Brevo 연락처와의 양방향 사용자 데이터 동기화
- 캠페인 분석 - 통합 보고를 위해 캠페인 전송, 오픈, 클릭 지표 동기화
- 실험 데이터 - A/B 테스트 결과 및 승리 변형 추적
- 카탈로그 동기화 - 플랫폼 간 제품 및 콘텐츠 카탈로그 동기화
- 워크플로 이벤트 - 워크플로 트리거 및 완료 이벤트를 Brevo로 전달
- 채널 선호도 동기화 - Brevo에서 사용자 커뮤니케이션 선호도 복제
사전 요구 사항
시작하기 전에 다음이 준비되어 있는지 확인하십시오.
- API 접근이 가능한 Iterable 계정
- 적절한 권한을 가진 Iterable API 키
- Iterable 프로젝트 ID
- API 접근이 가능한 Brevo 계정
- 활성 구독이 있는 Tajo 계정
인증
Iterable은 요청 헤더에 전달되는 API 키 인증을 사용합니다.
API 키 생성
- Iterable 대시보드에 로그인
- Integrations > API Keys로 이동
- New API Key 클릭
- 이름을 “Tajo Integration”으로 지정
- Server-side 키 유형 선택
- 다음 권한 부여:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: Read키 유형이 중요함
Tajo 통합에는 항상 Server-side API 키를 사용하십시오. 모바일 및 JavaScript 측 키는 제한된 권한을 가지며 필요한 모든 엔드포인트에 접근할 수 없습니다.
Tajo에 연결
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_ENGAGEDAPI 엔드포인트
Tajo는 다음 Iterable API 엔드포인트와 통합됩니다.
| 엔드포인트 | 메서드 | 목적 |
|---|---|---|
/users/update | POST | 사용자 프로필 업데이트 |
/users/{email} | GET | 이메일로 사용자 가져오기 |
/users/bulkUpdate | POST | 사용자 배치 업데이트 |
/events/track | POST | 맞춤 이벤트 추적 |
/events/trackBulk | POST | 이벤트 배치 추적 |
/campaigns | GET | 모든 캠페인 목록 |
/campaigns/metrics | GET | 캠페인 성능 데이터 |
/experiments/metrics | GET | 실험 결과 |
/lists | GET | 모든 사용자 목록 |
/lists/subscribe | POST | 사용자를 목록에 추가 |
/lists/unsubscribe | POST | 사용자를 목록에서 제거 |
/catalogs/{catalogName}/items | GET | 카탈로그 항목 가져오기 |
/channels | GET | 메시징 채널 목록 |
/export/data.json | GET | 원시 이벤트 데이터 내보내기 |
코드 예제
커넥터 초기화
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 엔드포인트 제한 |
|---|---|---|
| Growth | 500 요청/초 | 500 요청/초 |
| Enterprise | 맞춤 | 맞춤 |
특정 엔드포인트 제한:
| 엔드포인트 | 제한 |
|---|---|
/users/update | 500 요청/초 |
/users/bulkUpdate | 500 요청/초 (요청당 1,000명) |
/events/track | 500 요청/초 |
/events/trackBulk | 500 요청/초 (요청당 8,000 이벤트) |
/export/data.json | 4개 동시 요청 |
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연결 테스트
tajo connectors test iterable# ✓ API 연결 성공# ✓ 사용자 데이터 접근 가능# ✓ 캠페인 목록 읽기 가능# ✓ 이벤트 추적 작동 중# ✓ 목록 관리 사용 가능모범 사례
- Bulk 엔드포인트 사용 - 대용량 데이터에는 항상
bulkUpdate및trackBulk선호 - 이메일로 중복 제거 - Iterable과 Brevo에서 이메일을 일관된 식별자로 사용
- 증분 동기화 - 과거 데이터를 재처리하지 않도록 날짜 범위 사용
- 채널 선호도 매핑 - 규정 준수를 유지하기 위해 opt-in/opt-out 상태 동기화
- 내보내기 작업 모니터링 - 대규모 내보내기는 시간이 걸릴 수 있음; 상태 폴링 설정
- 비프로덕션 프로젝트로 테스트 - 프로덕션 데이터 동기화 전에 매핑 검증
보안
- API 키 인증 - 세분화된 권한을 가진 Server-side 키
- HTTPS 전용 - TLS 1.2+를 통해 암호화된 모든 API 통신
- 키 교체 - 교체 중 여러 활성 API 키 지원
- 암호화된 저장 - Tajo에서 API 자격 증명이 저장 시 암호화됨
- JWT 웹훅 - 검증을 위해 JWT로 서명된 웹훅 페이로드