موصل Mailchimp
اربط حساب Mailchimp الخاص بك مع Brevo عبر Tajo لترحيل الجماهير بسلاسة، ومزامنة بيانات الحملات، وأتمتة تسويقية موحدة عبر المنصتين.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | Mailchimp |
| الفئة | التسويق |
| تعقيد الإعداد | سهل |
| تكامل رسمي | نعم |
| البيانات المُزامَنة | جهات اتصال، حملات، أتمتة، أحداث |
| عنوان URL الأساسي لـ API | https://{dc}.api.mailchimp.com/3.0 |
الميزات
- مزامنة الجمهور - ترحيل ومزامنة جماهير Mailchimp مع قوائم جهات اتصال Brevo
- بيانات الحملات - مزامنة بيانات أداء الحملات للتقارير الموحدة
- ترحيل الأتمتة - تعيين أتمتة Mailchimp لسير عمل Brevo
- مقاييس التفاعل - مزامنة الفتح والنقرات وبيانات الارتداد مع سمات Brevo
- تعيين الشرائح - نسخ شرائح Mailchimp كقوائم أو شرائح Brevo
- بيانات التجارة الإلكترونية - مزامنة بيانات المتاجر والمنتجات والطلبات من Mailchimp e-commerce
- مزامنة الوسوم - تعيين وسوم Mailchimp لسمات جهات اتصال Brevo أو القوائم
- ترحيل القوالب - تصدير قوالب Mailchimp لاستخدامها في حملات Brevo
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- حساب Mailchimp (Free أو Essentials أو Standard أو Premium)
- مفتاح Mailchimp API أو تطبيق OAuth
- حساب Brevo مع وصول إلى API
- حساب Tajo
المصادقة
مصادقة مفتاح API
أنشئ مفتاح API من Mailchimp Account > Extras > API Keys.
curl https://{dc}.api.mailchimp.com/3.0/ping \ --user "anystring:{api_key}" \ -H "Content-Type: application/json"بادئة مركز البيانات {dc} هي الجزء الأخير من مفتاح API الخاص بك (مثلاً، us21).
OAuth 2.0
للتكاملات متعددة الحسابات:
# Authorization URLhttps://login.mailchimp.com/oauth2/authorize? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}
# Token exchangecurl -X POST https://login.mailchimp.com/oauth2/token \ -d "grant_type=authorization_code" \ -d "client_id={client_id}" \ -d "client_secret={client_secret}" \ -d "redirect_uri={redirect_uri}" \ -d "code={auth_code}"مركز البيانات
استخرج دائمًا مركز البيانات من مفتاح API أو نقطة نهاية بيانات وصفية OAuth. سيؤدي استخدام مركز بيانات خاطئ إلى فشل المصادقة.
الإعداد
الإعداد الأساسي
connectors: mailchimp: enabled: true api_key: "${MAILCHIMP_API_KEY}" data_center: "us21"
# Data sync options sync: audiences: true campaigns: true automations: true ecommerce: true
# Audience to Brevo list mapping audience_mapping: "Main Audience": 40 "Newsletter": 41 "Customers": 42تعيين الحقول
ربط حقول دمج Mailchimp بسمات جهات اتصال Brevo:
التعيينات الافتراضية
| Parameter | Type | Description |
|---|---|---|
email_address required | string | البريد الإلكتروني للمشترك (معرّف فريد) |
FNAME optional | string | حقل دمج الاسم الأول، يُعيَّن إلى FIRSTNAME |
LNAME optional | string | حقل دمج اسم العائلة، يُعيَّن إلى LASTNAME |
PHONE optional | string | حقل دمج الهاتف، يُعيَّن إلى SMS |
status optional | string | حالة الاشتراك (subscribed، unsubscribed، cleaned، pending) |
tags optional | array | وسوم المشترك للتقسيم |
stats.avg_open_rate optional | number | متوسط معدل فتح البريد الإلكتروني |
stats.avg_click_rate optional | number | متوسط معدل نقرات البريد الإلكتروني |
تعيين حقول الدمج المخصصة
field_mapping: # Standard fields email_address: email FNAME: FIRSTNAME LNAME: LASTNAME PHONE: SMS
# Engagement metrics stats.avg_open_rate: AVG_OPEN_RATE stats.avg_click_rate: AVG_CLICK_RATE member_rating: ENGAGEMENT_SCORE
# E-commerce fields ecommerce_data.total_revenue: TOTAL_REVENUE ecommerce_data.number_of_orders: ORDER_COUNT
# Custom merge fields MMERGE5: COMPANY_NAME MMERGE6: CUSTOMER_TYPEنقاط نهاية واجهة البرمجة
الجماهير (القوائم)
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
GET | /3.0/lists | سرد جميع الجماهير |
GET | /3.0/lists/{list_id} | الحصول على تفاصيل الجمهور |
GET | /3.0/lists/{list_id}/members | سرد أعضاء الجمهور |
POST | /3.0/lists/{list_id}/members | إضافة عضو |
PUT | /3.0/lists/{list_id}/members/{hash} | تحديث عضو |
POST | /3.0/lists/{list_id} | اشتراك/إلغاء اشتراك بالدفعات |
الحملات
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
GET | /3.0/campaigns | سرد الحملات |
GET | /3.0/campaigns/{id} | الحصول على تفاصيل الحملة |
GET | /3.0/reports/{id} | الحصول على تقرير الحملة |
GET | /3.0/reports/{id}/email-activity | الحصول على نشاط البريد الإلكتروني |
الأتمتة
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
GET | /3.0/automations | سرد الأتمتة |
GET | /3.0/automations/{id} | الحصول على تفاصيل الأتمتة |
GET | /3.0/automations/{id}/emails | سرد رسائل الأتمتة |
التجارة الإلكترونية
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
GET | /3.0/ecommerce/stores | سرد المتاجر المتصلة |
GET | /3.0/ecommerce/stores/{id}/customers | سرد عملاء المتجر |
GET | /3.0/ecommerce/stores/{id}/orders | سرد طلبات المتجر |
GET | /3.0/ecommerce/stores/{id}/products | سرد منتجات المتجر |
الأحداث
أحداث الحملات
| الحدث | المحفز | حالة الاستخدام |
|---|---|---|
campaign.sent | تم تسليم الحملة | تتبع الأداء |
campaign.opened | تم فتح البريد الإلكتروني | تسجيل التفاعل |
campaign.clicked | تم النقر على الرابط | تتبع الاهتمام |
campaign.bounced | ارتد البريد الإلكتروني | نظافة القائمة |
أحداث المشتركين
| الحدث | المحفز | حالة الاستخدام |
|---|---|---|
subscribe | تمت إضافة مشترك جديد | تدفق الترحيب |
unsubscribe | ألغى المشترك الاشتراك | إدارة التفضيلات |
profile | تم تحديث الملف الشخصي | مزامنة السمات |
cleaned | تم تنظيف البريد الإلكتروني (ارتد) | صيانة القائمة |
أحداث التجارة الإلكترونية
| الحدث | المحفز | حالة الاستخدام |
|---|---|---|
ecommerce.order | تم وضع الطلب | تدفق ما بعد الشراء |
ecommerce.cart | تم تحديث السلة | استرداد السلة المهجورة |
أمثلة على الكود
تهيئة الموصل
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Mailchimpawait tajo.connectors.connect('mailchimp', { apiKey: process.env.MAILCHIMP_API_KEY});ترحيل الجماهير إلى Brevo
// ترحيل كامل للجمهور من Mailchimp إلى Brevoawait tajo.connectors.sync('mailchimp', { type: 'full', resources: ['audiences', 'campaigns', 'ecommerce'], options: { preserveTags: true, migrateSegments: true, includeUnsubscribed: false }});
// التحقق من حالة الترحيلconst status = await tajo.connectors.status('mailchimp');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 52000,// campaignsSynced: 245,// segmentsMapped: 18// }مزامنة بيانات تفاعل الحملة
// مزامنة أداء الحملة مع سمات Brevoawait tajo.connectors.sync('mailchimp', { type: 'incremental', resources: ['campaigns'], options: { syncEngagement: true, updateContactMetrics: true, since: '2024-01-01' }});حدود المعدل
حدود معدل Mailchimp Marketing API:
| النوع | الحد | التفاصيل |
|---|---|---|
| قياسي | 10 طلبات متزامنة | لكل مفتاح API |
| العمليات المجمّعة | 500 عملية لكل دفعة | لكل طلب |
| حد التصدير | تصدير متزامن واحد | لكل حساب |
| المعاملات | 25 طلبًا/ثانية | لكل مفتاح API |
استراتيجية حد المعدل
يحدّد Mailchimp الاتصالات المتزامنة بدلاً من الطلبات في الثانية. استخدم نقاط النهاية المجمّعة وطبّق منطق إعادة المحاولة بالتراجع الأُسّي على استجابات 429.
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
| 401 Unauthorized | مفتاح API غير صالح أو مركز بيانات خاطئ | تحقق من مفتاح API واستخرج بادئة dc الصحيحة |
| العضو موجود | البريد الإلكتروني موجود بالفعل في الجمهور | استخدم PUT بدلاً من POST لتحديث الأعضاء الموجودين |
| حالة الامتثال | حذف GDPR يمنع إعادة الإضافة | يجب أن يعيد جهة الاتصال الاشتراك عبر نموذج تسجيل |
| انتهاء مهلة الدفعة | عملية دفعة كبيرة | قسّم إلى دفعات أصغر من 500 عملية |
| حقول دمج مفقودة | لم يتم إنشاء الحقول المخصصة | أنشئ حقول الدمج في Mailchimp قبل التعيين |
وضع التصحيح
تفعيل التسجيل المفصل:
connectors: mailchimp: debug: true log_level: verbose log_api_calls: trueاختبار الاتصال
tajo connectors test mailchimp# ✓ API connection successful# ✓ Audiences readable# ✓ Campaigns readable# ✓ E-commerce data accessible# ✓ Webhook configuredأفضل الممارسات
- استخدم العمليات المجمّعة - استخدم اشتراك/إلغاء اشتراك بالدفعات للتحديثات بالجملة
- احتفظ بحالة المشترك - احترم موافقة الاشتراك أثناء الترحيل
- عيّن حقول الدمج أولاً - أنشئ سمات Brevo المقابلة قبل المزامنة
- زامن بيانات التفاعل - استورد معدلات الفتح/النقرات للتقسيم التاريخي
- تعامل مع حالات الامتثال - احترم GDPR وحالات الحذف الدائم
- استخدم المزامنة التزايدية - زامن فقط التغييرات منذ آخر مزامنة لتقليل استخدام API
الأمان
- مصادقة مفتاح API - يُمرَّر المفتاح السري ككلمة مرور HTTP Basic Auth
- OAuth 2.0 - تفويض قائم على الرموز للوصول متعدد الحسابات
- تشفير TLS - جميع اتصالات API مشفرة عبر HTTPS
- التحقق من Webhook - تحقق من مصدر webhook بسر مشترك
- عزل مركز البيانات - تُخزَّن البيانات في مراكز بيانات خاصة بالمنطقة