Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Konektor Iterable

Hubungkan platform growth marketing Iterable Anda ke Brevo untuk keterlibatan pelanggan yang terpadu, koordinasi kampanye lintas kanal, dan analitik yang terkonsolidasi di seluruh perangkat marketing.

Ikhtisar

PropertiNilai
PlatformIterable
KategoriMarketing
Kompleksitas setupSedang
Integrasi resmiTidak
Data yang disinkronkanPengguna, event, kampanye, katalog
Tipe APIREST API
AutentikasiAPI key
Base URLhttps://api.iterable.com/api/

Fitur

  • Sinkronisasi profil pengguna - Sinkronisasi data pengguna dua arah dengan kontak Brevo
  • Analitik kampanye - Sinkronkan metrik pengiriman, open, dan klik kampanye untuk pelaporan terpadu
  • Data eksperimen - Lacak hasil A/B test dan varian pemenang
  • Sinkronisasi katalog - Selaraskan katalog produk dan konten antarplatform
  • Event workflow - Teruskan event pemicu dan penyelesaian workflow ke Brevo
  • Sinkronisasi preferensi kanal - Replikasi preferensi komunikasi pengguna di Brevo

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  1. Akun Iterable dengan akses API
  2. API key Iterable dengan izin yang sesuai
  3. Project ID Iterable Anda
  4. Akun Brevo dengan akses API
  5. Akun Tajo dengan langganan aktif

Autentikasi

Iterable menggunakan autentikasi API key yang dikirim pada header permintaan.

Membuat API key

  1. Masuk ke dashboard Iterable Anda
  2. Buka Integrations > API Keys
  3. Klik New API Key
  4. Beri nama “Tajo Integration”
  5. Pilih tipe key Server-side
  6. Berikan izin berikut:
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

Tipe key menentukan

Selalu gunakan API key Server-side untuk integrasi Tajo. Key sisi mobile dan JavaScript memiliki izin terbatas dan tidak dapat mengakses seluruh endpoint yang dibutuhkan.

Menghubungkan ke Tajo

Terminal window
tajo connectors install iterable \
--api-key $ITERABLE_API_KEY

Konfigurasi

Setup dasar

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

Pemetaan field

Petakan field pengguna Iterable ke atribut kontak Brevo:

field_mapping:
# Standard fields
userId: ITERABLE_ID
email: email
firstName: FIRSTNAME
lastName: LASTNAME
phoneNumber: SMS
# Engagement data
signupDate: SIGNUP_DATE
totalPurchases: TOTAL_PURCHASES
lastPurchaseDate: LAST_PURCHASE
# Custom fields
plan_name: PLAN_NAME
company_size: COMPANY_SIZE
preferred_channel: PREFERRED_CHANNEL
lifecycle_stage: LIFECYCLE_STAGE

Konfigurasi event

event_mapping:
# Iterable event -> Brevo event
purchase: ORDER_PLACED
addToCart: CART_UPDATED
pageView: PAGE_VIEWED
appOpen: APP_OPENED
pushOpen: PUSH_ENGAGED

Endpoint API

Tajo terintegrasi dengan endpoint API Iterable berikut:

EndpointMethodTujuan
/users/updatePOSTMemperbarui profil pengguna
/users/{email}GETMengambil pengguna berdasarkan email
/users/bulkUpdatePOSTMemperbarui pengguna secara batch
/events/trackPOSTMelacak event kustom
/events/trackBulkPOSTMelacak event secara batch
/campaignsGETMenampilkan seluruh kampanye
/campaigns/metricsGETData performa kampanye
/experiments/metricsGETHasil eksperimen
/listsGETMenampilkan seluruh daftar pengguna
/lists/subscribePOSTMenambahkan pengguna ke sebuah daftar
/lists/unsubscribePOSTMenghapus pengguna dari sebuah daftar
/catalogs/{catalogName}/itemsGETMengambil item katalog
/channelsGETMenampilkan kanal pesan
/export/data.jsonGETMengekspor data event mentah

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
});
await tajo.connectors.connect('iterable', {
apiKey: process.env.ITERABLE_API_KEY
});

Sinkronisasi pengguna

// Incremental user sync from Iterable to 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
// }

Melacak event

// Forward Iterable events to Brevo
await tajo.connectors.handleEvent('iterable', {
type: 'custom_event',
payload: {
eventName: 'subscription_upgraded',
dataFields: {
previousPlan: 'starter',
newPlan: 'pro',
mrr: 99.00
}
}
});

Handler webhook

// Handle Iterable system webhooks
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');
});

Batas rate

Iterable menerapkan batas rate berdasarkan paket Anda:

PaketBatas rateBatas endpoint bulk
Growth500 permintaan/detik500 permintaan/detik
EnterpriseKustomKustom

Batas untuk endpoint tertentu:

EndpointBatas
/users/update500 req/dtk
/users/bulkUpdate500 req/dtk (1.000 pengguna per permintaan)
/events/track500 req/dtk
/events/trackBulk500 req/dtk (8.000 event per permintaan)
/export/data.json4 permintaan bersamaan

Endpoint bulk

Tajo otomatis mengelompokkan pembaruan pengguna (hingga 1.000 per panggilan) dan pelacakan event (hingga 8.000 per panggilan) untuk memaksimalkan throughput sekaligus tetap berada dalam batas rate.

Pemecahan masalah

Masalah umum

MasalahPenyebabSolusi
401 UnauthorizedAPI key tidak validPeriksa key di Iterable > Integrations > API Keys
Pengguna tidak tersinkronTipe key tidak sesuaiPastikan Anda memakai API key Server-side
Data kampanye hilangIzin tidak mencukupiTambahkan izin Campaigns Read pada API key
Ekspor timeoutVolume data besarGunakan filter rentang tanggal untuk memperkecil ukuran ekspor
Pengguna duplikatIdentifier tidak konsistenGunakan email sebagai identifier utama secara konsisten

Mode debug

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

Menguji koneksi

Terminal window
tajo connectors test iterable
# ✓ API connection successful
# ✓ User data accessible
# ✓ Campaign list readable
# ✓ Event tracking operational
# ✓ List management available

Praktik terbaik

  1. Gunakan endpoint bulk - Selalu utamakan bulkUpdate dan trackBulk untuk volume data besar
  2. Deduplikasi berdasarkan email - Gunakan email sebagai identifier yang konsisten di Iterable dan Brevo
  3. Sinkronkan secara inkremental - Gunakan rentang tanggal agar data historis tidak diproses ulang
  4. Petakan preferensi kanal - Sinkronkan status opt-in/opt-out untuk menjaga kepatuhan
  5. Pantau job ekspor - Ekspor besar bisa memakan waktu, siapkan polling status
  6. Uji dengan project non-produksi - Validasi pemetaan sebelum menyinkronkan data produksi

Keamanan

  • Autentikasi API key - Key server-side dengan izin granular
  • Hanya HTTPS - Seluruh komunikasi API dienkripsi melalui TLS 1.2+
  • Rotasi key - Mendukung beberapa API key aktif selama rotasi
  • Penyimpanan terenkripsi - Kredensial API dienkripsi saat disimpan di Tajo
  • Webhook JWT - Payload webhook ditandatangani dengan JWT untuk verifikasi

Sumber daya terkait

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.