مزامنة العملاء
ينقل Tajo بيانات العملاء إلى Brevo بطريقتين: مزامنة مستمرة (تتدفق تغييرات المنصة المتصلة إلى Brevo باستمرار) وترحيل جماعي (نقل قابل للاستئناف وبكامل الطاقة من Mailchimp وKlaviyo وHubSpot وSalesforce وShopify وWooCommerce وStripe وغيرها). وتعمل الطريقتان على المحرك نفسه وتتشاركان خاصية واحدة غير قابلة للتفاوض: القبول يُثبَت لكل سجل، ولا يُفترض أبدًا.
كيف يُحسم القبول
يمر كل سجل ببوابة قبول تفشل مغلقة قبل أن يدخل أي جمهور تسويقي:
| الحكم | ما الذي يحدث |
|---|---|
قبول مُثبَت (مثل subscribed في Mailchimp، وSUBSCRIBED في Klaviyo، وقبول التسويق في Shopify) | يُستورد إلى قوائم Brevo التي اخترتها |
| رفض صريح (إلغاء الاشتراك، الانسحاب) | لا يُهمَل، بل يُنقل إلى Brevo كجهة اتصال محظورة ويُسجَّل في سجل عدم التواصل، حتى لا تستطيع المنصة الجديدة مراسلته أبدًا |
حظر لأسباب تسليم (ارتداد نهائي، شكوى إزعاج، مثل cleaned في Mailchimp وHARD_BOUNCE/SPAM_COMPLAINT في Klaviyo) | يُنقل كمحظور ويُعلَّم بأنه لاصق: فأي قبول لاحق على منصة أخرى لا يرفع أبدًا ارتدادًا أو شكوى |
| غير مُثبَت (لا إشارة قبول إطلاقًا) | مرفوض. فعبارة “لم نستطع إثبات القبول” وعبارة “هناك قبول” ليستا النتيجة نفسها أبدًا |
التمييز بين “المرفوض” و”غير المُثبَت” مهم: فإلغاء الاشتراك قرار يجب أن يبقى بعد الترحيل، أما الحقل الغائب فليس قرارًا على الإطلاق.
مصادر القبول لكل منصة
| المنصة | إثبات القبول | إشارات الحظر |
|---|---|---|
| Mailchimp | حالة العضو subscribed | unsubscribed (انسحاب)، cleaned (ارتداد نهائي) |
| Klaviyo | قبول التسويق في الملف SUBSCRIBED | قائمة الحظر مع الأسباب (UNSUBSCRIBE، USER_SUPPRESSED، HARD_BOUNCE، INVALID_EMAIL، SPAM_COMPLAINT) |
| Shopify | email_marketing_consent.state / accepts_marketing | not_subscribed الصريحة |
| HubSpot | حالات الاشتراك (واجهة الدفعات، 100 جهة اتصال لكل استدعاء) | hs_email_optout |
| Salesforce | غير قابل للإثبات جماعيًا من Sales Cloud، فتُرحَّل الهوية وتبقى العضوية في الجمهور مغلقة | HasOptedOutOfEmail، EmailBouncedDate |
| WooCommerce / Stripe | لا يُستنتج من المشتريات، فسجل العميل ليس قبولًا تسويقيًا | لا يوجد |
حل التعارضات أثناء الترحيل
عندما يختلف المصدر وBrevo حول العنوان نفسه، يجري الحل وفق الوضع الذي تختاره:
- القرار الأحدث يفوز (الوضع الافتراضي): يسود الطرف الذي يحمل قراره طابعًا زمنيًا أحدث. والطرف الذي لا يحمل طابعًا زمنيًا قابلًا للقراءة يخسر دائمًا أمام طرف يحمله؛ وعند غياب الطابع الزمني عند الطرفين، تفوز الحالة الأقل قابلية للوصول.
- مصدر الحقيقة: تسمّي المنصة صاحبة السلطة في هذا الترحيل (“المصدر على حق” أو “Brevo على حق”). وإذا كانت مساحة عملك تعلن أصلًا نظام سجل، فتلك المنصة تصبح السلطة الافتراضية تلقائيًا.
- في كل الأوضاع: الارتدادات النهائية وشكاوى الإزعاج وقائع تسليم لا تفضيلات، فلا يرفع حظرها أبدًا قبول أحدث، ويُحصى كل تعارض يمتنع المحرك عن التصرف فيه ويُبلَّغ عنه، ولا يُتخطى بصمت أبدًا.
الموثوقية عند الحمل الكامل
- يمشي الاستخراج القائم على المؤشر على جدول المصدر كاملًا (أكثر من 100 ألف جهة اتصال) مع نقاط تحقق، فيستأنف أي انهيار من آخر دفعة مكتملة، ولا تكتب إعادات المحاولة مرتين أبدًا (مفاتيح عدم تكرار لكل سجل).
- تستخدم الكتابة إلى Brevo واجهة الاستيراد الجماعي (10,000 جهة اتصال لكل جزء) ضمن حدود معدل Brevo؛ وتنتقل حالة الحظر مع الاستيراد، فلا توجد فترة يكون فيها السجل قابلًا للوصول ثم محظورًا.
- يُبلغ كل تشغيل عمّا انتقل وعمّا لم ينتقل: جهات الاتصال المستوردة، والرفض الصريح المنقول، وحالات الحظر المنسوخة، والتعارضات المحتجزة، وأسباب الفشل لكل سجل.
ما الذي تضيفه المزامنة بعد الترحيل
بعد الترحيل، تُبقي الاتصالات نفسها Brevo محدثًا: تتدفق التغييرات عبر webhooks المنصات (Shopify وWooCommerce وWordPress وMailchimp) في وقت شبه فعلي، وتُحدَّث المصادر المستطلَعة وفق جدول. وإلغاءات الاشتراك المرصودة عند المصدر تقلب القبول في السجل، مع أثر تدقيق يبيّن متى ومن أين وبأي دليل.
الإعداد
- اربط المنصة المصدر في Tajo (مفتاح API أو OAuth، حسب الموصّل).
- اربط Brevo واختر القوائم الهدف.
- اختر وضع حل التعارضات (أو اقبل الوضع الافتراضي).
- شغّل الترحيل، وراجع التقرير، بما فيه التعارضات المحتجزة، قبل تفعيل الأتمتة.
التعامل مع القبول والحظر غير قابل للإيقاف عبر الإعدادات. ولا يوجد أي إعداد يستورد جهات الاتصال الملغية اشتراكها بوصفها قابلة للمراسلة.