Trình Kết Nối Iterable
Kết nối nền tảng growth marketing Iterable của bạn với Brevo để hợp nhất customer engagement, phối hợp campaigns đa kênh và hợp nhất analytics trên các công cụ marketing.
Tổng Quan
| Thuộc Tính | Giá Trị |
|---|---|
| Nền Tảng | Iterable |
| Danh Mục | Marketing |
| Độ Phức Tạp Thiết Lập | Trung Bình |
| Tích Hợp Chính Thức | Không |
| Dữ Liệu Đồng Bộ | Users, Sự Kiện, Campaigns, Catalogs |
| Loại API | REST API |
| Xác Thực | API Key |
| URL Cơ Sở | https://api.iterable.com/api/ |
Tính Năng
- Đồng bộ user profile - Đồng bộ dữ liệu người dùng hai chiều với contacts Brevo
- Campaign analytics - Đồng bộ số liệu send, open và click cho báo cáo hợp nhất
- Dữ liệu experiment - Theo dõi kết quả A/B test và winning variants
- Đồng bộ catalog - Đồng bộ product và content catalogs giữa các nền tảng
- Workflow events - Forward workflow trigger và completion events sang Brevo
- Đồng bộ channel preference - Sao chép user communication preferences trong Brevo
Yêu Cầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Tài khoản Iterable với quyền truy cập API
- Iterable API key với quyền phù hợp
- Project ID Iterable của bạn
- Tài khoản Brevo với quyền truy cập API
- Tài khoản Tajo với subscription hoạt động
Xác Thực
Iterable sử dụng API key authentication được truyền trong request header.
Tạo API Key
- Đăng nhập vào Iterable dashboard
- Điều hướng đến Integrations > API Keys
- Nhấp New API Key
- Đặt tên là “Tajo Integration”
- Chọn loại key Server-side
- Cấp các quyền sau:
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: ReadLoại Key Quan Trọng
Luôn sử dụng API key loại Server-side cho tích hợp Tajo. Keys Mobile và JavaScript-side có quyền hạn chế và không thể truy cập tất cả endpoints cần thiết.
Kết Nối với Tajo
tajo connectors install iterable \ --api-key $ITERABLE_API_KEYCấu Hình
Thiết Lập Cơ Bản
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Ánh Xạ Trường
Ánh xạ trường người dùng Iterable sang thuộc tính liên hệ Brevo:
field_mapping: # Trường tiêu chuẩn userId: ITERABLE_ID email: email firstName: FIRSTNAME lastName: LASTNAME phoneNumber: SMS
# Dữ liệu tương tác signupDate: SIGNUP_DATE totalPurchases: TOTAL_PURCHASES lastPurchaseDate: LAST_PURCHASE
# Trường tùy chỉnh plan_name: PLAN_NAME company_size: COMPANY_SIZE preferred_channel: PREFERRED_CHANNEL lifecycle_stage: LIFECYCLE_STAGECấu Hình Sự Kiện
event_mapping: # Iterable event -> Brevo event purchase: ORDER_PLACED addToCart: CART_UPDATED pageView: PAGE_VIEWED appOpen: APP_OPENED pushOpen: PUSH_ENGAGEDAPI Endpoints
Tajo tích hợp với các Iterable API endpoints sau:
| Endpoint | Phương Thức | Mục Đích |
|---|---|---|
/users/update | POST | Cập nhật user profiles |
/users/{email} | GET | Lấy user theo email |
/users/bulkUpdate | POST | Cập nhật users theo lô |
/events/track | POST | Track custom events |
/events/trackBulk | POST | Track events theo lô |
/campaigns | GET | Liệt kê tất cả campaigns |
/campaigns/metrics | GET | Dữ liệu hiệu suất campaign |
/experiments/metrics | GET | Kết quả experiment |
/lists | GET | Liệt kê tất cả user lists |
/lists/subscribe | POST | Thêm users vào list |
/lists/unsubscribe | POST | Xóa users khỏi list |
/catalogs/{catalogName}/items | GET | Lấy catalog items |
/channels | GET | Liệt kê messaging channels |
/export/data.json | GET | Export raw event data |
Ví Dụ Code
Khởi Tạo Trình Kết Nối
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});Đồng Bộ Users
// Đồng bộ tăng dần users từ Iterable sang Brevoawait 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// }Theo Dõi Sự Kiện
// Forward Iterable events sang Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});Xử Lý Webhook
// Xử lý Iterable system webhooksapp.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');});Giới Hạn Tốc Độ
Iterable áp dụng giới hạn tốc độ dựa trên gói của bạn:
| Gói | Giới Hạn Tốc Độ | Giới Hạn Bulk Endpoint |
|---|---|---|
| Growth | 500 yêu cầu/giây | 500 yêu cầu/giây |
| Enterprise | Tùy chỉnh | Tùy chỉnh |
Giới hạn endpoint cụ thể:
| Endpoint | Giới Hạn |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1.000 users mỗi request) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (8.000 events mỗi request) |
/export/data.json | 4 requests đồng thời |
Bulk Endpoints
Tajo tự động nhóm user updates (tới 1.000 mỗi lần gọi) và event tracks (tới 8.000 mỗi lần gọi) để tối đa hóa thông lượng trong khi duy trì trong giới hạn tốc độ.
Khắc Phục Sự Cố
Sự Cố Phổ Biến
| Sự Cố | Nguyên Nhân | Giải Pháp |
|---|---|---|
| 401 Unauthorized | API key không hợp lệ | Xác minh key trong Iterable > Integrations > API Keys |
| Users không đồng bộ | Loại key không khớp | Đảm bảo dùng Server-side API key |
| Thiếu campaign data | Quyền không đủ | Thêm quyền Campaigns Read vào API key |
| Export timeout | Khối lượng dữ liệu lớn | Sử dụng date range filters để giảm kích thước export |
| Users trùng lặp | Định danh không nhất quán | Sử dụng email như định danh chính thức nhất quán |
Chế Độ Debug
connectors: iterable: debug: true log_level: verbose log_api_calls: trueKiểm Tra Kết Nối
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableThực Hành Tốt Nhất
- Sử dụng bulk endpoints - Luôn ưu tiên
bulkUpdatevàtrackBulkcho khối lượng dữ liệu lớn - Deduplicate theo email - Sử dụng email như định danh nhất quán giữa Iterable và Brevo
- Đồng bộ tăng dần - Sử dụng date ranges để tránh xử lý lại dữ liệu lịch sử
- Ánh xạ channel preferences - Đồng bộ trạng thái opt-in/opt-out để duy trì tuân thủ
- Theo dõi export jobs - Exports lớn có thể mất thời gian; thiết lập status polling
- Kiểm tra với non-production project - Xác thực mappings trước khi đồng bộ production data
Bảo Mật
- Xác thực API Key - Server-side keys với quyền chi tiết
- Chỉ HTTPS - Tất cả giao tiếp API được mã hóa qua TLS 1.2+
- Key Rotation - Hỗ trợ nhiều API keys hoạt động đồng thời trong quá trình rotation
- Lưu trữ mã hóa - API credentials được mã hóa lúc nghỉ trong Tajo
- JWT Webhooks - Webhook payloads được ký bằng JWT để xác minh