منع التكرار بين القنوات
نفس الشخص يراسل على الموقع وعلى WhatsApp = جهة واحدة في نظامك، لا اثنتان. كيف يعمل المطابقة بالجوّال والبريد تحت السطح.
أكثر فشل شائع في محادثات العملاء متعدّدة القنوات: الشخص نفسه يراسل عبر الموقع هذا الأسبوع، ثمّ عبر WhatsApp في الأسبوع الذي يليه، فينتهي نظامك بجهتين. المبيعات يتّصلون بالاثنتين ويصبحون في موقف محرج.
منع التكرار بين القنوات في وَصل يلتقط هذا تلقائيّاً.
كيف يعمل
كلّ مرّة يستخرج المستخرِج جوّالاً أو بريداً من محادثة:
١. يطبّع القيمة: - الجوّال ← صيغة E.164 الدوليّة (+9665...، يبدأ بـ "+"، أرقام فقط) - البريد ← أحرف صغيرة + إزالة المسافات ٢. يبحث عن جهة موجودة بنفس الجوّال أو البريد المطبَّع داخل الحساب نفسه ٣. يختار الأقدم كالأصل (تاريخ أطول = سجلّ أكثر موثوقيّة) ٤. يُعيد إسناد المحادثة الجديدة للجهة الأصليّة ٥. يدمج بشكل ناعم المكرّرة: يضع mergedIntoId = canonical.id، يبقي السجلّ للتدقيق لكن يخفيه من القوائم الافتراضيّة
ما الذي يُطابَق
مطابقة الجوّال تتحمّل التنويعات الخاصّة بالسعوديّة:
0555123456(صيغة محليّة سعوديّة) ← مطبَّع إلى+96655512345600966555123456(دولي ببادئة 00) ←+966555123456+966555123456(E.164 أصلاً) ←+966555123456555123456(٩ أرقام مجرّدة، أقلّ شيوعاً) ←+966555123456
كلّ الصيغ الأربع تدمج إلى الجهة الأصليّة نفسها.
مطابقة البريد مطابقة دقيقة على القيمة بعد التحويل لأحرف صغيرة وإزالة المسافات:
Mohammed@Example.com←mohammed@example.commohammed@example.com←mohammed@example.com
ما الذي لا يُطابَق
نحن متعمّدون في التحفّظ بشأن الدمج. المادّة ٢٢ج من نظام حماية البيانات الشخصيّة تجعل الدمج الخاطئ أصعب من تفويت دمج — لأنّك ستخلط شخصين حقيقيّين في سجلّ واحد، وهذه مشكلة خصوصيّة حقيقيّة.
تحديداً، لا ندمج بناءً على:
- الاسم وحده (هناك "محمد" و "أحمد" كثيرون في السوق السعودي)
- مطابقات جزئيّة للجوّال (
+96655...يطابق+96656...سيكون خطأ) - مطابقة نطاق البريد فقط (
@gmail.comلا يعني نفس الشخص) - التشابه التقريبي (مسافة Levenshtein، fuzzy matching) — عرضة للأخطاء
إن أردت قواعد دمج أوسع (مثلاً للحسابات المؤسّسيّة بجودة بيانات معروفة)، تواصل مع الدعم. يمكننا إضافة إعدادات لكلّ حساب.
متى يحدث الدمج
فحص الدمج يُطلَق:
١. على كلّ رسالة WhatsApp واردة (بجوّال المرسِل) ٢. على كلّ رسالة من ويدجت الموقع تحوي جوّالاً أو بريداً في النصّ ٣. على كلّ مكالمة صوتيّة (بـ caller ID) ٤. على كلّ سحب من موصل النظام (عند تحديث قائمة جهات النظام) ٥. على إنشاء يدوي للجهة من قِبل الموظّف (لكن — راجع "الجهات اليدويّة" أدناه)
الجهات اليدويّة لا تُدمَج تلقائيّاً
عندما ينشئ موظّف جهة يدويّاً عبر POST /contacts من لوحة التحكّم، نحن لا نشغّل فحص الدمج.
السبب: الموظّف الذي يدخل البيانات مفترَض أنّه يعرف هل ينشئ جهة جديدة أم يحدّث موجودة. الدمج التلقائي فوق ذلك سيكون مهيناً لذكائه ويُنتج إخفاقات مفاجئة ("أنشأت محمد للتوّ واختفى داخل جهة أخرى").
التعديلات اليدويّة كذلك لا تشغّل فحص الدمج على التحديثات التلقائيّة اللاحقة.
مسار التدقيق
كلّ دمج يكتب سجلّ تدقيق:
- الإجراء:
MERGE.CONTACT - المورد: معرّف الجهة المكرّرة
- البيانات الإضافيّة:
mergedInto(معرّف الأصليّة)،matchedOn("phone" أو "email")
إن كان الدمج خاطئاً (نادر لكن ممكن)، سجلّ التدقيق يسمح لك بتتبّع ما حدث وفصل الدمج يدويّاً من واجهة الجهات.
فصل الدمج
إن احتجت لفصل دمج (لأنّ الدمج التلقائي كان خاطئاً):
١. اذهب إلى الجهة المكرّرة (تظهر إن فعّلت "إظهار المدمَجة" في صفحة الجهات) ٢. اضغط فصل الدمج ٣. يُمسَح mergedIntoId من المكرّرة؛ الجهتان مستقلّتان مجدّداً ٤. المحادثات تبقى حيث أُسنِدت (فصل الدمج لا يُعيد الإسناد تلقائيّاً)
نادراً ما تحتاج هذا — قواعد المطابقة المتحفّظة تجعل الدمج الخاطئ غير شائع.
ما تظهره لوحة التحكّم
في صندوق الوارد، تظهر المحادثات تحت اسم الجهة الأصليّة. شريط صغير "٣ قنوات" على بطاقة الجهة يُشير إلى أنّ هذا سجلّ مدمَج عبر قنوات متعدّدة.
في صفحة الجهات، تظهر فقط الجهات الأصليّة (غير المدمَجة) افتراضيّاً. زرّ تبديل يسمح للموظّفين برؤية المكرّرات المدمَجة إن أرادوا التدقيق.
ما الذي يُدفَع لنظامك
فقط الجهة الأصليّة تُدفَع. المكرّرات تُكتم من خطّ أنابيب الموصلات.
هذا يعني:
- لا توجد سجلّات Salesforce/HubSpot/إلخ مكرّرة من محادثات متعدّدة القنوات
- السجلّ الأصلي يصبح أغنى تدريجيّاً مع وصول محادثات جديدة (ملاحظات أكثر، قنوات أكثر، تاريخ درجات أكثر)
- إن كانت المكرّرة تحوي بيانات لا توجد في الأصليّة (مثل بريد مختلف)، الدمج يضيف الحقل الجديد للأصليّة دون استبدال الحقول الموجودة
أسئلة شائعة
ماذا لو شارك شخصان حقيقيّان جوّالاً واحداً (مثل خطّ أرضي)؟
- سيُدمَجان في جهة واحدة، وهذا خطأ، لكنّه مطابق لما ستراه في أيّ نظام يستخدم الدمج بالجوّال.
- الحل البديل: استخدم البريد الإلكتروني كمعرّف أساسي بدل الجوّال. أو افصل الدمج لاحقاً.
ماذا عن الأرقام الدوليّة؟
- المُطبِّع يتعامل مع E.164 عالميّاً. رقم أمريكي
+1 555 123 4567يُطبَّع إلى+15551234567ويطابق نفسه عبر القنوات. - الصيغ الخاصّة بالسعوديّة (
05x،00966،+966) كلّها تتقارب لنفس E.164.
هل يدمج عبر الشركات/الحسابات؟
- لا. الدمج محصور بحساب واحد (نطاق
companyId). نفس الشخص يراسل شركتين مختلفتين تستخدمان وَصل يظهر كجهتين منفصلتين في حسابين منفصلين — وهذا الصحيح.
ماذا لو غيّر العميل جوّاله؟
- جوّال جديد = جهة جديدة. الجهة القديمة تبقى بجوّالها القديم.
- إن أردت دمجهما، افعل ذلك يدويّاً عبر واجهة فصل الدمج بشكل عكسي (إجراء "ادمج في" — مخطّط حاليّاً، لم يُشحَن بعد).
