Iterable 커넥터
커넥터 상태: 예정 아직 구축되지 않았습니다. Tajo는 현재 이 커넥터를 실행하지 않습니다.
예시 그림 · 샘플 데이터
동기화 예시
원본
Iterable
커넥터 상태: 예정
대상
다른 도구
커넥터 상태: 사용자 지정 도구
필드 매핑
| 원본 필드 | 대상 필드 | 예시 값 |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- 초안
- 레코드 한 건 검토
- 이 버전 승인
상태는 개별 커넥터에 대한 것으로, 이 동기화가 준비됐다는 보장은 아닙니다. 표시된 필드는 예시입니다. 동기화 실행 전에 실제 스키마와 권한을 확인하세요.
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로 서명된 웹훅 페이로드