معالج تسجيل 10DLC
المعالج هو الطريقة الموصى بها لإتمام تسجيل علامة TCR والحملة. فهو يحوّل المسار الخطي أحادي الحمولة إلى عملية موجَّهة قابلة للاستئناف:- احفظ واستأنف — تبقى المسودة محفوظة عبر الجلسات وعلامات التبويب والأسابيع. أغلق التبويب أو عد غدًا؛ تستكمل من حيث توقفت.
- انتقل بين الخطوات بلا تسلسل — يتتبع المعالج
brandوcampaignوreviewكخطوات مستقلة. املأ عينات الحملة بينما قسم العلامة غير مكتمل بعد، وتُحافظ حمولة التقدم على العددين. - تحقق قبل الدفع — يشتعل التحقيق الميداني عند كل حفظ، وممر تدقيق قبل الإرسال يقيّم المسودة المحفوظة مقابل أنماط رفض TCR المعروفة قبل أن تُدفع رسوم التسجيل upstream.
يكتب المعالج في تخزين مسودات مؤسستك وحدها فقط. فهو لا يحجز ولا يبوّب ولا يوجّه أي حركة رسائل.
/api/v1/compliance/10dlc/wizard. مصادَق بمفتاح API الخاص بك، تمامًا كما في نقاط نهاية العلامة والحملة.
الأدوار وحدود المعدل
- القراءات (
GET /wizard، وGET /wizard/draft) — أي دور مُصادَق في المؤسسة. - الكتابات (
PUT /wizard/draft، وDELETE /wizard/draft، وPOST /wizard/phone/send، وPOST /wizard/phone/confirm، وPOST /wizard/preflight، وPOST /wizard/submit) — دور المالك أو الإداري. - بروفايل الكتابة: 10 طلبات في الدقيقة، مطابقة نقطتي نهاية العلامة/الحملة القديمتين. فحص المعالج قبل الإرسال: 30 طلبًا في الدقيقة، مطابقة نقطة النهاية ad-hoc لما قبل الإرسال.
GET /10dlc/wizard — حمولة التقدم
يعيد كائن التقدم المحسوب الذي تستخدمه لوحة التحكم في بانر “الاستكمال من حيث توقفت”. دائمًا 200 OK — المؤسسة الجديدة تحصل على شكل المسودة الفارغة مع state: "not_started".
state واحدة من not_started وin_progress وbrand_pending وcampaign_pending وready وrejected. current_step واحدة من brand وcampaign وreview. next_action تلميح قراءة آلة: من fill_brand وfill_campaign وreview_and_submit وamend_brand وamend_campaign وdone. عند تقديم العلامة أو الحملة، تحمل الاستجابة أيضًا brand_id وcampaign_id وأي سبب رفض upstream.
يُعيد GET /10dlc/wizard/draft المسودة المحفوظة كاملة (حقول العلامة، وحقول الحملة، والخطوة الحالية) لتعويم النموذج مسبقًا.
PUT /10dlc/wizard/draft — حفظ جزئي
يحفظ أي مجموعة فرعية من حقول العلامة و/أو الحملة. كل حقل اختياري — لا تُتحقق إلا الحقول التي ترسلها، ويبقى الباقي بالقيم المحفوظة سابقًا. يتم تحديث current_step مستقلًا حتى يهبط الاستئناف على الشاشة الصحيحة.
422 ويترك المسودة الدائمة بلا تغيير — حالة الحفظ السابقة تبقى.
حقول العلامة: entity_type، وdisplay_name، وcompany_name، وein، وphone، وstreet، وcity، وstate، وpostal_code، وcountry، وemail، وwebsite، وvertical.
حقول الحملة: usecase، وdescription (40–4096 حرفًا)، وsample_message (1–10 رسائل)، وmessage_flow (40 حرفًا على الأقل)، وhelp_message (20 على الأقل)، وoptout_message (20 على الأقل)، وis_political، وcv_token.
التحقق من هاتف المالك الفرد (OTP)
العلامات الأمريكية بـentity_type: "SOLE_PROPRIETOR" — وتلك فقط — تستبدل رقم هاتف محمول مُتحقق مقام EIN: يثبّت TCR هوية المالك الفرد على رقم هاتف يثبت المسجل سيطرته عليه. كل نوع كيان أمريكي آخر يودع EIN بدلًا منه.
تحقق من الرقم قبل الإرسال:
brand.phone بعد التحقق لا يحتسب الدليل القديم بعد الآن ويفشل الإرسال بـ 422 حتى تشغّل تحديًا جديدًا على الرقم الجديد. استدعاء /phone/send على رقم مُتحقق بالفعل يعيد 409 ALREADY_VERIFIED؛ واستدعاء /phone/confirm دون تحدٍّ معلّق يعيد 404.
POST /10dlc/wizard/preflight — افحص المسودة المحفوظة
يقيّم المسودة الدائمة للمعالج مقابل كتالوج أنماط رفض TCR المعروفة، حتى ترى شاشة “المراجعة والإرسال” النتائج على المسودة التي ستودعها بالضبط — لا فرصة لانحراف تدقيق كما يحدث في نقطة النهاية ad-hoc preflight عندما تفحص حمولة مبناة يدويًا.
جسم الطلب اختياري: expected_msg_per_day_per_number (لقاعدة فئة السعة) وbrand_vetting_score (0–100) إذا كنت تحصل على واحد بالفعل.
score وverdict وfindings[] — مطابقٌ للمدقق ما قبل الإرسال في صفحة التسجيل. وكذلك لتلك النقطة، حكم pass يعني “لم تُطابق أنماط رفض معروفة”، لا “سيقبل TCR”.
POST /10dlc/wizard/submit — علامة + حملة ذرّيًا
يُتحقق المسودة كاملة، ثم يقدّم العلامة والحملة في نداء واحد. يصل تحقق العلامة عادة خلال 1–48 ساعة؛ تلازمها الحملة مباشرة بعدها.
201 Created):
422 قبل سداد أي رسوم، مع details.section يخبرك أالحقول المفقودة أو غير الصالحة في قسم brand أو قسم campaign.
دلالات الإخفاق — الحارس الذرّي:
- العلامة مرفوضة upstream — لا حملة تُقدَّم. تُحفَظ المسودة مع سبب رفض العلامة مطبعًا، وتقلب
next_actionإلىamend_brand. عدّل حقول العلامة وأعد الإرسال. - الحملة مرفوضة upstream —
brand_idالمقبول يُحفَظ، وتبقى الحالة عندbrand_pending، ويُطبع سبب رفض الحملة. إعادة الإرسال تتخطى مرحلة العلامة متغاضية، فلا تُدفع رسوم العلامة ثانية أبدًا؛ الحملة وحدها تدفع مجددًا. - خمسينية upstream أو مزود غير موجود — المسودة محفوظة حرفيًا وتعيدها كما هي.
ready حين تعود العلامة والحملة كلاهما APPROVED من مراجعة شركات الاتصالات.
DELETE /10dlc/wizard/draft — إعادة ضبط
204 No Content. يعيد المعالج إلى المسودة الفارغة (state: "not_started"). هذا لا يمسح معرّفي العلامة أو الحملة المعتمدين على الملف — فهو فقط يعيد ضبط حالة عمل المعالج، لذا هو آمن كتنظيف بعد الموافقة أو “بدء من جديد”.
ترتيب دورة الحياة الكاملة
PUT /10dlc/wizard/draft— املأ العلامة + الحملة تدريجيًا.(SOLE_PROPRIETOR only)POST /10dlc/wizard/phone/send→POST /10dlc/wizard/phone/confirm.POST /10dlc/wizard/preflight— أصلح النتائج حتى يمر الحكم.POST /10dlc/wizard/submit— الإرسال الذرّي.GET /10dlc/wizard— اسْتَجْمِ الحالة حتىready(أوGET /10dlc/campaigns/:id/statusلخريطة بكل شركة اتصالات، كما في صفحة التسجيل).DELETE /10dlc/wizard/draft— تنظيف اختياري بعد الموافقة.