Trình Kết Nối Brevo
Trình Kết Nối Brevo
Kết nối tài khoản Brevo của bạn với Tajo để quản lý contacts hợp nhất, gửi tin nhắn giao dịch qua email, SMS và WhatsApp, và marketing automation toàn diện.
Tổng Quan
| Thuộc Tính | Giá Trị |
|---|---|
| Nền Tảng | Brevo |
| Danh Mục | Marketing |
| Độ Phức Tạp Thiết Lập | Dễ |
| Tích Hợp Chính Thức | Có |
| Dữ Liệu Đồng Bộ | Contacts, Campaigns, Transactional Messages, Sự Kiện, eCommerce |
| URL API Cơ Sở | https://api.brevo.com/v3 |
Tính Năng
- Tin nhắn đa kênh - Gửi email giao dịch, SMS và WhatsApp từ một API hợp nhất
- Quản lý contacts - Tạo, cập nhật và phân đoạn contacts với thuộc tính tùy chỉnh
- Marketing campaigns - Tạo và gửi email campaigns theo chương trình
- Theo dõi sự kiện - Theo dõi custom events và hoạt động website qua Brevo Tracker
- Đồng bộ eCommerce - Đồng bộ products, orders và cart data cho campaigns cá nhân hóa
- Loyalty programs - Quản lý loyalty subscriptions, points và member data
- Webhook support - Thông báo sự kiện theo thời gian thực cho transactional, marketing và CRM events
- Conversations - Tích hợp live chat widget và quản lý messages theo chương trình
Yêu Cầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Tài khoản Brevo (Free, Starter, Business, hoặc Enterprise)
- API key được tạo từ Brevo Settings > API Keys
- Tài khoản Tajo với quyền truy cập API
- Domain gửi email đã xác minh
Xác Thực
Brevo hỗ trợ hai phương thức xác thực:
Xác Thực API Key (Khuyến Nghị)
Bao gồm API key trong header api-key với mỗi request. Tốt nhất cho tích hợp trực tiếp và giao tiếp server-to-server.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"Xác Thực OAuth 2.0
Sử dụng OAuth 2.0 cho tích hợp riêng tư trong tổ chức yêu cầu quyền truy cập ủy quyền và quyền hạn theo người dùng. OAuth cung cấp hệ thống token với thời gian hiệu lực xác định.
Khả Năng Sử Dụng OAuth
OAuth hiện chỉ khả dụng cho các tích hợp riêng tư trong một tổ chức. Tích hợp OAuth không được thiết kế để phân phối công khai hoặc liệt kê trên marketplace.
Cấu Hình
Thiết Lập Cơ Bản
connectors: brevo: enabled: true api_key: "${BREVO_API_KEY}" api_version: "v3"
# Tùy chọn đồng bộ dữ liệu sync: contacts: true campaigns: true transactional: true events: true ecommerce: true
# Gán danh sách lists: all_customers: 5 newsletter: 6 buyers: 7Ánh Xạ Trường
Ánh xạ trường dữ liệu sang thuộc tính liên hệ Brevo:
Ánh Xạ Mặc Định
| Parameter | Type | Description |
|---|---|---|
email required | string | Địa chỉ email liên hệ (định danh duy nhất) |
FIRSTNAME optional | string | Thuộc tính tên liên hệ |
LASTNAME optional | string | Thuộc tính họ liên hệ |
SMS optional | string | Số điện thoại để nhắn tin SMS và WhatsApp |
OPT_IN optional | boolean | Trạng thái đồng ý marketing opt-in |
ORDER_COUNT optional | integer | Tổng số orders đã đặt |
TOTAL_REVENUE optional | number | Doanh thu trọn đời từ liên hệ |
LOYALTY_POINTS optional | integer | Số dư điểm loyalty program hiện tại |
Ánh Xạ Thuộc Tính Tùy Chỉnh
field_mapping: # Trường tiêu chuẩn email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Trường marketing opt_in: OPT_IN signup_source: SIGNUP_SOURCE preferred_language: LANGUAGE
# Số liệu eCommerce orders_count: ORDER_COUNT total_spent: TOTAL_REVENUE last_order_date: LAST_ORDER_DATE
# Trường Loyalty loyalty_tier: VIP_TIER loyalty_points: LOYALTY_POINTSAPI Endpoints
Endpoints Cốt Lõi
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
POST | /v3/smtp/email | Gửi email giao dịch |
POST | /v3/transactionalSMS/send | Gửi SMS giao dịch |
POST | /v3/whatsapp/sendMessage | Gửi WhatsApp giao dịch |
POST | /v3/contacts | Tạo contact |
PUT | /v3/contacts/{email} | Cập nhật contact |
GET | /v3/contacts/{identifier} | Lấy chi tiết contact |
POST | /v3/contacts/import | Import contacts theo lô |
Endpoints eCommerce
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
POST | /v3/orders/status | Tạo hoặc cập nhật trạng thái order |
POST | /v3/products | Tạo hoặc cập nhật products |
POST | /v3/categories | Tạo hoặc cập nhật danh mục sản phẩm |
POST | /v3/events | Theo dõi custom events |
Endpoints Campaign
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
POST | /v3/emailCampaigns | Tạo email campaign |
POST | /v3/emailCampaigns/{id}/sendNow | Gửi campaign ngay lập tức |
GET | /v3/emailCampaigns | Liệt kê tất cả email campaigns |
GET | /v3/smtp/statistics/events | Lấy thống kê sự kiện email |
Sự Kiện
Sự Kiện Giao Dịch
| Sự Kiện | Kích Hoạt | Trường Hợp Sử Dụng |
|---|---|---|
delivered | Email được gửi vào hộp thư | Xác nhận gửi thành công |
opened | Email được mở | Theo dõi tương tác |
clicked | Link được nhấp trong email | Theo dõi click-through |
bounced | Email bị bounce | Vệ sinh danh sách |
spam | Bị đánh dấu là spam | Giám sát tuân thủ |
unsubscribed | Contact hủy đăng ký | Quản lý tùy chọn |
Sự Kiện eCommerce
| Sự Kiện | Kích Hoạt | Trường Hợp Sử Dụng |
|---|---|---|
order_completed | Order được đặt thành công | Luồng sau mua hàng |
cart_updated | Nội dung cart thay đổi | Theo dõi abandoned cart |
cart_deleted | Cart bị xóa hoặc hết hạn | Cart recovery |
product_viewed | Trang sản phẩm được truy cập | Browse abandonment |
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});
// Kết nối tài khoản Brevoawait tajo.connectors.connect('brevo', { apiKey: process.env.BREVO_API_KEY});Gửi Email Giao Dịch
// Gửi email giao dịch qua Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '1.499.000₫', DELIVERY_DATE: '2024-02-15' }});Đồng Bộ Contacts
// Import contacts theo lô sang Brevoawait tajo.connectors.sync('brevo', { type: 'full', resources: ['contacts'], options: { listIds: [5, 6], updateExisting: true, emptyContactsAttributes: false }});
// Kiểm tra trạng thái đồng bộconst status = await tajo.connectors.status('brevo');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 25400,// campaignsSent: 142,// eventsTracked: 89320// }Theo Dõi Custom Events
// Theo dõi custom event cho liên hệawait tajo.brevo.trackEvent({ event: 'product_purchased', eventdata: { id: 'txn_98765', data: { product_name: 'Premium Widget', price: 49.99, currency: 'USD' } }});Giới Hạn Tốc Độ
Brevo enforces giới hạn tốc độ theo ba tầng dựa trên gói của bạn:
| Endpoint | Free/Starter | Professional | Enterprise |
|---|---|---|---|
POST /v3/smtp/email | 1.000 RPS | 2.000 RPS | 6.000 RPS |
POST /v3/transactionalSMS/send | 150 RPS | 200 RPS | 250 RPS |
POST /v3/events | 10 RPS | 20 RPS | 60 RPS |
/v3/contacts/* | 10 RPS | 20 RPS | 60 RPS |
| Tất cả các endpoints khác | 100 RPH | 200 RPH | 600 RPH |
Phản Hồi Giới Hạn Tốc Độ
Khi vượt giới hạn tốc độ, API trả về mã trạng thái 429 Too Many Requests. Theo dõi headers giới hạn tốc độ trong responses để theo dõi mức sử dụng của bạn.
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ệ | Tạo lại API key trong Brevo Settings |
| Contact không tạo được | Thiếu trường email | Đảm bảo email được cung cấp cho tất cả contacts |
| Email không gửi được | Domain chưa xác minh | Xác minh domain trong Brevo Senders settings |
| Webhook không nhận | URL sai hoặc lỗi server | Kiểm tra khả năng truy cập URL webhook và logs |
| SMS không gửi được | Định dạng số điện thoại không hợp lệ | Sử dụng định dạng quốc tế với mã quốc gia |
Chế Độ Debug
Bật verbose logging:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueKiểm Tra Kết Nối
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredThực Hành Tốt Nhất
- Sử dụng API key rotation - Thay đổi API keys định kỳ để bảo mật
- Triển khai xác minh webhook - Xác thực chữ ký webhook với username/password authentication
- Batch contact imports - Sử dụng bulk import cho datasets lớn thay vì gọi API riêng lẻ
- Theo dõi giới hạn tốc độ - Kiểm tra headers giới hạn tốc độ để tránh lỗi 429
- Sử dụng event tracking - Triển khai Brevo Tracker để có dữ liệu hành vi khách hàng toàn diện
- Thiết lập xác thực người gửi đúng cách - Cấu hình SPF, DKIM và DMARC để deliverability tối ưu
Bảo Mật
- Xác thực API Key - Truy cập dựa trên token bí mật qua header
api-key - OAuth 2.0 - Truy cập ủy quyền dựa trên token cho tích hợp riêng tư
- Xác minh Webhook - Xác thực username và password cho webhook calls an toàn
- Mã hóa TLS - Tất cả giao tiếp API được mã hóa trong quá trình truyền
- IP whitelisting - Giới hạn IP tùy chọn có sẵn trên gói Enterprise