המדריכים האלה ממפים מושגים של תעשייה לאובייקטים שיש בפלטפורמה כיום (באוקטים, קווים, חבילות, חשבונות שותפים, צמתים, ה-API). אלה מיפויים מושגיים, לא יכולות ייעודיות לתעשייה, וחשבון שותף הוא חשבון מואצל, לא tenant מבודד.
מיפוי מושגי
שום דבר בלוח לא נקרא מנוי או נקודת נוכחות. הטבלה אומרת איזה אובייקט ממלא איזה תפקיד; הפרקים שלמטה מגדירים אותם בסדר הזה.
| בתעשייה שלכם | בפלטפורמה | איפה בלוח |
|---|---|---|
| חשבון מפיץ או שותף אזורי | חשבון שותף (מפיץ): לוח מואצל עם קרדיטים, הרשאות וקווים משלו | Users ← הוספת מפיץ; Groups להרשאותיו |
| דרגת ערוצים או חבילת תוספת | באוקט: קבוצה בעלת שם של ערוצים, סרטים או סדרות שחבילה מעניקה | Bouquets, מתוך Streams ו-Movies / Series |
| ערוץ טלוויזיה | ערוץ חי: שידור עם המקורות, ה-EPG ופורמטי הפלט שלו | Streams ← הוספת שידור חי (כתובת מקור או דחיפת RTMP) |
| ספריית VOD | קטלוג VOD: סרטים וסדרות עם עונות ופרקים, קטגוריות ומטא-דאטה | Movies ו-Series, או משימת ingest של VOD |
| גישת הטלוויזיה של המנוי | קו: גישה אחת עם החבילה, הבאוקטים, התפוגה, מגבלת החיבורים והפלטים שלה | Lines ← הוספה, או קודי הפעלה, או ה-Reseller API |
| סוף תקופת החיוב | תאריך התפוגה של הקו, מתחדש בחבילה, בקרדיט או דרך ה-API | תאריך התפוגה של הקו ומשך החבילה |
| מסכים לכל מנוי | מספר החיבורים המרבי של הקו: כמה מכשירים יכולים לצפות בו-זמנית | מספר החיבורים המרבי של הקו |
| אינטגרציה של חיוב והקצאה | Reseller API ו-webhooks: פעולות הלוח מהמערכת שלכם | מפתחות Reseller API ו-webhooks בלוח של המפיץ |
| צומת נקודת נוכחות | צמתי הזרמה: שרתי קצה שנרשמו מהלוח, אחד לכל אתר או בניין | Servers ← הוספת צומת, מותקן דרך SSH |
דרישות מקדימות
מה צריך שיהיה לפני ההתקנה.
- שרת באתר הליבה (Ubuntu 22.04 או 24.04), המתקין, דומיין או כתובת שהמנויים יכולים להגיע אליהם, ושרת בכל נקודת נוכחות לצמתים.
- פידי הערוצים המורשים, ספריית ה-VOD ומערכת החיוב שבה המנויים חיים.
- החלטה על הדרגות, כמה זמן נמשכת תקופת חיוב, ואילו מפיצים מקבלים חשבון שותף.
פריסת התשתית
אתר הליבה, אחר כך נקודות הנוכחות.
- הריצו את המתקין על שרת הליבה; הציבו את הלוח מאחורי ה-reverse proxy שלכם והגדירו TRUSTED_PROXIES כדי שיומנים וכללי IP יראו את הכתובת האמיתית של המנוי.
- קבעו את בסיס הניגון לכתובת הציבורית שהמנויים מגיעים אליה, ואת מפתח הרישיון בשרת.
- רשמו צומת לכל נקודת נוכחות מ-Servers; הלוח מתקין אותו דרך SSH, או שהצומת נרשם בקוד חד-פעמי, ומנתב אליו את המנויים הקרובים אליו.
- צרו חשבון שותף (מפיץ) לתמיכה או לצוות החיוב עם הרשאות לקווים בלבד.
ארגון התוכן
דרגות וחבילות תוספת כבאוקטים.
- הוסיפו את הערוצים תחת Streams ואת ספריית ה-VOD תחת Movies ו-Series, עם קטגוריות ומקור EPG.
- צרו באוקטים למערך הבסיסי, לערוצי הפרימיום ולספריית ה-VOD.
- צרו מסלול אחד לכל דרגת מנוי עם הבאוקטים שהוא מעניק, תקופת החיוב כמשך המסלול ומחיר בקרדיטים.
- צרו מסלול ניסיון קצר למבצע או ללקוח חדש.
הגדרת שותפים (מפיצים)
סוכנים עם קרדיטים.
- צרו קבוצה לסוכנים עם הרשאות לקווים שלהם בלבד וללא גישה לקטלוג או להגדרות.
- הוסיפו כל סוכן אזורי כחשבון שותף עם הקבוצה הזו, המסלולים שמותר לו למכור ויתרת קרדיטים; לסוכן יכולים להיות תת-מפיצים עד חמש רמות עומק.
- ה-Webhook credits.low וההתראה על קרדיטים נמוכים מודיעים לסוכן לטעון קרדיטים לפני שהמכירות נעצרות.
הגדרת קו מנוי
קו אחד לכל מנוי.
- מערכת החיוב יוצרת קו כשמנוי מתחיל, דרך מחבר או דרך action=create_line של Reseller API עם מסלול הדרגה ומזהה בקשה.
- הגדירו מספר חיבורים מרבי לכל דרגה, כלומר מספר המסכים שמשק בית רשאי להפעיל במקביל.
- קשרו קו לכתובת, למדינה או ל-ISP של המנוי כשההצעה מיועדת לרשת שלכם בלבד.
- לפיילוט או לטיפול בפנייה, הוסיפו קווים דרך Lines → add ומסרו את פרטי ההתחברות.
ספריית VOD
קטלוג התוכן לפי דרישה.
- הוסיפו סרטים וסדרות עם עונות ופרקים, שנקלטים במשימת VOD ingest או מועלים ידנית, עם מטא-דאטה של TMDB לפוסטרים ולתיאורים.
- קבצו את הכותרים בבאוקטים לפי דרגה או תוספת, כך שמסלול מעניק בדיוק את מה שהמנוי כולל.
- הצמתים שומרים במטמון את קובצי ה-VOD, כך שכותרים פופולריים מוגשים מנקודת הנוכחות הקרובה למנוי.
ערוצי שידור חי
מערך הערוצים.
- הוסיפו כל ערוץ מורשה תחת Streams עם הזרם שלו, והפעילו catch-up או timeshift רק היכן שהזכויות מאפשרות.
- הוסיפו מקור EPG כדי שאפליקציות ומכשירים יציגו את מדריך התוכניות.
- כל צומת לוקח ערוץ חי פעם אחת מהמקור ומפיץ אותו למנויים שלו.
תפוגה, חידוש וביטול
תקופת החיוב כתוקף הקו.
- קו תקף למשך תקופת המסלול שלו; מערכת החיוב מחדשת אותו בכל תקופה עם action=renew_line או דרך המחבר.
- כשמנוי פג או מבוטל, מערכת החיוב קוראת ל-action=disable_line, ומפעילה את הקו מחדש בעת הפעלה מחדש.
- הירשמו ב-webhooks ממערכת החיוב כדי ליישב קווים שעומדים לפוג או שפגו מול הרשומות שלה.
שילוב עם מערכת החיוב
מערכת החיוב שולטת בגישה; הנגן מנגן.
- התקינו את המחבר של מערכת החיוב שלכם בצד שלה (WHMCS, Blesta, Odoo ואחרות), או קראו ל-Reseller API עם מפתח ומזהה בקשה מהמערכת שלכם.
- אין כניסה יחידה (single sign-on) לצופים: מנוי מתחבר לאפליקציה או למכשיר עם פרטי הקו, שמערכת החיוב יכולה להציג באזור הלקוח.
- השתמשו במפתחות Admin API עם דגל קריאה בלבד, רשימת IP מורשים ותאריך תפוגה עבור כלי דיווח.
שיקולי אבטחה
שמרו את השירות למנויים בלבד.
- הציבו את הלוח מאחורי reverse proxy עם TLS והגדירו TRUSTED_PROXIES; השאירו את תעבורת הניהול של הצמתים ברשת פרטית.
- כניסה דו-שלבית לכל חשבון בלוח וקבוצות הרשאות לתמיכה ולסוכנים; reCAPTCHA או Turnstile בכניסה.
- קישורי השמעה חתומים עם תפוגה, הגבלת חיבורים לכל מנוי, וקישור לכתובת, למדינה או ל-ISP היכן שמתאים.
- גיבויים מוצפנים של מסד הנתונים עם עותק מחוץ לאתר, ויומן ביקורת לכל שינוי בקווים ובקרדיטים.
פתרון תקלות
הבדיקות הראשונות הרגילות.
- למנוי אין טלוויזיה: בדקו שהקו מופעל ולא פג תוקפו, ואז את קריאת מערכת החיוב ביומן הקריאות של Reseller API.
- ערוץ חסר בדרגה אחת: בדקו את הבאוקטים של המסלול של אותה דרגה.
- נקודת נוכחות נתקעת: בדקו את פעימות הלב של הצומת שלה ושהמנויים שלה מנותבים אליה.
- סוכן לא יכול ליצור קו: בדקו את הקרדיטים שלו ושהמסלול הוא כזה שמותר לו למכור.