موصل ActiveCampaign
اربط حساب ActiveCampaign الخاص بك مع Brevo عبر Tajo لترحيل جهات الاتصال الشامل، ومزامنة خط أنابيب الصفقات، وتعيين الأتمتة، وبيانات تسويقية موحدة عبر كلتا المنصتين.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | ActiveCampaign |
| الفئة | التسويق |
| تعقيد الإعداد | متوسط |
| تكامل رسمي | نعم |
| البيانات المُزامَنة | جهات اتصال، صفقات، أتمتة، أحداث |
| عنوان URL الأساسي لـ API | https://{account}.api-us1.com/api/3 |
الميزات
- ترحيل جهات الاتصال - ترحيل جهات الاتصال مع الحقول المخصصة والوسوم وعضويات القوائم
- مزامنة خط أنابيب الصفقات - مزامنة مراحل الصفقات وقيمها ومالكيها لتتبع الإيرادات
- تعيين الأتمتة - تعيين أتمتة ActiveCampaign لمحفزات سير عمل Brevo
- تتبع الأحداث - مزامنة تتبع الموقع والأحداث المخصصة للتقسيم السلوكي
- مزامنة القوائم والوسوم - تكرار هياكل القوائم والشرائح القائمة على الوسوم في Brevo
- تكامل التجارة الإلكترونية - مزامنة Deep Data (الطلبات، العملاء، السلات) مع Brevo
- مزامنة الكائنات المخصصة - تعيين الكائنات المخصصة في ActiveCampaign لسمات Brevo
- مزامنة الدرجات - نقل درجات العملاء المحتملين وجهات الاتصال إلى سمات Brevo
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- حساب ActiveCampaign (Lite أو Plus أو Professional أو Enterprise)
- عنوان URL لـ API ومفتاح API من Settings > Developer
- حساب Brevo مع وصول إلى API
- حساب Tajo
المصادقة
مصادقة مفتاح API
يستخدم ActiveCampaign مفتاح API يُمرَّر كترويسة أو معامل استعلام.
curl "https://{account}.api-us1.com/api/3/contacts" \ -H "Api-Token: YOUR_API_KEY" \ -H "Content-Type: application/json"ابحث عن عنوان URL لـ API ومفتاحك في ActiveCampaign Settings > Developer.
عنوان URL لـ API
عنوان URL لـ API فريد لحسابك (مثلاً، https://yourcompany.api-us1.com). استخدم دائمًا هذا العنوان، وليس عنوان لوحة التحكم.
الإعداد
الإعداد الأساسي
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_TIERنقاط نهاية واجهة البرمجة
جهات الاتصال
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
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
// ترحيل كامل لجهات الاتصال مع الحقول المخصصة والوسوم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 جهة اتصال لكل دفعة
- تكرار الاستيراد بالجملة: استيراد واحد في كل مرة
- تتبع الأحداث: طلبان/ثانية
- الحد اليومي: لا يوجد حد يومي صريح (قائم على المعدل فقط)
معالجة حد المعدل
يُعيد ActiveCampaign 429 Too Many Requests عند تجاوز الحدود. طبّق منطق إعادة المحاولة بقيمة ترويسة Retry-After.
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
| 403 Forbidden | مفتاح API أو عنوان URL غير صالح | تحقق من عنوان URL ومفتاح API في AC Settings > Developer |
| جهة الاتصال غير مُزامَنة | التعامل مع البريد الإلكتروني المكرر | استخدم نقطة نهاية /contact/sync لسلوك upsert |
| حقل مخصص فارغ | عدم تطابق معرّف الحقل | عيّن الحقول بالمعرّف، وليس التسمية (التسميات قد تتغير) |
| Webhook لم يُستلم | Webhook غير مُعَد | اضبط webhooks في 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 بدلاً من إنشاء/تحديث منفصلة - عيّن الحقول بالمعرّف - معرّفات الحقول المخصصة مستقرة؛ التسميات قد تتغير
- احتفظ بعضويات القوائم - رحّل تعيينات القوائم جنبًا إلى جنب مع بيانات جهات الاتصال
- زامن خطوط أنابيب الصفقات - عيّن مراحل خط الأنابيب لتقارير CRM متسقة
- طبّق تتبع الأحداث - استخدم تتبع الموقع للبيانات السلوكية في Brevo
- استيراد بالدفعات - استخدم الاستيراد بالجملة لمجموعات البيانات الأكبر من 1,000 جهة اتصال
الأمان
- مصادقة مفتاح API - وصول قائم على الرموز عبر ترويسة
Api-Token - التحقق من Webhook - تحقق من نطاقات IP لمصدر webhook
- تشفير TLS - جميع اتصالات API مشفرة عبر HTTPS
- وصول على مستوى الحساب - يوفر مفتاح API وصولاً كاملاً للحساب؛ استخدمه بحذر
- قيود IP - متاحة في خطط Enterprise