Коннектор ActiveCampaign
Подключите аккаунт ActiveCampaign к Brevo через Tajo для полной миграции контактов, синхронизации воронки сделок, сопоставления автоматизаций и объединения маркетинговых данных обеих платформ.
Обзор
| Свойство | Значение |
|---|---|
| Платформа | ActiveCampaign |
| Категория | Marketing |
| Сложность настройки | Средняя |
| Официальная интеграция | Да |
| Синхронизируемые данные | Контакты, сделки, автоматизации, события |
| Базовый URL API | https://{account}.api-us1.com/api/3 |
Возможности
- Миграция контактов, перенос контактов с пользовательскими полями, тегами и членством в списках
- Синхронизация воронки сделок, синхронизация этапов, сумм и владельцев сделок для отслеживания выручки
- Сопоставление автоматизаций, маппинг автоматизаций ActiveCampaign на триггеры рабочих процессов Brevo
- Отслеживание событий, синхронизация событий трекинга сайта и пользовательских событий для поведенческой сегментации
- Синхронизация списков и тегов, репликация структуры списков и тег-сегментов в Brevo
- Интеграция с e-commerce, синхронизация Deep Data (заказы, клиенты, корзины) в Brevo
- Синхронизация пользовательских объектов, маппинг пользовательских объектов ActiveCampaign на атрибуты Brevo
- Синхронизация скоров, перенос скоров лидов и контактов в атрибуты Brevo
Предварительные требования
Прежде чем начать, убедитесь, что у вас есть:
- Аккаунт ActiveCampaign (Lite, Plus, Professional или Enterprise)
- API URL и API-ключ из Settings > Developer
- Аккаунт Brevo с доступом к API
- Аккаунт Tajo
Аутентификация
Аутентификация по API Key
ActiveCampaign использует API-ключ, передаваемый в заголовке или параметре запроса.
curl "https://{account}.api-us1.com/api/3/contacts" \ -H "Api-Token: YOUR_API_KEY" \ -H "Content-Type: application/json"Найдите API URL и ключ в ActiveCampaign Settings > Developer.
API URL
Ваш API URL уникален для вашего аккаунта (например, https://yourcompany.api-us1.com). Всегда используйте этот URL, а не URL дашборда.
Конфигурация
Базовая настройка
connectors: activecampaign: enabled: true api_url: "https://yourcompany.api-us1.com" api_key: "${AC_API_KEY}"
# Параметры синхронизации данных sync: contacts: true deals: true automations: true events: true ecommerce: true
# Сопоставление списков с Brevo list_mapping: "Main List": 50 "Newsletter": 51 "Customers": 52Сопоставление полей
Сопоставьте поля ActiveCampaign с атрибутами контактов Brevo:
Сопоставления по умолчанию
| Parameter | Type | Description |
|---|---|---|
email required | string | Email контакта (уникальный идентификатор) |
firstName optional | string | Сопоставляется с атрибутом FIRSTNAME |
lastName optional | string | Сопоставляется с атрибутом LASTNAME |
phone optional | string | Сопоставляется с атрибутом SMS |
tags optional | array | Теги контакта для сегментации |
score optional | integer | Скор вовлечённости контакта |
deals optional | array | Связанные записи сделок |
fieldValues optional | array | Значения пользовательских полей |
Сопоставление пользовательских полей
field_mapping: # Стандартные поля email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS
# Поля вовлечённости score: LEAD_SCORE rating: ENGAGEMENT_RATING
# Поля сделок deals.value: DEAL_VALUE deals.stage: DEAL_STAGE deals.owner: DEAL_OWNER
# Пользовательские поля fieldValues.company: COMPANY_NAME fieldValues.industry: INDUSTRY fieldValues.plan_tier: PLAN_TIERЭндпоинты API
Контакты
| Метод | Эндпоинт | Описание |
|---|---|---|
GET | /api/3/contacts | Список всех контактов |
POST | /api/3/contacts | Создание контакта |
PUT | /api/3/contacts/{id} | Обновление контакта |
GET | /api/3/contacts/{id} | Получить контакт |
POST | /api/3/contact/sync | Синхронизация контакта (создание или обновление) |
POST | /api/3/import/bulk_import | Массовый импорт контактов |
Сделки
| Метод | Эндпоинт | Описание |
|---|---|---|
GET | /api/3/deals | Список всех сделок |
POST | /api/3/deals | Создание сделки |
PUT | /api/3/deals/{id} | Обновление сделки |
GET | /api/3/dealStages | Список всех этапов сделок |
GET | /api/3/dealPipelines | Список всех воронок |
Автоматизации
| Метод | Эндпоинт | Описание |
|---|---|---|
GET | /api/3/automations | Список автоматизаций |
GET | /api/3/automations/{id} | Получить автоматизацию |
POST | /api/3/contactAutomations | Добавить контакт в автоматизацию |
E-commerce (Deep Data)
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /api/3/ecomOrders | Создание заказа |
GET | /api/3/ecomOrders | Список заказов |
POST | /api/3/ecomCustomers | Создание клиента |
GET | /api/3/ecomCustomers | Список клиентов |
Отслеживание событий
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /api/3/tracking/event | Трекинг пользовательского события |
GET | /api/3/eventTrackingEvents | Список всех имён событий |
POST | /api/3/eventTrackingEvents | Создание имени события |
События
События контактов
| Событие | Триггер | Сценарий использования |
|---|---|---|
contact_add | Создан новый контакт | Приветственный поток |
contact_update | Изменены данные контакта | Синхронизация атрибутов |
contact_tag_added | Назначен тег | Обновление сегмента |
contact_tag_removed | Тег удалён | Очистка сегмента |
События сделок
| Событие | Триггер | Сценарий использования |
|---|---|---|
deal_add | Создана новая сделка | Уведомление отдела продаж |
deal_update | Изменился этап сделки | Автоматизация воронки |
deal_tasktype_add | Добавлена задача к сделке | Отслеживание активности |
События автоматизаций
| Событие | Триггер | Сценарий использования |
|---|---|---|
automation_contact_add | Контакт вошёл в автоматизацию | Отслеживание потоков |
automation_contact_complete | Контакт завершил автоматизацию | Триггер следующего шага |
Примеры кода
Инициализация коннектора
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Подключение ActiveCampaignawait tajo.connectors.connect('activecampaign', { apiUrl: process.env.AC_API_URL, apiKey: process.env.AC_API_KEY});Миграция контактов в Brevo
// Полная миграция контактов с пользовательскими полями и тегамиawait tajo.connectors.sync('activecampaign', { type: 'full', resources: ['contacts', 'deals', 'events'], options: { includeTags: true, includeCustomFields: true, includeScores: true, includeListMemberships: true }});
// Проверка статуса синхронизацииconst status = await tajo.connectors.status('activecampaign');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 28000,// dealsSynced: 4500,// eventsSynced: 120000// }Трекинг пользовательских событий
// Пересылка событий ActiveCampaign в Brevoawait tajo.activecampaign.trackEvent({ event: 'product_demo_requested', eventData: { product: 'Enterprise Plan', source: 'website' }});Ограничения скорости
Ограничения скорости ActiveCampaign API:
| План | Лимит | Детали |
|---|---|---|
| Lite | 5 запросов/сек | На аккаунт |
| Plus | 10 запросов/сек | На аккаунт |
| Professional | 10 запросов/сек | На аккаунт |
| Enterprise | 20 запросов/сек | На аккаунт |
Дополнительные ограничения:
- Массовый импорт: 250 контактов в пакете
- Частота массового импорта: 1 импорт одновременно
- Отслеживание событий: 2 запроса/сек
- Дневной лимит: Без явного дневного лимита (только по скорости)
Обработка ограничений скорости
ActiveCampaign возвращает 429 Too Many Requests при превышении лимитов. Реализуйте логику повторных попыток с использованием значения заголовка Retry-After.
Устранение неполадок
Частые проблемы
| Проблема | Причина | Решение |
|---|---|---|
| 403 Forbidden | Недействительный API-ключ или URL | Проверьте API URL и ключ в AC Settings > Developer |
| Контакт не синхронизирован | Обработка дублирующихся email | Используйте эндпоинт /contact/sync для upsert-поведения |
| Пустое пользовательское поле | Несоответствие ID поля | Маппируйте поля по ID, а не по label (label может изменяться) |
| Вебхук не получен | Вебхук не настроен | Настройте вебхуки в AC Settings > Developer > Webhooks |
| Сделка не создана | Отсутствуют обязательные поля | Убедитесь, что воронка, этап и контакт указаны |
Режим отладки
Включение подробного логирования:
connectors: activecampaign: debug: true log_level: verbose log_webhooks: trueПроверка подключения
tajo connectors test activecampaign# ✓ API connection successful# ✓ Contacts readable# ✓ Deals readable# ✓ Automations accessible# ✓ Event tracking enabledЛучшие практики
- Используйте эндпоинт синхронизации контактов, используйте
/contact/syncдля upsert-операций вместо отдельных создания и обновления - Маппируйте поля по ID, ID пользовательских полей стабильны; label может изменяться
- Сохраняйте членство в списках, мигрируйте назначения списков вместе с данными контактов
- Синхронизируйте воронки сделок, маппируйте этапы воронки для согласованной CRM-отчётности
- Реализуйте отслеживание событий, используйте трекинг сайта для поведенческих данных в Brevo
- Пакетный импорт, используйте массовый импорт для наборов данных свыше 1 000 контактов
Безопасность
- Аутентификация по API Key, доступ на основе токена через заголовок
Api-Token - Верификация вебхуков, валидация диапазонов IP-адресов источника вебхука
- TLS-шифрование, все API-коммуникации зашифрованы через HTTPS
- Доступ на уровне аккаунта, API-ключ обеспечивает полный доступ к аккаунту; используйте с осторожностью
- IP-ограничения, доступно на тарифах Enterprise