---
title: "Iterable 커넥터"
description: "Tajo를 통해 Iterable의 사용자, 캠페인, 실험, 참여 이벤트를 Brevo와 동기화하는 완전한 통합 가이드입니다."
url: https://tajo.io/kr/docs/connectors/marketing/iterable/
markdown: https://tajo.io/kr/docs/connectors/marketing/iterable.md
lang: ko-KR
robots: noindex
---

Tajo 사전 이용 신청

이름과 회사 이메일 주소를 입력하세요. Tajo 이용 신청을 확인할 수 있는 링크를 이메일로 보내드립니다.

# Iterable 커넥터

커넥터 상태: 예정 아직 구축되지 않았습니다. Tajo는 현재 이 커넥터를 실행하지 않습니다.

| 원본 필드 | 대상 필드 | 예시 값 |
| --- | --- | --- |
| `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에서 사용자 커뮤니케이션 선호도 복제

## 사전 요구 사항

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

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에 연결

```bash
tajo connectors install iterable \
  --api-key $ITERABLE_API_KEY
```

## 구성

### 기본 설정

```yaml
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 연락처 속성에 매핑합니다.

```yaml
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
```

### 이벤트 구성

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

## API 엔드포인트

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 | 원시 이벤트 데이터 내보내기 |

## 코드 예제

### 커넥터 초기화

```javascript
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
});
```

### 사용자 동기화

```javascript
// 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
// }
```

### 이벤트 추적

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

### 웹훅 핸들러

```javascript
// 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 권한 추가 |
| 내보내기 시간 초과 | 대용량 데이터 | 날짜 범위 필터를 사용하여 내보내기 크기 줄이기 |
| 중복 사용자 | 일관되지 않은 식별자 | 이메일을 기본 식별자로 일관되게 사용 |

### 디버그 모드

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

### 연결 테스트

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

## 모범 사례

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

## 보안

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

## 관련 리소스

- [Braze 커넥터](https://tajo.io/kr/docs/connectors/marketing/braze)
- [Customer.io 커넥터](https://tajo.io/kr/docs/connectors/marketing/customerio)
- [고객 동기화 스킬](https://tajo.io/kr/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/kr/docs/contact-management)
