تطابق هذه الأدلة مفاهيم القطاع مع العناصر الموجودة في المنصة اليوم (باقات القنوات والخطوط والحزم وحسابات الموزّعين والعقد وواجهة API). وهي مطابقات مفاهيمية لا ميزات خاصة بقطاع، وحساب الموزّع حساب مفوَّض لا tenant معزول.
المطابقة المفاهيمية
لا شيء في اللوحة يُسمّى اشتراكًا أو نقطة حضور. يبيّن الجدول أي كائن يؤدي أي دور؛ وتُعدّه الفصول أدناه بهذا الترتيب.
| في قطاعك | على المنصة | أين في اللوحة |
|---|---|---|
| حساب موزّع أو شريك إقليمي | حساب موزّع (reseller): لوحة مفوَّضة بأرصدة وصلاحيات وخطوطه الخاصة | Users ← إضافة موزّع؛ Groups لصلاحياته |
| مستوى قنوات أو حزمة إضافية | باقة قنوات (bouquet): مجموعة مسمّاة من القنوات أو الأفلام أو المسلسلات تمنحها الحزمة | Bouquets، من Streams وMovies / Series |
| قناة تلفزيونية | قناة مباشرة: بث بمصادره وEPG وصيغ الإخراج | Streams ← إضافة بث مباشر (رابط المصدر أو دفع RTMP) |
| مكتبة الفيديو عند الطلب | كتالوج VOD: أفلام ومسلسلات بمواسم وحلقات وتصنيفات وبيانات وصفية | Movies وSeries، أو مهمة استيراد VOD |
| وصول المشترك إلى التلفزيون | الخط: وصول واحد بحزمته وباقات قنواته وانتهائه وحد اتصالاته ومخرجاته | Lines ← إضافة، أو رموز التفعيل، أو Reseller API |
| نهاية فترة الفوترة | تاريخ انتهاء الخط، يُجدَّد بحزمة أو رصيد أو واجهة API | تاريخ انتهاء الخط ومدة الحزمة |
| شاشات لكل اشتراك | الحد الأقصى لاتصالات الخط: عدد الأجهزة التي يمكنها المشاهدة في آن واحد | الحد الأقصى لاتصالات الخط |
| تكامل الفوترة والتوفير | Reseller API وwebhooks: عمليات اللوحة من نظامك الخاص | مفاتيح Reseller API وwebhooks في لوحة الموزّع |
| عقدة نقطة الحضور | عقد البث: خوادم حافة تُسجَّل من اللوحة، واحدة لكل موقع أو مبنى | Servers ← إضافة عقدة، تُثبَّت عبر SSH |
المتطلبات
ما يجب توفيره قبل التثبيت.
- خادم في الموقع الرئيسي (Ubuntu 22.04 أو 24.04)، والمثبّت، ونطاق أو عنوان يصل إليه المشتركون، وخادم في كل نقطة حضور للعقد.
- بث القنوات المرخّصة، ومكتبة الفيديو عند الطلب، ونظام الفوترة الذي تعيش فيه الاشتراكات.
- قرار بشأن المستويات، وطول فترة الفوترة، وأي الموزّعين يحصلون على حساب شريك.
نشر البنية
الموقع الرئيسي، ثم نقاط الحضور.
- شغّل المثبّت على الخادم الرئيسي؛ وضع اللوحة خلف وكيلك العكسي واضبط TRUSTED_PROXIES لترى السجلات وقواعد IP عنوان المشترك الحقيقي.
- اضبط أساس التشغيل على العنوان العام الذي يصل إليه المشتركون، وأدخل مفتاح الترخيص على الخادم.
- سجّل عقدة لكل نقطة حضور من الخوادم؛ تثبّتها اللوحة عبر SSH، أو تسجّل العقدة نفسها برمز لمرة واحدة، وتوجّه إليها المشتركين القريبين منها.
- أنشئ حساب شريك (موزّع) للدعم أو لفريق الفوترة بأذونات الخطوط فقط.
تنظيم المحتوى
المستويات والحزم الإضافية كباقات قنوات.
- أضف القنوات ضمن البثوث ومكتبة الفيديو عند الطلب ضمن الأفلام والمسلسلات، مع تصنيفات ومصدر EPG.
- أنشئ باقات للقنوات الأساسية والقنوات المميزة ومكتبة الفيديو عند الطلب.
- أنشئ حزمة لكل مستوى اشتراك بالباقات التي تمنحها، وفترة الفوترة كمدة، وسعرًا بالرصيد.
- أنشئ حزمة تجريبية قصيرة لعرض ترويجي أو لعميل جديد.
إعداد الشركاء (الموزّعين)
موزّعون برصيد.
- أنشئ مجموعة للموزّعين بأذونات لخطوطهم الخاصة ودون وصول إلى الكتالوج أو الإعدادات.
- أضف كل موزّع إقليمي كحساب شريك بتلك المجموعة والحزم التي يجوز له بيعها ورصيد؛ ويمكن أن يكون للموزّع موزّعون فرعيون حتى خمسة مستويات.
- تنبّه webhook credits.low وإشعار الرصيد المنخفض الموزّع إلى الشحن قبل أن تتوقف المبيعات.
إعداد خطوط المشتركين
خط لكل اشتراك.
- تنشئ الفوترة خطًا عند بدء الاشتراك، عبر موصّل أو action=create_line في Reseller API مع حزمة المستوى ومعرّف الطلب.
- اضبط الحد الأقصى للاتصالات لكل مستوى، أي عدد الشاشات التي يجوز للمنزل استخدامها معًا.
- اربط الخط بعنوان المشترك أو بلده أو مزوّد إنترنته حين يكون العرض لشبكتك وحدها.
- لتجربة أو حالة دعم، أضف خطوطًا من الخطوط ← إضافة وسلّم بيانات الدخول.
مكتبة الفيديو عند الطلب
كتالوج عند الطلب.
- أضف أفلامًا ومسلسلات بمواسمها وحلقاتها، مستوردة بمهمة استيراد الفيديو عند الطلب أو مرفوعة، مع بيانات TMDB الوصفية للملصقات والأوصاف.
- اجمع العناوين في باقات حسب المستوى أو الإضافة، لتمنح الحزمة ما يشمله الاشتراك بالضبط.
- تخزّن العقد ملفات الفيديو عند الطلب مؤقتًا، فتُخدَّم العناوين الشائعة من نقطة الحضور القريبة من المشترك.
القنوات المباشرة
باقة القنوات.
- أضف كل قناة مرخّصة ضمن البثوث مع بثها، وفعّل Catch-up أو الإزاحة الزمنية فقط حيث تسمح الحقوق بذلك.
- أضف مصدر EPG لتعرض التطبيقات والأجهزة دليل البرامج.
- تأخذ كل عقدة القناة المباشرة مرة واحدة من المصدر الأصلي وتوزعها على مشتركيها.
الانتهاء والتجديد والإلغاء
فترة الفوترة كصلاحية للخط.
- يدوم الخط طوال فترة حزمته؛ وتجدّده الفوترة كل فترة بـ action=renew_line أو عبر الموصّل.
- حين ينتهي اشتراك أو يُلغى، تستدعي الفوترة action=disable_line، وتفعّل الخط من جديد عند إعادة التفعيل.
- اشترك بالفوترة في webhooks لمطابقة الخطوط التي توشك على الانتهاء والمنتهية مع سجلاتها.
التكامل مع الفوترة
الفوترة تدير الوصول؛ والمشغّل يشغّل.
- ثبّت موصّل نظام الفوترة في جانبه (WHMCS وBlesta وOdoo وغيرها)، أو استدعِ Reseller API بمفتاح ومعرّف طلب من نظامك.
- لا يوجد تسجيل دخول موحّد للمشاهدين: يسجّل المشترك الدخول إلى تطبيق أو جهاز ببيانات الخط، التي يمكن للفوترة عرضها في منطقة العميل.
- استخدم مفاتيح Admin API بعلامة القراءة فقط وقائمة IP مسموحة وتاريخ انتهاء لأدوات التقارير.
اعتبارات الأمان
أبقِ الخدمة للمشتركين.
- ضع اللوحة خلف الوكيل العكسي مع TLS واضبط TRUSTED_PROXIES؛ وأبقِ حركة إدارة العقد على شبكة خاصة.
- دخول بخطوتين لكل حساب في اللوحة ومجموعات أذونات للدعم والموزّعين؛ وreCAPTCHA أو Turnstile عند تسجيل الدخول.
- روابط تشغيل موقّعة ومنتهية الصلاحية، وحدّ اتصالات لكل اشتراك، وربط بعنوان أو بلد أو مزوّد إنترنت حيث يناسب ذلك.
- نسخ احتياطية مشفّرة لقاعدة البيانات مع نسخة خارج الموقع، وسجل التدقيق لكل تغيير في الخطوط والرصيد.
استكشاف الأخطاء
الفحوص الأولى المعتادة.
- مشترك بلا تلفزيون: افحص أن الخط مفعّل وغير منتهٍ، ثم استدعاء الفوترة في سجل استدعاءات Reseller API.
- قناة مفقودة لمستوى واحد: افحص باقات حزمة ذلك المستوى.
- نقطة حضور تتقطّع: افحص نبض عقدتها وأن مشتركيها موجَّهون إليها.
- موزّع لا يستطيع إنشاء خط: افحص رصيده وأن الحزمة مما يجوز له بيعه.