Iterable Connector

เชื่อมต่อ Iterable growth marketing platform ของคุณกับ Brevo เพื่อ customer engagement ที่รวมกัน การประสานงานแคมเปญข้ามช่องทาง และ analytics ที่รวมศูนย์ครอบคลุม marketing tools ทั้งหมด

ภาพรวม

คุณสมบัติค่า
แพลตฟอร์มIterable
หมวดหมู่การตลาด
ความซับซ้อนในการตั้งค่าปานกลาง
การผสานรวมอย่างเป็นทางการไม่
ข้อมูลที่ซิงค์ผู้ใช้ เหตุการณ์ แคมเปญ แคตาล็อก
ประเภท APIREST API
การยืนยันตัวตนAPI Key
Base URLhttps://api.iterable.com/api/

ฟีเจอร์

  • การซิงค์โปรไฟล์ผู้ใช้ - การซิงค์ข้อมูลผู้ใช้แบบ bidirectional กับ Brevo contacts
  • Campaign analytics - ซิงค์ metrics การส่ง การเปิด และการคลิกแคมเปญสำหรับรายงานที่รวมกัน
  • ข้อมูลการทดลอง - ติดตามผลการทดสอบ A/B และตัวแปรที่ชนะ
  • การซิงค์แคตาล็อก - ซิงค์แคตาล็อกสินค้าและเนื้อหาข้ามแพลตฟอร์ม
  • เหตุการณ์ Workflow - ส่งต่อเหตุการณ์ trigger และการเสร็จสิ้น workflow ไปยัง Brevo
  • การซิงค์ channel preference - จำลองการตั้งค่าการสื่อสารของผู้ใช้ใน Brevo

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

  1. บัญชี Iterable ที่เปิดใช้งาน API access
  2. Iterable API key ที่มีสิทธิ์ที่เหมาะสม
  3. Iterable project ID ของคุณ
  4. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
  5. บัญชี Tajo ที่มีการสมัครสมาชิกที่ใช้งานอยู่

การยืนยันตัวตน

Iterable ใช้การยืนยันตัวตนด้วย API key ที่ส่งในส่วนหัวของคำขอ

การสร้าง API Key

  1. เข้าสู่ระบบ Iterable dashboard ของคุณ
  2. ไปที่ Integrations > API Keys
  3. คลิก New API Key
  4. ตั้งชื่อว่า “Tajo Integration”
  5. เลือกประเภท key Server-side
  6. ให้สิทธิ์ต่อไปนี้:
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

ประเภท Key สำคัญ

ใช้ API key แบบ Server-side เสมอสำหรับการผสานรวม Tajo Keys แบบ Mobile และ JavaScript-side มีสิทธิ์จำกัดและไม่สามารถเข้าถึง endpoints ที่จำเป็นทั้งหมดได้

การเชื่อมต่อกับ Tajo

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

การกำหนดค่า

การตั้งค่าพื้นฐาน

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

การแมปฟิลด์

แมปฟิลด์ผู้ใช้ Iterable กับแอตทริบิวต์ผู้ติดต่อ 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

การกำหนดค่าเหตุการณ์

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

API Endpoints

Tajo ผสานรวมกับ Iterable API endpoints ต่อไปนี้:

Endpointเมธอดจุดประสงค์
/users/updatePOSTอัปเดตโปรไฟล์ผู้ใช้
/users/{email}GETดึงผู้ใช้ด้วยอีเมล
/users/bulkUpdatePOSTอัปเดตผู้ใช้เป็น batch
/events/trackPOSTติดตาม custom events
/events/trackBulkPOSTติดตามเหตุการณ์เป็น batch
/campaignsGETแสดงรายการแคมเปญทั้งหมด
/campaigns/metricsGETข้อมูลประสิทธิภาพแคมเปญ
/experiments/metricsGETผลการทดลอง
/listsGETแสดงรายการ user lists ทั้งหมด
/lists/subscribePOSTเพิ่มผู้ใช้ในรายการ
/lists/unsubscribePOSTลบผู้ใช้ออกจากรายการ
/catalogs/{catalogName}/itemsGETดึงรายการแคตาล็อก
/channelsGETแสดงรายการ messaging channels
/export/data.jsonGETส่งออกข้อมูลเหตุการณ์แบบ raw

ตัวอย่างโค้ด

เริ่มต้น Connector

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
});

ซิงค์ผู้ใช้

// 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
// }

ติดตามเหตุการณ์

// 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
}
}
});

ตัวจัดการ 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');
});

ขีดจำกัดอัตรา

Iterable บังคับใช้ rate limits ตามแผนของคุณ:

แผนขีดจำกัดอัตราขีดจำกัด Bulk Endpoint
Growth500 คำขอ/วินาที500 คำขอ/วินาที
Enterpriseกำหนดเองกำหนดเอง

ขีดจำกัดเฉพาะ endpoint:

Endpointขีดจำกัด
/users/update500 req/s
/users/bulkUpdate500 req/s (1,000 ผู้ใช้ต่อคำขอ)
/events/track500 req/s
/events/trackBulk500 req/s (8,000 เหตุการณ์ต่อคำขอ)
/export/data.json4 concurrent requests

Bulk Endpoints

Tajo จัดกลุ่มการอัปเดตผู้ใช้โดยอัตโนมัติ (สูงสุด 1,000 ต่อการเรียก) และการติดตามเหตุการณ์ (สูงสุด 8,000 ต่อการเรียก) เพื่อเพิ่ม throughput สูงสุดภายใน rate limits

การแก้ไขปัญหา

ปัญหาทั่วไป

ปัญหาสาเหตุวิธีแก้
401 UnauthorizedAPI key ไม่ถูกต้องตรวจสอบ key ใน Iterable > Integrations > API Keys
ผู้ใช้ไม่ซิงค์ประเภท key ไม่ตรงกันตรวจสอบว่าใช้ Server-side API key
ข้อมูลแคมเปญหายไปสิทธิ์ไม่เพียงพอเพิ่มสิทธิ์ Campaigns Read ให้ API key
Export timeoutปริมาณข้อมูลมากใช้ตัวกรองช่วงวันที่เพื่อลดขนาด export
ผู้ใช้ซ้ำกันIdentifiers ไม่สอดคล้องกันใช้อีเมลเป็น primary identifier อย่างสม่ำเสมอ

โหมด Debug

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

ทดสอบการเชื่อมต่อ

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

แนวทางปฏิบัติที่ดีที่สุด

  1. ใช้ bulk endpoints - ชอบ bulkUpdate และ trackBulk เสมอสำหรับข้อมูลจำนวนมาก
  2. Deduplicate ด้วยอีเมล - ใช้อีเมลเป็น identifier ที่สอดคล้องกันทั้ง Iterable และ Brevo
  3. ซิงค์แบบ incremental - ใช้ช่วงวันที่เพื่อหลีกเลี่ยงการประมวลผลข้อมูลย้อนหลังซ้ำ
  4. แมป channel preferences - ซิงค์สถานะ opt-in/opt-out เพื่อรักษาความสอดคล้อง
  5. ตรวจสอบ export jobs - Exports ขนาดใหญ่อาจใช้เวลา; ตั้งค่าการ polling สถานะ
  6. ทดสอบกับ non-production project - ตรวจสอบ mappings ก่อนซิงค์ข้อมูล production

ความปลอดภัย

  • การยืนยันตัวตนด้วย API Key - Server-side keys พร้อมสิทธิ์แบบละเอียด
  • HTTPS เท่านั้น - การสื่อสาร API ทั้งหมดเข้ารหัสผ่าน TLS 1.2+
  • Key Rotation - รองรับ API keys ที่ใช้งานได้หลายตัวระหว่างการหมุนเวียน
  • การจัดเก็บที่เข้ารหัส - ข้อมูลประจำตัว API เข้ารหัสที่เก็บใน Tajo
  • JWT Webhooks - Webhook payloads ลงนามด้วย JWT สำหรับการตรวจสอบ

แหล่งข้อมูลที่เกี่ยวข้อง

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย