Коннектор Brevo
Коннектор Brevo
Подключите аккаунт Brevo к Tajo для единого управления контактами, транзакционных рассылок через email, SMS и WhatsApp, а также полноценной маркетинговой автоматизации.
Обзор
| Свойство | Значение |
|---|---|
| Платформа | Brevo |
| Категория | Marketing |
| Сложность настройки | Простая |
| Официальная интеграция | Да |
| Синхронизируемые данные | Контакты, кампании, транзакционные сообщения, события, e-commerce |
| Базовый URL API | https://api.brevo.com/v3 |
Возможности
- Многоканальные рассылки, отправка транзакционных email, SMS и WhatsApp через единый API
- Управление контактами, создание, обновление и сегментация контактов с пользовательскими атрибутами
- Маркетинговые кампании, программное создание и отправка email-кампаний
- Отслеживание событий, трекинг пользовательских событий и активности на сайте через Brevo Tracker
- Синхронизация e-commerce, синхронизация товаров, заказов и данных корзины для персонализированных кампаний
- Программы лояльности, управление подписками на лояльность, баллами и данными участников
- Поддержка вебхуков, уведомления о событиях в реальном времени для транзакционных, маркетинговых и CRM-событий
- Conversations, интеграция виджета live-чата и программное управление сообщениями
Предварительные требования
Прежде чем начать, убедитесь, что у вас есть:
- Аккаунт Brevo (план Free, Starter, Business или Enterprise)
- API-ключ, сгенерированный в Brevo Settings > API Keys
- Аккаунт Tajo с доступом к API
- Верифицированный домен отправителя для отправки email
Аутентификация
Brevo поддерживает два метода аутентификации:
Аутентификация по API Key (рекомендуется)
Включайте API-ключ в заголовок api-key в каждом запросе. Лучший вариант для прямых интеграций и серверного взаимодействия.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"Аутентификация OAuth 2.0
Используйте OAuth 2.0 для частных интеграций внутри организации, требующих делегированного доступа и прав на уровне пользователя. OAuth предоставляет токен-based систему с определёнными сроками действия.
Доступность OAuth
OAuth в настоящее время доступен только для частных интеграций внутри организации. OAuth-интеграции не предназначены для публичного распространения или размещения в маркетплейсе.
Конфигурация
Базовая настройка
connectors: brevo: enabled: true api_key: "${BREVO_API_KEY}" api_version: "v3"
# Параметры синхронизации данных sync: contacts: true campaigns: true transactional: true events: true ecommerce: true
# Назначение листов lists: all_customers: 5 newsletter: 6 buyers: 7Сопоставление полей
Сопоставьте поля данных с атрибутами контактов Brevo:
Сопоставления по умолчанию
| Parameter | Type | Description |
|---|---|---|
email required | string | Email-адрес контакта (уникальный идентификатор) |
FIRSTNAME optional | string | Атрибут имени контакта |
LASTNAME optional | string | Атрибут фамилии контакта |
SMS optional | string | Номер телефона для SMS и WhatsApp |
OPT_IN optional | boolean | Статус согласия на маркетинговые рассылки |
ORDER_COUNT optional | integer | Общее количество размещённых заказов |
TOTAL_REVENUE optional | number | Пожизненная выручка от контакта |
LOYALTY_POINTS optional | integer | Текущий баланс баллов программы лояльности |
Сопоставление пользовательских атрибутов
field_mapping: # Стандартные поля email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Маркетинговые поля opt_in: OPT_IN signup_source: SIGNUP_SOURCE preferred_language: LANGUAGE
# Метрики e-commerce orders_count: ORDER_COUNT total_spent: TOTAL_REVENUE last_order_date: LAST_ORDER_DATE
# Поля лояльности loyalty_tier: VIP_TIER loyalty_points: LOYALTY_POINTSЭндпоинты API
Основные эндпоинты
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /v3/smtp/email | Отправка транзакционного email |
POST | /v3/transactionalSMS/send | Отправка транзакционного SMS |
POST | /v3/whatsapp/sendMessage | Отправка транзакционного WhatsApp |
POST | /v3/contacts | Создание контакта |
PUT | /v3/contacts/{email} | Обновление контакта |
GET | /v3/contacts/{identifier} | Получить данные контакта |
POST | /v3/contacts/import | Массовый импорт контактов |
Эндпоинты e-commerce
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /v3/orders/status | Создание или обновление статуса заказа |
POST | /v3/products | Создание или обновление товаров |
POST | /v3/categories | Создание или обновление категорий товаров |
POST | /v3/events | Трекинг пользовательских событий |
Эндпоинты кампаний
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /v3/emailCampaigns | Создание email-кампании |
POST | /v3/emailCampaigns/{id}/sendNow | Немедленная отправка кампании |
GET | /v3/emailCampaigns | Список всех email-кампаний |
GET | /v3/smtp/statistics/events | Получение статистики email-событий |
События
Транзакционные события
| Событие | Триггер | Сценарий использования |
|---|---|---|
delivered | Email доставлен в ящик | Подтверждение доставки |
opened | Email открыт получателем | Отслеживание вовлечённости |
clicked | Кликнута ссылка в email | Отслеживание кликов |
bounced | Email отклонён | Гигиена списков |
spam | Помечен как спам | Мониторинг соответствия требованиям |
unsubscribed | Контакт отписался | Управление предпочтениями |
События e-commerce
| Событие | Триггер | Сценарий использования |
|---|---|---|
order_completed | Заказ успешно оформлен | Постпокупочные потоки |
cart_updated | Содержимое корзины изменено | Отслеживание брошенной корзины |
cart_deleted | Корзина очищена или истекла | Восстановление корзины |
product_viewed | Посещена страница товара | Брошенный просмотр |
Примеры кода
Инициализация коннектора
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Подключение аккаунта Brevoawait tajo.connectors.connect('brevo', { apiKey: process.env.BREVO_API_KEY});Отправка транзакционного email
// Отправка транзакционного email через Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Синхронизация контактов
// Массовый импорт контактов в Brevoawait tajo.connectors.sync('brevo', { type: 'full', resources: ['contacts'], options: { listIds: [5, 6], updateExisting: true, emptyContactsAttributes: false }});
// Проверка статуса синхронизацииconst status = await tajo.connectors.status('brevo');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 25400,// campaignsSent: 142,// eventsTracked: 89320// }Трекинг пользовательских событий
// Трекинг пользовательского события для контактаawait tajo.brevo.trackEvent({ event: 'product_purchased', eventdata: { id: 'txn_98765', data: { product_name: 'Premium Widget', price: 49.99, currency: 'USD' } }});Ограничения скорости
Brevo устанавливает ограничения скорости трёх уровней в зависимости от плана:
| Эндпоинт | 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 |
| Все остальные эндпоинты | 100 RPH | 200 RPH | 600 RPH |
Ответ при превышении лимита
При превышении лимита API возвращает статус-код 429 Too Many Requests. Отслеживайте заголовки ограничений скорости в ответах для мониторинга использования.
Устранение неполадок
Частые проблемы
| Проблема | Причина | Решение |
|---|---|---|
| 401 Unauthorized | Недействительный API-ключ | Перегенерируйте API-ключ в Brevo Settings |
| Контакт не создан | Отсутствует поле email | Убедитесь, что email указан для всех контактов |
| Email не доставлен | Домен отправителя не верифицирован | Верифицируйте домен в настройках отправителей Brevo |
| Вебхук не получен | Неверный URL или ошибка сервера | Проверьте доступность URL вебхука и логи |
| SMS не отправлен | Неверный формат номера | Используйте международный формат с кодом страны |
Режим отладки
Включение подробного логирования:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueПроверка подключения
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredЛучшие практики
- Ротируйте API-ключи, периодически меняйте API-ключи для обеспечения безопасности
- Верифицируйте подписи вебхуков, валидируйте подписи вебхуков с помощью аутентификации по логину/паролю
- Пакетный импорт контактов, используйте массовый импорт для больших наборов данных вместо отдельных API-вызовов
- Следите за ограничениями скорости, проверяйте заголовки лимитов для предотвращения ошибок 429
- Используйте отслеживание событий, внедряйте Brevo Tracker для полных данных о поведении клиентов
- Настройте аутентификацию отправителя, настройте SPF, DKIM и DMARC для оптимальной доставляемости
Безопасность
- Аутентификация по API Key, доступ на основе секретного токена через заголовок
api-key - OAuth 2.0, делегированный доступ на основе токенов для частных интеграций
- Верификация вебхуков, аутентификация по логину и паролю для безопасных вызовов вебхуков
- TLS-шифрование, все API-коммуникации зашифрованы при передаче
- IP-разрешение, опциональные IP-ограничения на тарифах Enterprise