---
title: "Brevo 커넥터"
description: "Tajo를 통해 연락처, 트랜잭션 이메일, SMS, WhatsApp 캠페인, 마케팅 자동화를 동기화하는 완전한 Brevo 통합 가이드입니다."
url: https://tajo.io/kr/docs/connectors/marketing/brevo/
markdown: https://tajo.io/kr/docs/connectors/marketing/brevo.md
lang: ko-KR
robots: noindex
---

Tajo 사전 이용 신청

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

# Brevo 커넥터

커넥터 상태: 운영 중 검증되었습니다. Tajo가 현재 이 커넥터를 실행합니다.

| 원본 필드 | 대상 필드 | 예시 값 |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Brevo 계정을 Tajo에 연결하여 통합된 연락처 관리, 이메일, SMS, WhatsApp에서의 트랜잭션 메시징, 포괄적인 마케팅 자동화를 구현하십시오.

## 개요

| 속성 | 값 |
| --- | --- |
| **플랫폼** | Brevo |
| **카테고리** | Marketing |
| **설정 복잡도** | 쉬움 |
| **공식 통합** | 예 |
| **동기화 데이터** | 연락처, 캠페인, 트랜잭션 메시지, 이벤트, 이커머스 |
| **API Base URL** | `https://api.brevo.com/v3` |

## 기능

- **다중 채널 메시징** - 통합 API로 트랜잭션 이메일, SMS, WhatsApp 전송
- **연락처 관리** - 맞춤 속성으로 연락처 생성, 업데이트, 세그먼트화
- **마케팅 캠페인** - 프로그래매틱하게 이메일 캠페인 생성 및 전송
- **이벤트 추적** - Brevo Tracker를 통해 맞춤 이벤트 및 웹사이트 활동 추적
- **이커머스 동기화** - 맞춤 캠페인을 위한 제품, 주문, 카트 데이터 동기화
- **로열티 프로그램** - 로열티 구독, 포인트, 멤버 데이터 관리
- **웹훅 지원** - 트랜잭션, 마케팅, CRM 이벤트에 대한 실시간 이벤트 알림
- **Conversations** - 실시간 채팅 위젯 통합 및 프로그래매틱 메시지 관리

## 사전 요구 사항

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

1. Brevo 계정 (Free, Starter, Business, 또는 Enterprise 요금제)
2. Brevo Settings > API Keys에서 생성한 API 키
3. API 접근이 가능한 Tajo 계정
4. 이메일 전송을 위한 확인된 발신자 도메인

## 인증

Brevo는 두 가지 인증 방법을 지원합니다.

### API 키 인증 (권장)

각 요청과 함께 `api-key` 헤더에 API 키를 포함하십시오. 직접 통합 및 서버-서버 통신에 가장 적합합니다.

```bash
curl -X GET "https://api.brevo.com/v3/account" \
  -H "api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

### OAuth 2.0 인증

위임된 접근 및 사용자별 권한이 필요한 조직 내 사설 통합에는 OAuth 2.0을 사용하십시오. OAuth는 정의된 유효 기간을 가진 토큰 기반 시스템을 제공합니다.

OAuth 사용 가능성

OAuth는 현재 조직 내부의 사설 통합에만 사용 가능합니다. OAuth 통합은 공개 배포 또는 마켓플레이스 등록용이 아닙니다.

## 구성

### 기본 설정

```yaml
connectors:
  brevo:
    enabled: true
    api_key: "${BREVO_API_KEY}"
    api_version: "v3"

    # 데이터 동기화 옵션
    sync:
      contacts: true
      campaigns: true
      transactional: true
      events: true
      ecommerce: true

    # 목록 할당
    lists:
      all_customers: 5
      newsletter: 6
      buyers: 7
```

### 필드 매핑

데이터 필드를 Brevo 연락처 속성에 매핑합니다.

#### 기본 매핑

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | 연락처 이메일 주소 (고유 식별자) |
| `FIRSTNAME` optional | string | 연락처 이름 속성 |
| `LASTNAME` optional | string | 연락처 성 속성 |
| `SMS` optional | string | SMS 및 WhatsApp 메시징을 위한 전화번호 |
| `OPT_IN` optional | boolean | 마케팅 수신 동의 상태 |
| `ORDER_COUNT` optional | integer | 총 주문 수 |
| `TOTAL_REVENUE` optional | number | 연락처의 평생 매출 |
| `LOYALTY_POINTS` optional | integer | 현재 로열티 프로그램 포인트 잔액 |

#### 맞춤 속성 매핑

```yaml
field_mapping:
  # 표준 필드
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS

  # 마케팅 필드
  opt_in: OPT_IN
  signup_source: SIGNUP_SOURCE
  preferred_language: LANGUAGE

  # 이커머스 지표
  orders_count: ORDER_COUNT
  total_spent: TOTAL_REVENUE
  last_order_date: LAST_ORDER_DATE

  # 로열티 필드
  loyalty_tier: VIP_TIER
  loyalty_points: LOYALTY_POINTS
```

## API 엔드포인트

### 핵심 엔드포인트

| 메서드 | 엔드포인트 | 설명 |
| --- | --- | --- |
| `POST` | `/v3/smtp/email` | 트랜잭션 이메일 전송 |
| `POST` | `/v3/transactionalSMS/send` | 트랜잭션 SMS 전송 |
| `POST` | `/v3/whatsapp/sendMessage` | 트랜잭션 WhatsApp 전송 |
| `POST` | `/v3/contacts` | 연락처 생성 |
| `PUT` | `/v3/contacts/{email}` | 연락처 업데이트 |
| `GET` | `/v3/contacts/{identifier}` | 연락처 세부 정보 가져오기 |
| `POST` | `/v3/contacts/import` | 연락처 대량 가져오기 |

### 이커머스 엔드포인트

| 메서드 | 엔드포인트 | 설명 |
| --- | --- | --- |
| `POST` | `/v3/orders/status` | 주문 상태 생성 또는 업데이트 |
| `POST` | `/v3/products` | 제품 생성 또는 업데이트 |
| `POST` | `/v3/categories` | 제품 카테고리 생성 또는 업데이트 |
| `POST` | `/v3/events` | 맞춤 이벤트 추적 |

### 캠페인 엔드포인트

| 메서드 | 엔드포인트 | 설명 |
| --- | --- | --- |
| `POST` | `/v3/emailCampaigns` | 이메일 캠페인 생성 |
| `POST` | `/v3/emailCampaigns/{id}/sendNow` | 캠페인 즉시 전송 |
| `GET` | `/v3/emailCampaigns` | 모든 이메일 캠페인 목록 |
| `GET` | `/v3/smtp/statistics/events` | 이메일 이벤트 통계 가져오기 |

## 이벤트

### 트랜잭션 이벤트

| 이벤트 | 트리거 | 사용 사례 |
| --- | --- | --- |
| `delivered` | 이메일이 받은편지함에 배달됨 | 배달 확인 |
| `opened` | 수신자가 이메일 엶 | 참여 추적 |
| `clicked` | 이메일에서 링크 클릭 | 클릭률 추적 |
| `bounced` | 이메일 반송됨 | 목록 정리 |
| `spam` | 스팸으로 표시됨 | 규정 준수 모니터링 |
| `unsubscribed` | 연락처 구독 취소 | 선호도 관리 |

### 이커머스 이벤트

| 이벤트 | 트리거 | 사용 사례 |
| --- | --- | --- |
| `order_completed` | 주문 성공적으로 배치됨 | 구매 후 플로 |
| `cart_updated` | 카트 내용 변경됨 | 방치된 카트 추적 |
| `cart_deleted` | 카트 지워지거나 만료됨 | 카트 복구 |
| `product_viewed` | 제품 페이지 방문됨 | 브라우즈 이탈 |

## 코드 예제

### 커넥터 초기화

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Brevo 계정 연결
await tajo.connectors.connect('brevo', {
  apiKey: process.env.BREVO_API_KEY
});
```

### 트랜잭션 이메일 전송

```javascript
// Brevo를 통해 트랜잭션 이메일 전송
await tajo.brevo.sendTransactionalEmail({
  to: [{ email: 'customer@example.com', name: 'John Doe' }],
  templateId: 12,
  params: {
    ORDER_ID: '12345',
    ORDER_TOTAL: '$59.99',
    DELIVERY_DATE: '2024-02-15'
  }
});
```

### 연락처 동기화

```javascript
// Brevo로 연락처 대량 가져오기
await tajo.connectors.sync('brevo', {
  type: 'full',
  resources: ['contacts'],
  options: {
    listIds: [5, 6],
    updateExisting: true,
    emptyContactsAttributes: false
  }
});

// 동기화 상태 확인
const status = await tajo.connectors.status('brevo');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsSynced: 25400,
//   campaignsSent: 142,
//   eventsTracked: 89320
// }
```

### 맞춤 이벤트 추적

```javascript
// 연락처에 대한 맞춤 이벤트 추적
await tajo.brevo.trackEvent({
  email: 'customer@example.com',
  event: 'product_purchased',
  eventdata: {
    id: 'txn_98765',
    data: {
      product_name: 'Premium Widget',
      price: 49.99,
      currency: 'USD'
    }
  }
});
```

## 속도 제한

Brevo는 요금제에 따라 세 가지 티어에 걸쳐 속도 제한을 적용합니다.

| 엔드포인트 | Free/Starter | Professional | Enterprise |
| --- | --- | --- | --- |
| `POST /v3/smtp/email` | 1,000 RPS | 2,000 RPS | 6,000 RPS |
| `POST /v3/transactionalSMS/send` | 150 RPS | 200 RPS | 250 RPS |
| `POST /v3/events` | 10 RPS | 20 RPS | 60 RPS |
| `/v3/contacts/*` | 10 RPS | 20 RPS | 60 RPS |
| 기타 모든 엔드포인트 | 100 RPH | 200 RPH | 600 RPH |

속도 제한 응답

속도 제한을 초과하면 API는 `429 Too Many Requests` 상태 코드를 반환합니다. 사용량을 추적하려면 응답의 속도 제한 헤더를 모니터링하십시오.

## 문제 해결

### 일반적인 문제

| 문제 | 원인 | 해결 방법 |
| --- | --- | --- |
| 401 Unauthorized | 잘못된 API 키 | Brevo 설정에서 API 키 재생성 |
| 연락처가 생성되지 않음 | 이메일 필드 누락 | 모든 연락처에 이메일이 제공되었는지 확인 |
| 이메일이 배달되지 않음 | 확인되지 않은 발신자 도메인 | Brevo 발신자 설정에서 도메인 확인 |
| 웹훅이 수신되지 않음 | 잘못된 URL 또는 서버 오류 | 웹훅 URL 접근성 및 로그 확인 |
| SMS가 전송되지 않음 | 잘못된 전화 형식 | 국가 코드와 함께 국제 형식 사용 |

### 디버그 모드

자세한 로깅 활성화:

```yaml
connectors:
  brevo:
    debug: true
    log_level: verbose
    log_webhooks: true
```

### 연결 테스트

```bash
tajo connectors test brevo
# ✓ API 연결 성공
# ✓ Contacts API 접근 가능
# ✓ 트랜잭션 이메일 준비됨
# ✓ SMS 전송 구성됨
# ✓ 웹훅 등록됨
```

## 모범 사례

1. **API 키 교체 사용** - 보안을 위해 API 키를 주기적으로 교체
2. **웹훅 검증 구현** - 사용자 이름/비밀번호 인증으로 웹훅 서명 검증
3. **연락처 가져오기 배치 처리** - 개별 API 호출 대신 대규모 데이터 세트에 대량 가져오기 사용
4. **속도 제한 모니터링** - 429 오류를 피하려면 속도 제한 헤더 확인
5. **이벤트 추적 사용** - 포괄적인 고객 행동 데이터를 위해 Brevo Tracker 구현
6. **적절한 발신자 인증 설정** - 최적의 배달률을 위해 SPF, DKIM, DMARC 구성

## 보안

- **API 키 인증** - `api-key` 헤더를 통한 시크릿 토큰 기반 접근
- **OAuth 2.0** - 사설 통합을 위한 토큰 기반 위임 접근
- **웹훅 확인** - 안전한 웹훅 호출을 위한 사용자 이름 및 비밀번호 인증
- **TLS 암호화** - 전송 중 암호화된 모든 API 통신
- **IP 허용 목록** - Enterprise 요금제에서 선택적 IP 제한 사용 가능

## 관련 리소스

- [Brevo API 문서](https://developers.brevo.com/docs/getting-started)
- [Brevo 인증 가이드](https://developers.brevo.com/docs/authentication-schemes)
- [Brevo 속도 제한](https://developers.brevo.com/docs/api-limits)
- [Shopify 커넥터](https://tajo.io/kr/docs/connectors/ecommerce/shopify)
- [고객 동기화 스킬](https://tajo.io/kr/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/kr/docs/contact-management)
