دورة الحياة (من جانب الخادم)

أرسل رابط إعادة التشغيل إلى ActiveCampaign أو Mailchimp أو Iterable أو Klaviyo من خادمنا لحظة حصول الجلسة على معرّف عميلك.

1. لماذا يوجد بجانب جسر المتصفح

يملك MousePlayer جسر دورة حياة يكتب في SDK بصفحتك — Klaviyo وBraze وCustomer.io وستة أخرى. ينفذ هذا المهمة من خادمنا، لأن مسار المتصفح غير متاح ببساطة لاثنتين من أكبر المنصات:

  • لا يملك ActiveCampaign أي API متصفح للأحداث. يستطيع vgo() تعيين حساب وبريد وبدء التتبع — لا إرسال حدث. تمر الأحداث عبر Event Tracking API بمفتاح منفصل ومن جانب الخادم فقط.
  • لدى Mailchimp واجهة لكن بمفردات مغلقة. يقبل بكسل تتبع الموقع PAGE_VIEWED، PRODUCT_VIEWED، PURCHASED وأسماء محددة أخرى قليلة. لا خانة لحدث مخصّص، ووضع بياناتنا في PAGE_VIEWED سيكون تضليلًا داخل نموذج بياناتك.

بالنسبة إلى Iterable وKlaviyo، مسار الخادم أكثر موثوقية: لا مانع إعلانات أو SDK قد يُحمّل أو لا أو تبويب يُغلق مبكرًا.

2. المتطلبات

ثلاثة حقول، وما تملؤه يعتمد على المنصة.

المنصةحقل الحسابالمفتاح
ActiveCampaignactidالموقع → تتبع الموقع، بجانب مفتاح الحدث
Mailchimpمعرّف الجمهورمفتاح API — احتفظ بلاحقة على نمط -us14 ، إذ يُقرأ منها مركز البيانات
Iterableغير مطلوب — اتركه فارغًامفتاح بإذن «Allow event track calls»
Klaviyoغير مطلوب — اتركه فارغًامفتاح API خاص

الحقل الثالث اسم الحدث الظاهر. اختصره إلى: 32 حرفًا كحد أقصى. هذا حد API وليس حدنا، ونختصر عند الحفظ لا الإرسال — وإلا عرض النموذج غير ما يصل.

Mailchimp: احتفظ بلاحقة مفتاح API. الجزء بعد آخر شرطة (-us14) يسمي مركز بيانات حسابك، ويُبنى العنوان منه. يُرفض مفتاح دونها برسالة واضحة بدل فشل خفي.

3. متى يعمل ومتى لا يعمل

عند تعريف الجلسة: حين يستدعي موقعك MousePlayer.setUserId()، أو يقرأ جسر التحليلات معرّفًا مميزًا، أو يستدعي خادمك نقطة identify. قبلها لا نعرف صاحب التسجيل.

بعنوان بريد فقط

تخاطب المنصات الأربع جهة الاتصال ببريدها. إذا كان معرّف عميلك رقم عقد، لا يُرسل شيء — إدراج مهمة ستفشل حتمًا يملأ السجل ضجيجًا فقط.

يجب وجود جهة الاتصال مسبقًا. لا تنشئها أي منصة من حدث؛ يهمل ActiveCampaign الحدث بالكامل إن لم يعرف العنوان. يثري الجسر جهات الاتصال الحالية ولا يبني قائمتك.

يحمل كل حدث معرّفًا

فلا تُحسب الجلسة مرتين، حتى عند إعادة محاولة المهمة.

4. ما يصل إلى الطرف الآخر

حدث واحد يحمل الرابط كخاصية باسم mouseplayer_session_url. افتحه لتصل لتسجيل تلك الجلسة بالضبط.

بعدها منطق منصتك: استخدم الحدث محفز أتمتة أو شرط شريحة، أو دع فريقك يفتح التسجيل من جهة الاتصال.

لا يغادر المفتاح خادمنا مطلقًا

يُخزّن بتشفير AES-256-GCM ولا يُعرض بعد الحفظ، ولا يوضع عمدًا في قائمة المهام الداخلية — يجلبه العامل من قاعدة البيانات بنفسه.

HTTP 200 لا يعني التسليم

يجيب ActiveCampaign بالحالة 200 و {"success":0} عند رفض حدث. نقرأ جسم الرد لا الحالة فقط، فيظهر الرفض كإخفاق في سجل التسليم لا نجاح صامت.

5. Braze وCustomer.io وBrevo

ثلاث منصات إضافية على مسار الخادم. تحتاج اثنتان ما لا تحتاجه البقية: موقعًا.

ما تقدمهالتعريف عبر
Brazeنقطة REST ومفتاح APIعنوان البريد
Customer.ioمعرّف الموقع ومفتاح API ومنطقتكمعرّف عميلك
Brevoمفتاح التتبع فقطعنوان البريد

اثنتان في موقع محدد

يعمل Braze بنقاط REST مرتبطة بالنسخة؛ وCustomer.io بمنطقتين منفصلتين بمضيفين مختلفين. لا يمكن استنتاجهما من المفتاح، والخاطئ يعيد 401 — فيدفعك لفحص المفتاح. لهذا وحده يوجد الحقلان.

Customer.io لا يحتاج بريدًا

يعرف الأشخاص بالمعرّف الذي تمنحه لهم، فاشتراط البريد عقبة مختلقة. تطابق الست الأخرى بالبريد، ولا تنتج لها جلسة معرّفة برقم عقد شيئًا — وهذا صحيح.

لا ملفات جديدة

يحمل استدعاء Braze _update_existing_only. القرار نفسه لجسر CRM: جلسة المتصفح لا تثبت موثوقًا من هم عملاؤك، ومنصة تنشئ ملفًا لكل زائر مجهول أسوأ من عدم وجود تكامل.

يجيب Brevo بـ 204 وBraze بـ 201 مع تنبيه

لا يعيد Brevo جسمًا — هناك تكفي 2xx فعلًا. يعيد Braze "message": "success" وقد يحمل مصفوفة errors بجانبه: تظهر المشكلات القاتلة في message وفقدان الحقول المقبول في errors فقط. قراءة أحدهما وحده تخطئ في اتجاه ما.

كل العلامات التجارية المذكورة ملك لأصحابها. لا تربط MousePlayer علاقة تجارية بهؤلاء المزودين.