---
title: "Konektor Brevo"
description: "Panduan integrasi Brevo lengkap untuk menyinkronkan kontak, email transaksional, SMS, kampanye WhatsApp, dan otomatisasi marketing dengan Tajo."
url: https://tajo.io/in/docs/connectors/marketing/brevo/
markdown: https://tajo.io/in/docs/connectors/marketing/brevo.md
lang: id-ID
robots: noindex
---

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

# Konektor Brevo

Status konektor: Aktif Terverifikasi. Tajo menjalankan konektor ini hari ini.

| Field sumber | Field tujuan | Nilai contoh |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Hubungkan akun Brevo Anda ke Tajo untuk manajemen kontak terpadu, pesan transaksional lintas email, SMS, dan WhatsApp, serta otomatisasi marketing yang menyeluruh.

## Ikhtisar

| Properti | Nilai |
| --- | --- |
| **Platform** | Brevo |
| **Kategori** | Marketing |
| **Kompleksitas setup** | Mudah |
| **Integrasi resmi** | Ya |
| **Data yang disinkronkan** | Kontak, Kampanye, Pesan Transaksional, Event, eCommerce |
| **URL dasar API** | `https://api.brevo.com/v3` |

## Fitur

- **Pesan multi-kanal** - Kirim email transaksional, SMS, dan WhatsApp dari satu API terpadu
- **Manajemen kontak** - Buat, perbarui, dan segmentasikan kontak dengan atribut kustom
- **Kampanye marketing** - Buat dan kirim kampanye email secara terprogram
- **Pelacakan event** - Lacak custom event dan aktivitas situs web melalui Brevo Tracker
- **Sinkronisasi eCommerce** - Sinkronkan produk, pesanan, dan data keranjang untuk kampanye yang dipersonalisasi
- **Program loyalitas** - Kelola langganan loyalitas, poin, dan data anggota
- **Dukungan webhook** - Notifikasi event real-time untuk event transaksional, marketing, dan CRM
- **Conversations** - Integrasi widget live chat dan manajemen pesan secara terprogram

## Prasyarat

Sebelum memulai, pastikan Anda memiliki:

1. Akun Brevo (paket Free, Starter, Business, atau Enterprise)
2. API key yang dibuat dari Brevo Settings > API Keys
3. Akun Tajo dengan akses API
4. Domain pengirim terverifikasi untuk pengiriman email

## Autentikasi

Brevo mendukung dua metode autentikasi:

### Autentikasi API key (direkomendasikan)

Sertakan API key Anda pada header `api-key` di setiap permintaan. Paling cocok untuk integrasi langsung dan komunikasi server ke server.

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

### Autentikasi OAuth 2.0

Gunakan OAuth 2.0 untuk integrasi privat di dalam organisasi yang memerlukan akses terdelegasi dan izin spesifik per pengguna. OAuth menyediakan sistem berbasis token dengan masa berlaku yang ditentukan.

Ketersediaan OAuth

Saat ini OAuth hanya tersedia untuk integrasi privat di dalam organisasi. Integrasi OAuth tidak ditujukan untuk distribusi publik atau pendaftaran di marketplace.

## Konfigurasi

### Setup dasar

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

    # Data sync options
    sync:
      contacts: true
      campaigns: true
      transactional: true
      events: true
      ecommerce: true

    # List assignment
    lists:
      all_customers: 5
      newsletter: 6
      buyers: 7
```

### Pemetaan field

Petakan field data Anda ke atribut kontak Brevo:

#### Pemetaan default

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Alamat email kontak (identifier unik) |
| `FIRSTNAME` optional | string | Atribut nama depan kontak |
| `LASTNAME` optional | string | Atribut nama belakang kontak |
| `SMS` optional | string | Nomor telepon untuk pesan SMS dan WhatsApp |
| `OPT_IN` optional | boolean | Status persetujuan opt-in marketing |
| `ORDER_COUNT` optional | integer | Jumlah total pesanan yang dibuat |
| `TOTAL_REVENUE` optional | number | Total pendapatan seumur hidup dari kontak |
| `LOYALTY_POINTS` optional | integer | Saldo poin program loyalitas saat ini |

#### Pemetaan atribut kustom

```yaml
field_mapping:
  # Standard fields
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS

  # Marketing fields
  opt_in: OPT_IN
  signup_source: SIGNUP_SOURCE
  preferred_language: LANGUAGE

  # eCommerce metrics
  orders_count: ORDER_COUNT
  total_spent: TOTAL_REVENUE
  last_order_date: LAST_ORDER_DATE

  # Loyalty fields
  loyalty_tier: VIP_TIER
  loyalty_points: LOYALTY_POINTS
```

## Endpoint API

### Endpoint inti

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `POST` | `/v3/smtp/email` | Mengirim email transaksional |
| `POST` | `/v3/transactionalSMS/send` | Mengirim SMS transaksional |
| `POST` | `/v3/whatsapp/sendMessage` | Mengirim WhatsApp transaksional |
| `POST` | `/v3/contacts` | Membuat kontak |
| `PUT` | `/v3/contacts/{email}` | Memperbarui kontak |
| `GET` | `/v3/contacts/{identifier}` | Mengambil detail kontak |
| `POST` | `/v3/contacts/import` | Impor kontak secara massal |

### Endpoint eCommerce

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `POST` | `/v3/orders/status` | Membuat atau memperbarui status pesanan |
| `POST` | `/v3/products` | Membuat atau memperbarui produk |
| `POST` | `/v3/categories` | Membuat atau memperbarui kategori produk |
| `POST` | `/v3/events` | Melacak custom event |

### Endpoint kampanye

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `POST` | `/v3/emailCampaigns` | Membuat kampanye email |
| `POST` | `/v3/emailCampaigns/{id}/sendNow` | Mengirim kampanye seketika |
| `GET` | `/v3/emailCampaigns` | Menampilkan semua kampanye email |
| `GET` | `/v3/smtp/statistics/events` | Mengambil statistik event email |

## Event

### Event transaksional

| Event | Trigger | Kasus penggunaan |
| --- | --- | --- |
| `delivered` | Email terkirim ke inbox | Konfirmasi pengiriman |
| `opened` | Email dibuka oleh penerima | Pelacakan engagement |
| `clicked` | Tautan diklik di dalam email | Pelacakan click-through |
| `bounced` | Email bounce | Higienitas list |
| `spam` | Ditandai sebagai spam | Pemantauan kepatuhan |
| `unsubscribed` | Kontak berhenti berlangganan | Manajemen preferensi |

### Event eCommerce

| Event | Trigger | Kasus penggunaan |
| --- | --- | --- |
| `order_completed` | Pesanan berhasil dibuat | Alur pascapembelian |
| `cart_updated` | Isi keranjang berubah | Pelacakan keranjang terbengkalai |
| `cart_deleted` | Keranjang dikosongkan atau kedaluwarsa | Pemulihan keranjang |
| `product_viewed` | Halaman produk dikunjungi | Browse abandonment |

## Contoh kode

### Inisialisasi konektor

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

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

// Connect Brevo account
await tajo.connectors.connect('brevo', {
  apiKey: process.env.BREVO_API_KEY
});
```

### Kirim email transaksional

```javascript
// Send a transactional email via 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'
  }
});
```

### Sinkronkan kontak

```javascript
// Bulk import contacts to Brevo
await tajo.connectors.sync('brevo', {
  type: 'full',
  resources: ['contacts'],
  options: {
    listIds: [5, 6],
    updateExisting: true,
    emptyContactsAttributes: false
  }
});

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

### Lacak custom event

```javascript
// Track a custom event for a contact
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'
    }
  }
});
```

## Batas rate

Brevo menerapkan batas rate dalam tiga tingkatan berdasarkan paket Anda:

| Endpoint | 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 |
| Semua endpoint lainnya | 100 RPH | 200 RPH | 600 RPH |

Respons batas rate

Ketika Anda melampaui batas rate, API mengembalikan kode status `429 Too Many Requests`. Pantau header batas rate pada respons untuk melacak penggunaan Anda.

## Pemecahan masalah

### Masalah umum

| Masalah | Penyebab | Solusi |
| --- | --- | --- |
| 401 Unauthorized | API key tidak valid | Buat ulang API key di Brevo Settings |
| Kontak tidak dibuat | Field email tidak ada | Pastikan email tersedia untuk semua kontak |
| Email tidak terkirim | Domain pengirim belum terverifikasi | Verifikasi domain di pengaturan Brevo Senders |
| Webhook tidak diterima | URL salah atau error server | Periksa aksesibilitas URL webhook dan log-nya |
| SMS tidak terkirim | Format nomor telepon tidak valid | Gunakan format internasional dengan kode negara |

### Mode debug

Aktifkan logging terperinci:

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

### Uji koneksi

```bash
tajo connectors test brevo
# ✓ API connection successful
# ✓ Contacts API accessible
# ✓ Transactional email ready
# ✓ SMS sending configured
# ✓ Webhooks registered
```

## Praktik terbaik

1. **Rotasi API key** - Rotasikan API key secara berkala demi keamanan
2. **Terapkan verifikasi webhook** - Validasi signature webhook dengan autentikasi username/password
3. **Impor kontak secara batch** - Gunakan impor massal untuk dataset besar alih-alih panggilan API satu per satu
4. **Pantau batas rate** - Periksa header batas rate untuk menghindari error 429
5. **Gunakan pelacakan event** - Terapkan Brevo Tracker untuk data perilaku pelanggan yang menyeluruh
6. **Siapkan autentikasi pengirim yang benar** - Konfigurasikan SPF, DKIM, dan DMARC demi deliverability optimal

## Keamanan

- **Autentikasi API key** - Akses berbasis token rahasia melalui header `api-key`
- **OAuth 2.0** - Akses terdelegasi berbasis token untuk integrasi privat
- **Verifikasi webhook** - Autentikasi username dan password untuk panggilan webhook yang aman
- **Enkripsi TLS** - Semua komunikasi API dienkripsi saat transit
- **Whitelist IP** - Pembatasan IP opsional yang tersedia pada paket Enterprise

## Sumber terkait

- [Dokumentasi API Brevo](https://developers.brevo.com/docs/getting-started)
- [Panduan Autentikasi Brevo](https://developers.brevo.com/docs/authentication-schemes)
- [Batas Rate Brevo](https://developers.brevo.com/docs/api-limits)
- [Konektor Shopify](https://tajo.io/in/docs/connectors/ecommerce/shopify)
- [Skill Customer Sync](https://tajo.io/in/docs/skills/data-sync/customer-sync)
- [API Kontak Brevo](https://tajo.io/in/docs/contact-management)
