Skip to main content

فرز DNC: المصادر وحداثة البيانات ونقطة نهاية الفحص

يجيب فرز Do-Not-Call عن سؤال واحد قبل أن ترسل: هل هذا الرقم على قائمة تحظر الاتصال به أو تقيّده؟ تفحص Orbit قوائمك الخاصة (أعلام جهات الاتصال، وإدخالات DNC، والكبح، والموافقة)، والقائمة على مستوى المنصّة، وخلاصات الولايات الأمريكية الفدرالية/الولائية/TCR، وعديد من السجلات الوطنية الدولية — والسلسلة نفسها التي يفرضها مسار الإرسال قابلة للقراءة كواجهة API، فيمكنك إجراء فحص مسبق لقائمة باردة دون المخاطرة بإرسال مخالف. هذه الصفحة هي الصورة الكاملة من الطرف إلى الطرف: متى يهمّ الفرز، وكيف تفعّله، ومن أين تأتي البيانات المزامَنة، وكيف تقرأ حقلي source وlast_synced_at في نقطة نهاية الفحص، والتحفّظ الوحيد للفشل المفتوح (fail-open) الذي عليك إدارته. لبوّابات وقت الإرسال التي تستهلك النتيجة، راجع Send Gates. جميع نقاط النهاية أدناه متجذّرة في https://api.orbit.devotel.io/api/v1/compliance.
تصف هذه الصفحة ضوابط Orbit المنصّية. ليست نصيحة قانونية. ما إذا كان رقم ما محظورًا عليك يعتمد على ولايتك القضائية وعلى مستلميك وعلى ما ترسله. تأكد لدى مستشار قانوني مؤهّل.

متى يهمّ فرز DNC

تأتي التزامات DNC من أكثر من سجل واحد، وهي تتراكب:
  • سجل DNC الفدرالي الأمريكي (FTC National Registry). مكالمات التسويق الهاتفي والرسائل النصية التسويقية إلى رقم مسجَّل على المستوى الفدرالي مقيّدة؛ والفرز مقابل السجل الفدرالي هو خط الدفاع الأساسي قبل أي حملة صادرة.
  • سجلات الولايات الأمريكية. تُشغِّل عدة ولايات قوائم DNC خاصة بها فوق القائمة الفدرالية. قد يكون الرقم غائبًا فدراليًا لكنه مسجَّل في بنسلفانيا مثلاً — فالفرز الفدرالي وحده غير كامل لحركة النقل الأمريكية.
  • TCR Universal Opt-Out. تلتقط قائمة الإلغاء العالمي لـ The Campaign Registry الأرقام التي ألغت اشتراكها في الرسائل A2P على مستوى السجل. إقرارها جزء من نظافة الرسائل 10DLC الأمريكية بغض النظر عن قائمة الكبح الخاصة بك.
  • السجلات الوطنية الدولية. خارج الولايات المتحدة تسري قوائم وطنية مكافئة — UK TPS وCTPS، وسجل Do Not Call الأسترالي، وNDNC الهندي. هذه لكل ولاية قضائية: تفرز حملة بريطانية مقابل السجلات البريطانية، ولهذا تقبل نقطة نهاية الفحص مرشّح country (أدناه).
لا شيء من هذا يحلّ محلّ طبقة الكبح الخاصة بك — فالمستلم الذي ردّ STOP إليك أنت مقيّد بغض النظر عن أي سجل وطني. تعامل سلسلة الفرز كبحك وإلغاءات موافقتك والسجلات الوطنية كإجابة واحدة مدمجة.

تفعيل مفتاح المستأجر

نقطة الفحص مطفأة افتراضيًا لكل منظمة. حتى تشترك — أو حتى تملك Orbit خلاصة مزامَنة للمنصّة — تعيد نقطة النهاية 403 DNC_SYNC_NOT_ENABLED:
فعّلها في إعدادات امتثال منظمتك (إعداد dnc_sync_enabled — راجع خريطة الوضعية التي تسرد هذا المفتاح وقيمته الافتراضية). تفعيل واحد يمكّن فحص الرقم الواحد والفرز الجَمعي معًا.
تتقاعد البوّابة تلقائيًا حين تتم مزامنة الخلاصات. مفتاح المنظمة هو الإقرار بأنه ما دامت لا توجد خلاصة فدرالية مزامَنة، لا تفرز Orbit مقابل سجل FTC نيابة عنك. وحين تمتلك المنصّة لقطة فدرالية/ولائية/TCR (أو دولية) مزامَنة، تخدم نقطة النهاية مباشرة ولا تسري بوّابة 403 — وحقل federal_feeds_synced في كل استجابة يخبرك أي حالة أنت فيها. لا يتأثر إنفاذ DNC والكبح والموافقة الخاصة بك على مسار الإرسال في كلتا الحالتين.

من أين تأتي القائمة (توصيل الخلاصات)

تصل بيانات DNC المزامَنة من خلاصات علوية، تُحدَّث يوميًا في قائمة DNC على مستوى المنصّة. ما يضبطه المشغّل يحدّد أي قيم source تراها مُعادة من نقطة نهاية الفحص. هذه متغيّرات بيئة على مستوى المشغّل. على منصّة Orbit المستضافة (SaaS) تكون مضبوطة عنك؛ ومشغّل الـ SaaS يتحكم في أي الخلاصات حيّة. تؤثّر فيك مباشرةً فقط إذا كنت تستضيف Orbit ذاتيًا — في تلك الحالة اضبطها في نشرك:
  • DEVOTEL_DNC_FEED_FILE — وحدة تخزين مركَّبة تحوي لقطة فدرالية/ولائية/TCR مشتراة. تقرأها المزامنة اليومية، وتُحلّل كل رقم ألغى اشتراكه، وتُدرِجه في قائمة DNC للمنصّة موسومًا بمصدره (federal_dnc أو state_dnc:XX أو tcr).
  • DEVOTEL_DNC_FEED_URL — تنزيل موثَّق للقطة نفسها، بديلاً عن الملف المركَّب. يتقدّم الملف حين يكون كلاهما مضبوطًا.
تعمل المزامنة مرة واحدة في اليوم بتوقيت UTC (تنشر الخلاصات مرة في يوم العمل؛ ويستهدف التشغيل 03:00 UTC كي يرى نافذة الإرسال الصباحية بيانات حديثة). إعادة تشغيل اللقطة نفسها لا عملية لها سوى تحديث الطابع الزمني — الإدراج خامل (idempotent). البديل: سحب TCR مباشر. حين لا تكون ملف/URL اللقطة مضبوطًا لكن بيانات اعتماد شريك TCR المدفوعة مضبوطة — DEVOTEL_TCR_API_KEY مع DEVOTEL_TCR_PARTNER_ID — تسحب المزامنة اليومية سجل Universal Opt-Out لـ TCR مباشرة من واجهة API الشريك وتُدرِجه كـ source: "tcr". يمنحك هذا فرز TCR من اشتراك TCR القائم دون CSV خارج النطاق.
اللقطة نفسها التي تكتبها المزامنة اليومية إلى قائمة DNC للمنصّة تُحمَّل أيضًا إلى الذاكرة بواسطة الـ API عند الإقلاع، كي تستطيع نقطة الفحص إجابة بحث فدرالي/ولائي/TCR دون انتظار الكتابة اليومية التالية. تعني federal_feeds_synced: true في الاستجابة أن تلك الخلاصة في الذاكرة حيّة.

قراءة نقطة نهاية الفحص

GET /compliance/dnc/check تُبلِغ عمّا إذا كان رقم E.164 واحد على أي مصدر DNC يفرضه مسار الإرسال. وهي قراءة فقط — لا تجري إرسالاً.
تعيد الإصابة:
الرقم الصافي يعيد "on_dnc": false و"source": "none" وjurisdictions فارغة. الحقول التي تحمل الوضعية:
  • source — أي مصدر أنتج أول إصابة، واحدة من federal_dnc أو state_dnc (سجل ولاية أمريكية) أو tcr (Universal Opt-Out لـ TCR) أو intl_dnc (سجل وطني دولي) أو suppression (طبقة الكبح الخاصة بك) أو none (ليس على أي قائمة). تسرد jurisdictions كل منشأ مطابق، فيظهر الرقم الموجود على السجل الفدرالي وعلى سجل ولاية معًا كلَيهما.
  • last_synced_at — الطابع الزمني لحداثة المصدر المطابق: متى مُزامِنَت لقطة فدرالية/ولائية/TCR (أو الصف الذي أصابها) آخر مرة. تختم المزامنة اليومية صف نبضة (heartbeat) كل تشغيل، فيحمل هذا الحقل دائمًا إشارة «آخر مزامنة» للمصادر المدعومة بالخلاصات بدل الصمت حين لا يطابق صف. مصادر الكبح/الموافقة الخاصة بك لا مزامنة لها، فعند إصابة كبح وحدها يعكس الحقل حدث الإلغاء نفسه.
  • federal_feeds_synced / intl_feeds_synced — ما إذا كان الـ API قد استوعب فعلاً لقطة فدرالية/ولائية/TCR أمريكية ولقطة سجل وطني دولي، على التوالي. اقرأهما في كل استجابة: فهما يفرّقان بين «الرقم صافٍ» وبين «الرقم صافٍ و فرز فدرالي ساند تلك الإجابة».
مرشّح لكل ولاية قضائية. أضِف country (ISO alpha-2) لحصر بحث السجل الدولي في ولاية قضائية واحدة:
مع country=GB، لا يمكن أن تنتج مطابقة دولية إلا من السجلات البريطانية (TPS/CTPS) — فلا تُعلَّم حملة متجهة إلى بريطانيا على سجل دولة لا علاقة لها. الجَمع. لفرز قائمة كاملة أو جمهور حملة في نداء واحد، استعمل POST /compliance/dnc/scrub مع مصفوفة phones (حتى 500 رقم في الطلب؛ تُزال التكرارات). تشغّل السلسلة نفسها لكل رقم وتعيد أحكامًا لكل رقم مع عددي on_dnc / clear. وتسرى بوّابة المنظمة نفسها.

كيف يستهلكها مسار الإرسال

نقطة الفحص هي قراءة للسلسلة نفسها التي يفرضها مسار الإرسال. لا توصّل الفرز بإرسالاتك — Orbit فعلت ذلك أصلاً:
  • الرسائل (SMS / MMS / WhatsApp / …). قبل الإرسال، يجيب مسار الإرسال عن «هل ألغى هذا المستلم اشتراكه؟» مقابل مصادر DNC نفسها — علم DNC لجهة اتصالك، وقائمة DNC الخاصة بك، وقائمة الكبح (إشارة STOP العابرة للقنوات)، وقائمة DNC على مستوى المنصّة (حيث تهبط الخلاصة الفدرالية/الولائية/TCR اليومية)، وإلغاءات الموافقة المسجَّلة. الإصابة تُسقِط الإرسال.
  • الصوت / المتصل (dialer). يشغّل المتصل سلسلة الامتثال نفسها قبل إنشاء مكالمة — STOP العابر للقنوات، وDNC لجهة الاتصال، وDNC المنصّة، والموافقة — فلا يُتَّصل صوتيًا برقم ألغى اشتراكه عبر SMS. ويفشل مسار الإرسال مغلقًا: إن تعذّر إكمال فحص الامتثال نفسه، تُؤجَّل المكالمة بدل الاتصال.
فوظيفة نقطة النهاية إذن الفحص المسبق لا الإنفاذ: اسألها (أو الفرز الجَمعي) عن قائمة باردة قبل الحملة لإزالة الأرقام التي كانت البوّابة ستحظرها على أي حال — ولإظهارها لسجلاتك الخاصة.

تحفّظ الفشل المفتوح (fail-open)

نقطة القراءة فاشلة مفتوحة عند طبقة المصدر: إن تعذّر الاستعلام عن مصدر DNC واحد، يتابع الفحص إلى غيره ويعيد أفضل إجابة يمكنه. النتيجة الملموسة التي عليك فهمها:
ما دامت لا خلاصة فدرالية مزامَنة، فالرقم الموجود على سجل FTC الفدرالي وحدَه يقرأ صافيًا (on_dnc: false).
لذلك تُبوَّب نقطة النهاية حتى تشترك، ولذلك يرافق federal_feeds_synced كل استجابة. ويترتب على ذلك حكمان تشغيليان:
  1. لا تَعُدّ النتيجة الصافية ملاذًا آمنًا فدراليًا ما لم تكن federal_feeds_synced: true. حكم الصفاء مع federal_feeds_synced: false يعني فقط أن قوائمك الخاصة والكبح والموافقة وقائمة المنصّة لم تُعلِّم الرقم.
  2. البوّابة الصارمة هي مسار الإرسال. مسار القراءة فاشل مفتوحًا (fail-open) تصميمًا؛ ومسار الإرسال ليس كذلك. لا يتحوّل سلبي كاذب من استعلام مسبق أبدًا إلى إرسال — فسلسلة وقت الإرسال تعيد فحص المصادر نفسها وتحظر ما تجده.
على SaaS لـ Orbit، عُدّ federal_feeds_synced: false بمعنى «لا فرز فدرالي يسند هذه الإجابة بعد» ووازِن ذلك فيما إذا كنت تعتمد على الفحص المسبق لحملة أمريكية. المستضيفون ذاتيًا يغلقون الفجوة بضبط خلاصة (أعلاه).

التحقق قبل الحملة

افحص مسبقًا جمهور حملة بالفرز الجَمعي، ثم تصرّف على الأحكام:
أزِل أرقام on_dnc: true من الجمهور قبل الإرسال. افحص federal_feeds_synced / intl_feeds_synced في الاستجابة نفسها لتعرف أي السجلات ساندت الأحكام فعلاً، وافحص last_synced_at لكل نتيجة للتأكد من حداثة البيانات. لقائمة أكبر، صفّحها في حُزم من 500 رقم.
راجع أيضًا: