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