clickSomo
افتح ClickSomo

جهات الاتصال والموافقة

قائمة يمكنك الدفاع عنها، لا مجرد قائمة تملكها

أي شخص يمكنه الاحتفاظ بعشرة آلاف عنوان بريد إلكتروني. السؤال المهم — الذي يطرحه الجهة التنظيمية والمزوّد وضميرك أنت، كلٌّ منهم بكلمات مختلفة قليلًا — هو من أين جاء كل عنوان وعلى أي أساس يجوز لك الكتابة إليه. ClickSomo يجعل ذلك حقيقة مخزَّنة بدل شيء يتعين عليك إعادة بنائه.

الهوية هي عنوان البريد الإلكتروني

جهة اتصال واحدة لكل عنوان في كل مشروع، مفروضة من قاعدة البيانات لا من الأمل. تُطبَّع العناوين عند الكتابة، لا عند القراءة أبدًا — فالتطبيع عند القراءة يجعل القيد مجرد زينة تسمح لـ Anna@ وanna@ بالدخول معًا.

تُخزَّن أرقام الهواتف بصيغة E.164 حيث توجد، لكن رقم الهاتف صفة وليس هوية. لا توجد شبكة لحل الهويات، ولا بروتوكول دمج، ولا سجل تدقيق للدمجات، لأن كل جهة اتصال هنا تصل عبر قناة تمتلك بالفعل عنوانًا: استيراد، أو نموذج، أو اشتراك، أو كودك الخاص.

يُخزَّن الاسم كاملًا

display_name يُحفظ تمامًا كما وُلِّد ولا يُقسَّم أبدًا إلى أجزاء. تقسيم الأسماء مصنع للعلل — "van der Berg"، "Kim Min-jun"، الأسماء المفردة، الألقاب، وكل اصطلاح ترتيب غير الأنجلوسكسوني — والتقسيم الخاطئ يظهر في وسم دمج على شكل "عزيزي van،"، وهذا أسوأ من غياب التخصيص كليًا.

الأجزاء المهيكلة موجودة فقط للمصادر التي توفّرها مفصولة مسبقًا. لا شيء يشتقها. والاسم الذي كتبه شخص بنفسه لا يُستبدل أبدًا بملف CSV لاحق صادف أن لاحظ شيئًا مختلفًا، لأن قاعدة «آخر كتابة تفوز» تجعل أكثر الاستيرادات ركاكة هي الفائزة.

جهة اتصال واحدةما يُحفظ
  • 1الهويةالبريد الإلكتروني، مُطبَّع. فريد داخل المشروع.
  • 2الاسميُخزَّن كاملًا. first_name يُشتق وقت العرض ولا يُخزَّن أبدًا.
  • 3السماتأي شيء تريده، بصيغة JSON. ملكك، وقابلة للاستيفاء كـ attrs.*.
  • 4الوسوم والقوائمالوسوم كيانات من الدرجة الأولى تعيش في مخزن واحد؛ والقوائم عضوية صريحة.
  • 5الموافقةصف واحد لكل قناة، مع أساس قانوني ودليله.
  • 6الأحداثسجل إضافي فقط لكل ما فعله هذا الشخص. الجدول الذي يقوم عليه المنتج.
  • ×أبدًالا كلمة مرور، ولا تجزئة، ولا جلسة، ولا مفتاح API. العمود الذي يصادق على شخص ما سيكون حادثة أمنية، لا ميزة.

محدود بالمستأجر والمشروع معًا

سجل الموافقات

الغياب ليس إذنًا

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

consent

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

legitimate_interest

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

contract

تكتب إليهم بسبب شيء تشاركان فيه الطرفين. تذكير الخدمة، إشعار التجديد، الشيء الذي كان سيتضايق لعدم تلقيه.

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

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

خلف كل صف في القائمة، شخص ما قال نعم.

أربعة طرق للدخول

كل طريق إلى قائمتك هو أنت، تتصرف في بياناتك الخاصة

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

استيراد CSV

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

نموذج ClickSomo

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

صفحة بنيتها في dash-b

مصمم لوحة التحكم ينشر الصفحات؛ والنموذج على إحداها يرسل إلى هنا ببيانات اعتمادك الخاصة. التحقق نفسه، ومعالجة الموافقة نفسها، دون تكامل ثانٍ يجب صيانته.

واجهة API العامة

POST /v1/contacts برمزك الخاص، بدلالات upsert، ومع احترام مفتاح عدم التكرار. تطبيقك يعرف بالفعل من سجّل؛ وهذا أقصر طريق من تلك الحقيقة إلى قمع التحويل.

الشرائح دالة محمولة مُصرَّفة

الشريحة هي شجرة شروط محفوظة فوق حقول جهات الاتصال والسمات والوسوم والانتماء للقوائم والسلوك، تُترجم إلى SQL وتُخزَّن مؤقتًا مع عدد. المعاملات هي المألوفة — يساوي، لا يساوي، ضمن، ليس ضمن، يبدأ بـ، ينتهي بـ، يحتوي، محدد، غير محدد — وتُدمج بـ and وor وnot إلى أي عمق تحتاجه.

عاينها قبل استخدامها. تعيد نقطة النهاية جهات اتصال حقيقية، فسؤال «من الموجودون هنا فعلًا» تجيب عنه بالنظر لا بالإرسال واكتشاف النتيجة.

ثم تؤدي الشرائح دورًا مزدوجًا: كجمهور لحملة، وكشرط على فرع قمع، وكمحفّز بذاتها — segment_enter يبدأ تشغيلًا لحظة أن يصبح أحدهم مؤهلًا.

الدائمون الهادئونمعاينة الشريحة · 412
  • 1وسمtags contains "regular"
  • 2سمةattrs.total_orders >= 3 — حقلُك واسمُك له.
  • 3السلوكلا حدث order.paid خلال آخر 90 يومًا.
  • 4الموافقةأساس بريد إلكتروني قابل للاستخدام. جهات الاتصال التي لا تملكه ليست في العدد، لأنه لا يمكن الإرسال إليها أصلًا.
  • ممعاينة412 جهة اتصال، مُدرجة. يُعاد العد عند الإرسال، لأن الشريحة سؤال وليست لقطة.

مُترجَمة إلى SQLالعد مخزَّن مؤقتًا، والإجابة حيّة

الاستبعاد ومتى يُفحص

الاستبعادات على مستوى المشروع وعالمية: الارتدادات الصلبة، والشكاوى، وإلغاءات الاشتراك، والإدخالات اليدوية، وعناوين الأدوار. تُفحص وقت الإرسال، ثم مرة أخرى داخل خدمة الإرسال نفسها.

الكلمة الثانية هي التي تؤدي العمل. قمع فيه انتظار ثلاثة أيام له نافذة ثلاثة أيام يمكن لأحدهم فيها إلغاء اشتراكه، والنظام الذي فحص الاستبعاد عند طوابير الرسالة سيرسل إليه رغم ذلك. الفحص وقت الإرسال هو الفرق بين احترام إلغاء الاشتراك وتسجيله فحسب.

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