---
title: "Konektor ActiveCampaign"
description: "Panduan integrasi ActiveCampaign lengkap untuk menyinkronkan kontak, deal, otomatisasi, dan event engagement dengan Brevo melalui Tajo."
url: https://tajo.io/in/docs/connectors/marketing/activecampaign/
markdown: https://tajo.io/in/docs/connectors/marketing/activecampaign.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 ActiveCampaign

Status konektor: Direncanakan Belum dibangun. Tajo belum menjalankan konektor 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 ActiveCampaign Anda ke Brevo melalui Tajo untuk migrasi kontak menyeluruh, sinkronisasi pipeline deal, pemetaan otomatisasi, dan data marketing terpadu di kedua platform.

## Ikhtisar

| Properti | Nilai |
| --- | --- |
| **Platform** | ActiveCampaign |
| **Kategori** | Marketing |
| **Kompleksitas setup** | Sedang |
| **Integrasi resmi** | Tidak |
| **Data yang disinkronkan** | Kontak, Deal, Otomatisasi, Event |
| **URL dasar API** | `https://{account}.api-us1.com/api/3` |

## Fitur

- **Migrasi kontak** - Migrasikan kontak beserta custom field, tag, dan keanggotaan list
- **Sinkronisasi pipeline deal** - Sinkronkan tahap deal, nilai, dan pemilik untuk pelacakan pendapatan
- **Pemetaan otomatisasi** - Petakan otomatisasi ActiveCampaign ke trigger alur kerja Brevo
- **Pelacakan event** - Sinkronkan site tracking dan custom event untuk segmentasi berbasis perilaku
- **Sinkronisasi list dan tag** - Replikasikan struktur list dan segmen berbasis tag di Brevo
- **Integrasi e-commerce** - Sinkronkan Deep Data (pesanan, pelanggan, keranjang) ke Brevo
- **Sinkronisasi custom object** - Petakan custom object ActiveCampaign ke atribut Brevo
- **Sinkronisasi skor** - Transfer skor lead dan kontak ke atribut Brevo

## Prasyarat

Sebelum memulai, pastikan Anda memiliki:

1. Akun ActiveCampaign (Lite, Plus, Professional, atau Enterprise)
2. API URL dan API key dari Settings > Developer
3. Akun Brevo dengan akses API
4. Akun Tajo

## Autentikasi

### Autentikasi API key

ActiveCampaign menggunakan API key yang dikirim sebagai header atau parameter query.

```bash
curl "https://{account}.api-us1.com/api/3/contacts" \
  -H "Api-Token: YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

Temukan API URL dan key Anda di ActiveCampaign Settings > Developer.

API URL

API URL Anda bersifat unik untuk setiap akun (misalnya `https://yourcompany.api-us1.com`). Selalu gunakan URL ini, bukan URL dashboard.

## Konfigurasi

### Setup dasar

```yaml
connectors:
  activecampaign:
    enabled: true
    api_url: "https://yourcompany.api-us1.com"
    api_key: "${AC_API_KEY}"

    # Data sync options
    sync:
      contacts: true
      deals: true
      automations: true
      events: true
      ecommerce: true

    # List mapping to Brevo
    list_mapping:
      "Main List": 50
      "Newsletter": 51
      "Customers": 52
```

### Pemetaan field

Petakan field ActiveCampaign ke atribut kontak Brevo:

#### Pemetaan default

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Email kontak (identifier unik) |
| `firstName` optional | string | Dipetakan ke atribut FIRSTNAME |
| `lastName` optional | string | Dipetakan ke atribut LASTNAME |
| `phone` optional | string | Dipetakan ke atribut SMS |
| `tags` optional | array | Tag kontak untuk segmentasi |
| `score` optional | integer | Skor engagement kontak |
| `deals` optional | array | Record deal yang terkait |
| `fieldValues` optional | array | Nilai custom field |

#### Pemetaan custom field

```yaml
field_mapping:
  # Standard fields
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phone: SMS

  # Engagement fields
  score: LEAD_SCORE
  rating: ENGAGEMENT_RATING

  # Deal fields
  deals.value: DEAL_VALUE
  deals.stage: DEAL_STAGE
  deals.owner: DEAL_OWNER

  # Custom fields
  fieldValues.company: COMPANY_NAME
  fieldValues.industry: INDUSTRY
  fieldValues.plan_tier: PLAN_TIER
```

## Endpoint API

### Kontak

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/api/3/contacts` | Menampilkan semua kontak |
| `POST` | `/api/3/contacts` | Membuat kontak |
| `PUT` | `/api/3/contacts/{id}` | Memperbarui kontak |
| `GET` | `/api/3/contacts/{id}` | Mengambil satu kontak |
| `POST` | `/api/3/contact/sync` | Menyinkronkan kontak (buat atau perbarui) |
| `POST` | `/api/3/import/bulk_import` | Impor kontak secara massal |

### Deal

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/api/3/deals` | Menampilkan semua deal |
| `POST` | `/api/3/deals` | Membuat deal |
| `PUT` | `/api/3/deals/{id}` | Memperbarui deal |
| `GET` | `/api/3/dealStages` | Menampilkan semua tahap deal |
| `GET` | `/api/3/dealPipelines` | Menampilkan semua pipeline |

### Otomatisasi

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/api/3/automations` | Menampilkan daftar otomatisasi |
| `GET` | `/api/3/automations/{id}` | Mengambil satu otomatisasi |
| `POST` | `/api/3/contactAutomations` | Menambahkan kontak ke otomatisasi |

### E-commerce (Deep Data)

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `POST` | `/api/3/ecomOrders` | Membuat pesanan |
| `GET` | `/api/3/ecomOrders` | Menampilkan daftar pesanan |
| `POST` | `/api/3/ecomCustomers` | Membuat pelanggan |
| `GET` | `/api/3/ecomCustomers` | Menampilkan daftar pelanggan |

### Pelacakan event

| Metode | Endpoint | Deskripsi |
| --- | --- | --- |
| `POST` | `/api/3/tracking/event` | Melacak custom event |
| `GET` | `/api/3/eventTrackingEvents` | Menampilkan semua nama event |
| `POST` | `/api/3/eventTrackingEvents` | Membuat nama event |

## Event

### Event kontak

| Event | Trigger | Kasus penggunaan |
| --- | --- | --- |
| `contact_add` | Kontak baru dibuat | Alur sambutan |
| `contact_update` | Data kontak berubah | Sinkronisasi atribut |
| `contact_tag_added` | Tag ditetapkan | Pembaruan segmen |
| `contact_tag_removed` | Tag dihapus | Pembersihan segmen |

### Event deal

| Event | Trigger | Kasus penggunaan |
| --- | --- | --- |
| `deal_add` | Deal baru dibuat | Notifikasi penjualan |
| `deal_update` | Tahap deal berubah | Otomatisasi pipeline |
| `deal_tasktype_add` | Tugas ditambahkan ke deal | Pelacakan aktivitas |

### Event otomatisasi

| Event | Trigger | Kasus penggunaan |
| --- | --- | --- |
| `automation_contact_add` | Kontak masuk ke otomatisasi | Pelacakan alur |
| `automation_contact_complete` | Kontak menyelesaikan otomatisasi | Trigger langkah berikutnya |

## 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 ActiveCampaign
await tajo.connectors.connect('activecampaign', {
  apiUrl: process.env.AC_API_URL,
  apiKey: process.env.AC_API_KEY
});
```

### Migrasikan kontak ke Brevo

```javascript
// Full contact migration with custom fields and tags
await tajo.connectors.sync('activecampaign', {
  type: 'full',
  resources: ['contacts', 'deals', 'events'],
  options: {
    includeTags: true,
    includeCustomFields: true,
    includeScores: true,
    includeListMemberships: true
  }
});

// Check sync status
const status = await tajo.connectors.status('activecampaign');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsMigrated: 28000,
//   dealsSynced: 4500,
//   eventsSynced: 120000
// }
```

### Lacak custom event

```javascript
// Forward ActiveCampaign events to Brevo
await tajo.activecampaign.trackEvent({
  email: 'customer@example.com',
  event: 'product_demo_requested',
  eventData: {
    product: 'Enterprise Plan',
    source: 'website'
  }
});
```

## Batas rate

Batas rate API ActiveCampaign:

| Paket | Batas rate | Detail |
| --- | --- | --- |
| Lite | 5 permintaan/detik | Per akun |
| Plus | 10 permintaan/detik | Per akun |
| Professional | 10 permintaan/detik | Per akun |
| Enterprise | 20 permintaan/detik | Per akun |

Batas tambahan:

- **Impor massal**: 250 kontak per batch
- **Frekuensi impor massal**: 1 impor pada satu waktu
- **Pelacakan event**: 2 permintaan/detik
- **Batas harian**: Tidak ada batas harian eksplisit (hanya berbasis rate)

Penanganan batas rate

ActiveCampaign mengembalikan `429 Too Many Requests` ketika batas terlampaui. Terapkan logika retry menggunakan nilai header `Retry-After`.

## Pemecahan masalah

### Masalah umum

| Masalah | Penyebab | Solusi |
| --- | --- | --- |
| 403 Forbidden | API key atau URL tidak valid | Verifikasi API URL dan key di AC Settings > Developer |
| Kontak tidak tersinkronisasi | Penanganan email duplikat | Gunakan endpoint `/contact/sync` untuk perilaku upsert |
| Custom field kosong | Field ID tidak cocok | Petakan field berdasarkan ID, bukan label (label bisa berubah) |
| Webhook tidak diterima | Webhook belum dikonfigurasi | Siapkan webhook di AC Settings > Developer > Webhooks |
| Deal tidak dibuat | Field wajib tidak lengkap | Pastikan pipeline, tahap, dan kontak tersedia |

### Mode debug

Aktifkan logging terperinci:

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

### Uji koneksi

```bash
tajo connectors test activecampaign
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Deals readable
# ✓ Automations accessible
# ✓ Event tracking enabled
```

## Praktik terbaik

1. **Gunakan endpoint contact sync** - Gunakan `/contact/sync` untuk operasi upsert alih-alih create/update terpisah
2. **Petakan field berdasarkan ID** - ID custom field bersifat stabil; label bisa berubah
3. **Pertahankan keanggotaan list** - Migrasikan penetapan list bersama data kontak
4. **Sinkronkan pipeline deal** - Petakan tahap pipeline agar pelaporan CRM konsisten
5. **Terapkan pelacakan event** - Gunakan site tracking untuk data perilaku di Brevo
6. **Impor secara batch** - Gunakan impor massal untuk dataset lebih besar dari 1.000 kontak

## Keamanan

- **Autentikasi API key** - Akses berbasis token melalui header `Api-Token`
- **Verifikasi webhook** - Validasi rentang IP sumber webhook
- **Enkripsi TLS** - Semua komunikasi API dienkripsi melalui HTTPS
- **Akses tingkat akun** - API key memberikan akses penuh ke akun; gunakan dengan hati-hati
- **Pembatasan IP** - Tersedia pada paket Enterprise

## Sumber terkait

- [Dokumentasi API ActiveCampaign](https://developers.activecampaign.com/reference/overview)
- [Panduan Webhook ActiveCampaign](https://developers.activecampaign.com/page/webhooks)
- [Konektor Mailchimp](https://tajo.io/in/docs/connectors/marketing/mailchimp)
- [Konektor Brevo](https://tajo.io/in/docs/connectors/marketing/brevo)
- [Skill Customer Sync](https://tajo.io/in/docs/skills/data-sync/customer-sync)
