فرز DNC: المصادر وحداثة البيانات ونقطة نهاية الفحص
يجيب فرز Do-Not-Call عن سؤال واحد قبل أن ترسل: هل هذا الرقم على قائمة تحظر الاتصال به أو تقيّده؟ تفحص Orbit قوائمك الخاصة (أعلام جهات الاتصال، وإدخالات DNC، والكبح، والموافقة)، والقائمة على مستوى المنصّة، وخلاصات الولايات الأمريكية الفدرالية/الولائية/TCR، وعديد من السجلات الوطنية الدولية — والسلسلة نفسها التي يفرضها مسار الإرسال قابلة للقراءة كواجهة API، فيمكنك إجراء فحص مسبق لقائمة باردة دون المخاطرة بإرسال مخالف. هذه الصفحة هي الصورة الكاملة من الطرف إلى الطرف: متى يهمّ الفرز، وكيف تفعّله، ومن أين تأتي البيانات المزامَنة، وكيف تقرأ حقليsource
وlast_synced_at في نقطة نهاية الفحص، والتحفّظ الوحيد للفشل المفتوح
(fail-open) الذي عليك إدارته. لبوّابات وقت الإرسال التي تستهلك
النتيجة، راجع Send Gates.
جميع نقاط النهاية أدناه متجذّرة في
https://api.orbit.devotel.io/api/v1/compliance.
متى يهمّ فرز DNC
تأتي التزامات DNC من أكثر من سجل واحد، وهي تتراكب:- سجل DNC الفدرالي الأمريكي (FTC National Registry). مكالمات التسويق الهاتفي والرسائل النصية التسويقية إلى رقم مسجَّل على المستوى الفدرالي مقيّدة؛ والفرز مقابل السجل الفدرالي هو خط الدفاع الأساسي قبل أي حملة صادرة.
- سجلات الولايات الأمريكية. تُشغِّل عدة ولايات قوائم DNC خاصة بها فوق القائمة الفدرالية. قد يكون الرقم غائبًا فدراليًا لكنه مسجَّل في بنسلفانيا مثلاً — فالفرز الفدرالي وحده غير كامل لحركة النقل الأمريكية.
- TCR Universal Opt-Out. تلتقط قائمة الإلغاء العالمي لـ The Campaign Registry الأرقام التي ألغت اشتراكها في الرسائل A2P على مستوى السجل. إقرارها جزء من نظافة الرسائل 10DLC الأمريكية بغض النظر عن قائمة الكبح الخاصة بك.
- السجلات الوطنية الدولية. خارج الولايات المتحدة تسري قوائم وطنية
مكافئة — UK TPS وCTPS، وسجل Do Not Call الأسترالي، وNDNC الهندي.
هذه لكل ولاية قضائية: تفرز حملة بريطانية مقابل السجلات البريطانية،
ولهذا تقبل نقطة نهاية الفحص مرشّح
country(أدناه).
تفعيل مفتاح المستأجر
نقطة الفحص مطفأة افتراضيًا لكل منظمة. حتى تشترك — أو حتى تملك 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— تنزيل موثَّق للقطة نفسها، بديلاً عن الملف المركَّب. يتقدّم الملف حين يكون كلاهما مضبوطًا.
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
كل استجابة. ويترتب على ذلك حكمان تشغيليان:
- لا تَعُدّ النتيجة الصافية ملاذًا آمنًا فدراليًا ما لم تكن
federal_feeds_synced: true. حكم الصفاء معfederal_feeds_synced: falseيعني فقط أن قوائمك الخاصة والكبح والموافقة وقائمة المنصّة لم تُعلِّم الرقم. - البوّابة الصارمة هي مسار الإرسال. مسار القراءة فاشل مفتوحًا (fail-open) تصميمًا؛ ومسار الإرسال ليس كذلك. لا يتحوّل سلبي كاذب من استعلام مسبق أبدًا إلى إرسال — فسلسلة وقت الإرسال تعيد فحص المصادر نفسها وتحظر ما تجده.
federal_feeds_synced: false بمعنى «لا فرز
فدرالي يسند هذه الإجابة بعد» ووازِن ذلك فيما إذا كنت تعتمد على الفحص
المسبق لحملة أمريكية. المستضيفون ذاتيًا يغلقون الفجوة بضبط خلاصة
(أعلاه).
التحقق قبل الحملة
افحص مسبقًا جمهور حملة بالفرز الجَمعي، ثم تصرّف على الأحكام:on_dnc: true من الجمهور قبل الإرسال. افحص
federal_feeds_synced / intl_feeds_synced في الاستجابة نفسها لتعرف
أي السجلات ساندت الأحكام فعلاً، وافحص last_synced_at لكل نتيجة
للتأكد من حداثة البيانات. لقائمة أكبر، صفّحها في حُزم من 500 رقم.
راجع أيضًا:
- Send Gates — بوّابات ساعات الهدوء / DNC / RND / RMD في وقت الإرسال والإيقاف الطارئ.
- بوّابة TCPA المعروف بالتقاضي — فحص منشأ المستلم الذي يُكمِل فرز DNC لمخاطر TCPA الأمريكية.
- الفرز المسبق الجَمعي لـ DNC — سير عمل الحملة حول الفرز الجَمعي: التبويب والتقطيع وتوجيه الأرقام المعلَّمة.
- قوائم إلغاء الاشتراك والكبح — كيف تهبط STOP المستلم على طبقة الكبح التي تقرأها سلسلة DNC.
- وضعية امتثال مستأجرك — خريطة
المفاتيح، بما فيها صف
dnc_sync_enabledلهذه الصفحة.