Konektor ActiveCampaign
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 | Ya |
| 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:
- Akun ActiveCampaign (Lite, Plus, Professional, atau Enterprise)
- API URL dan API key dari Settings > Developer
- Akun Brevo dengan akses API
- Akun Tajo
Autentikasi
Autentikasi API key
ActiveCampaign menggunakan API key yang dikirim sebagai header atau parameter query.
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
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": 52Pemetaan 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
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_TIEREndpoint 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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect ActiveCampaignawait tajo.connectors.connect('activecampaign', { apiUrl: process.env.AC_API_URL, apiKey: process.env.AC_API_KEY});Migrasikan kontak ke Brevo
// Full contact migration with custom fields and tagsawait tajo.connectors.sync('activecampaign', { type: 'full', resources: ['contacts', 'deals', 'events'], options: { includeTags: true, includeCustomFields: true, includeScores: true, includeListMemberships: true }});
// Check sync statusconst 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
// Forward ActiveCampaign events to Brevoawait tajo.activecampaign.trackEvent({ 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:
connectors: activecampaign: debug: true log_level: verbose log_webhooks: trueUji koneksi
tajo connectors test activecampaign# ✓ API connection successful# ✓ Contacts readable# ✓ Deals readable# ✓ Automations accessible# ✓ Event tracking enabledPraktik terbaik
- Gunakan endpoint contact sync - Gunakan
/contact/syncuntuk operasi upsert alih-alih create/update terpisah - Petakan field berdasarkan ID - ID custom field bersifat stabil; label bisa berubah
- Pertahankan keanggotaan list - Migrasikan penetapan list bersama data kontak
- Sinkronkan pipeline deal - Petakan tahap pipeline agar pelaporan CRM konsisten
- Terapkan pelacakan event - Gunakan site tracking untuk data perilaku di Brevo
- 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