Коннектор Brevo

Коннектор Brevo

Подключите аккаунт Brevo к Tajo для единого управления контактами, транзакционных рассылок через email, SMS и WhatsApp, а также полноценной маркетинговой автоматизации.

Обзор

СвойствоЗначение
ПлатформаBrevo
КатегорияMarketing
Сложность настройкиПростая
Официальная интеграцияДа
Синхронизируемые данныеКонтакты, кампании, транзакционные сообщения, события, e-commerce
Базовый URL APIhttps://api.brevo.com/v3

Возможности

  • Многоканальные рассылки, отправка транзакционных email, SMS и WhatsApp через единый API
  • Управление контактами, создание, обновление и сегментация контактов с пользовательскими атрибутами
  • Маркетинговые кампании, программное создание и отправка email-кампаний
  • Отслеживание событий, трекинг пользовательских событий и активности на сайте через Brevo Tracker
  • Синхронизация e-commerce, синхронизация товаров, заказов и данных корзины для персонализированных кампаний
  • Программы лояльности, управление подписками на лояльность, баллами и данными участников
  • Поддержка вебхуков, уведомления о событиях в реальном времени для транзакционных, маркетинговых и CRM-событий
  • Conversations, интеграция виджета live-чата и программное управление сообщениями

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  1. Аккаунт Brevo (план Free, Starter, Business или Enterprise)
  2. API-ключ, сгенерированный в Brevo Settings > API Keys
  3. Аккаунт Tajo с доступом к API
  4. Верифицированный домен отправителя для отправки email

Аутентификация

Brevo поддерживает два метода аутентификации:

Аутентификация по API Key (рекомендуется)

Включайте API-ключ в заголовок api-key в каждом запросе. Лучший вариант для прямых интеграций и серверного взаимодействия.

Terminal window
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-событий

События

Транзакционные события

СобытиеТриггерСценарий использования
deliveredEmail доставлен в ящикПодтверждение доставки
openedEmail открыт получателемОтслеживание вовлечённости
clickedКликнута ссылка в emailОтслеживание кликов
bouncedEmail отклонёнГигиена списков
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
});
// Подключение аккаунта Brevo
await tajo.connectors.connect('brevo', {
apiKey: process.env.BREVO_API_KEY
});

Отправка транзакционного email

// Отправка транзакционного email через Brevo
await tajo.brevo.sendTransactionalEmail({
to: [{ email: '[email protected]', name: 'John Doe' }],
templateId: 12,
params: {
ORDER_ID: '12345',
ORDER_TOTAL: '$59.99',
DELIVERY_DATE: '2024-02-15'
}
});

Синхронизация контактов

// Массовый импорт контактов в Brevo
await 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/StarterProfessionalEnterprise
POST /v3/smtp/email1 000 RPS2 000 RPS6 000 RPS
POST /v3/transactionalSMS/send150 RPS200 RPS250 RPS
POST /v3/events10 RPS20 RPS60 RPS
/v3/contacts/*10 RPS20 RPS60 RPS
Все остальные эндпоинты100 RPH200 RPH600 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

Проверка подключения

Terminal window
tajo connectors test brevo
# ✓ API connection successful
# ✓ Contacts API accessible
# ✓ Transactional email ready
# ✓ SMS sending configured
# ✓ Webhooks registered

Лучшие практики

  1. Ротируйте API-ключи, периодически меняйте API-ключи для обеспечения безопасности
  2. Верифицируйте подписи вебхуков, валидируйте подписи вебхуков с помощью аутентификации по логину/паролю
  3. Пакетный импорт контактов, используйте массовый импорт для больших наборов данных вместо отдельных API-вызовов
  4. Следите за ограничениями скорости, проверяйте заголовки лимитов для предотвращения ошибок 429
  5. Используйте отслеживание событий, внедряйте Brevo Tracker для полных данных о поведении клиентов
  6. Настройте аутентификацию отправителя, настройте SPF, DKIM и DMARC для оптимальной доставляемости

Безопасность

  • Аутентификация по API Key, доступ на основе секретного токена через заголовок api-key
  • OAuth 2.0, делегированный доступ на основе токенов для частных интеграций
  • Верификация вебхуков, аутентификация по логину и паролю для безопасных вызовов вебхуков
  • TLS-шифрование, все API-коммуникации зашифрованы при передаче
  • IP-разрешение, опциональные IP-ограничения на тарифах Enterprise

Связанные ресурсы

Subscribe to updates

developer-docs

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

AI-ассистент

Привет! Спрашивайте меня о документации.

Начните бесплатно с Brevo