ActiveCampaign 连接器
通过 Tajo 将您的 ActiveCampaign 账户连接到 Brevo,实现全面的联系人迁移、交易管道同步、自动化映射以及两个平台之间统一的营销数据管理。
概览
| 属性 | 值 |
|---|---|
| 平台 | ActiveCampaign |
| 类别 | 营销 |
| 设置复杂度 | 中等 |
| 官方集成 | 是 |
| 同步数据 | 联系人、交易、自动化、事件 |
| API 基础 URL | https://{account}.api-us1.com/api/3 |
功能
- 联系人迁移 - 迁移联系人(含自定义字段、标签和列表会员资格)
- 交易管道同步 - 同步交易阶段、价值和负责人,用于收入跟踪
- 自动化映射 - 将 ActiveCampaign 自动化映射到 Brevo 工作流触发器
- 事件跟踪 - 同步网站跟踪和自定义事件,用于行为细分
- 列表和标签同步 - 在 Brevo 中复制列表结构和基于标签的细分
- 电子商务集成 - 将 Deep Data(订单、客户、购物车)同步到 Brevo
- 自定义对象同步 - 将 ActiveCampaign 自定义对象映射到 Brevo 属性
- 评分同步 - 将线索和联系人评分传输到 Brevo 属性
前提条件
开始之前,请确保您已具备:
- ActiveCampaign 账户(Lite、Plus、Professional 或 Enterprise 版本)
- 来自”设置 > 开发者”的 API URL 和 API 密钥
- 具有 API 访问权限的 Brevo 账户
- Tajo 账户
认证
API 密钥认证
ActiveCampaign 使用作为请求头或查询参数传递的 API 密钥。
curl "https://{account}.api-us1.com/api/3/contacts" \ -H "Api-Token: YOUR_API_KEY" \ -H "Content-Type: application/json"在 ActiveCampaign 的”设置 > 开发者”中找到您的 API URL 和密钥。
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}"
# Data sync options sync: contacts: true deals: true automations: true events: true ecommerce: true
# List mapping to Brevo list_mapping: "Main List": 50 "Newsletter": 51 "Customers": 52字段映射
将 ActiveCampaign 字段映射到 Brevo 联系人属性:
默认映射
| Parameter | Type | Description |
|---|---|---|
email required | string | 联系人邮箱(唯一标识符) |
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: # Standard fields email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS
# Engagement fields score: LEAD_SCORE rating: ENGAGEMENT_RATING
# Deal fields deals.value: DEAL_VALUE deals.stage: DEAL_STAGE deals.owner: DEAL_OWNER
# Custom fields fieldValues.company: COMPANY_NAME fieldValues.industry: INDUSTRY fieldValues.plan_tier: PLAN_TIERAPI 端点
联系人
| 方法 | 端点 | 描述 |
|---|---|---|
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 | 将联系人添加到自动化 |
电子商务(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});
// Connect ActiveCampaignawait tajo.connectors.connect('activecampaign', { apiUrl: process.env.AC_API_URL, apiKey: process.env.AC_API_KEY});将联系人迁移到 Brevo
// Full contact migration with custom fields and tagsawait tajo.connectors.sync('activecampaign', { type: 'full', resources: ['contacts', 'deals', 'events'], options: { includeTags: true, includeCustomFields: true, includeScores: true, includeListMemberships: true }});
// Check sync statusconst status = await tajo.connectors.status('activecampaign');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 28000,// dealsSynced: 4500,// eventsSynced: 120000// }跟踪自定义事件
// Forward ActiveCampaign events to 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 个联系人
- 批量导入频率:一次一个导入
- 事件跟踪:2 请求/秒
- 每日限制:无明确每日限制(仅基于速率)
速率限制处理
超出限制时,ActiveCampaign 返回 429 Too Many Requests。使用 Retry-After 响应头值实现重试逻辑。
故障排除
常见问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 403 Forbidden | API 密钥或 URL 无效 | 在 AC 设置 > 开发者中验证 API URL 和密钥 |
| 联系人未同步 | 重复邮箱处理 | 使用 /contact/sync 端点进行更新插入操作 |
| 自定义字段为空 | 字段 ID 不匹配 | 按 ID 映射字段,而非标签(标签可能变更) |
| 未收到 Webhook | Webhook 未配置 | 在 AC 设置 > 开发者 > Webhook 中设置 Webhook |
| 交易未创建 | 缺少必填字段 | 确保提供管道、阶段和联系人 |
调试模式
启用详细日志记录:
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进行更新插入操作,而非分开创建/更新 - 按 ID 映射字段 - 自定义字段 ID 是稳定的;标签可能变更
- 保留列表会员资格 - 在迁移联系人数据的同时迁移列表分配
- 同步交易管道 - 映射管道阶段以保持一致的 CRM 报告
- 实施事件跟踪 - 使用网站跟踪获取 Brevo 中的行为数据
- 批量导入 - 对超过 1,000 个联系人的数据集使用批量导入
安全
- API 密钥认证 - 通过
Api-Token请求头进行基于令牌的访问 - Webhook 验证 - 验证 Webhook 源 IP 范围
- TLS 加密 - 所有 API 通信通过 HTTPS 加密
- 账户级访问 - API 密钥提供完整账户访问权限,请谨慎使用
- IP 限制 - Enterprise 计划可用