מבוא
ברוכים הבאים ל-Performance Hub API. ה-API הזה מנהל את נתוני המועדון ואת מערכות המפתח שמשתלבות עם המועדון שלכם ועם המערכות החיצוניות שלו, ואינו API לשימוש ציבורי. למידע נוסף על השימוש במערכות Performance Hub השונות שה-API הזה תומך בהן, עיינו בערך הייעודי למערכת הרצויה ב[תיעוד Performance Hub](https://docs.performancehub.co).
כתובת URL בסיסית
https://portal.hub.gymsystems.co
אימות
פרטי האימות יימסרו לכם לאחר אישור השילוב שלכם.
אירוע "סבב הסוכן הושלם" שהמכשיר מדווח עליו (מפעיל התראת Web Push)
נקרא על ידי ה-sidecar של מכשיר סוכן בינה מלאכותית מצומד (ולעולם לא על ידי דפדפנים) כאשר הרצת סוכן שהופעלה מממשק האינטרנט מסתיימת ונמשכה יותר מסף ההתראה של המכשיר. האימות מתבצע באמצעות JWT מסוג HS256 קצר מועד לכל מכשיר (aud 'events'). כפילויות מוסרות לפי מכשיר+סשן+התחלה וקצב הבקשות מוגבל לכל מכשיר, ולאחר מכן ההתראה נשלחת למינויי ה-Push של HTML5 של המשתמש שיזם את ההרצה, עם קישור עומק לשיחה.
גוף הבקשה
נקודת קצה
POST /ai/events/agent-turn-complete
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/ai/events/agent-turn-complete \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
התראת Push ביוזמת הסוכן (המיומנות ph-notify)
נקרא על ידי ה-sidecar של מכשיר סוכן בינה מלאכותית מצומד בשם הסוכן שבמכשיר (המיומנות ph-notify) כדי לשלוח התראה כלשהי לדפדפן ולמכשירים הניידים של משתמש. האימות מתבצע באמצעות JWT מסוג HS256 קצר מועד לכל מכשיר (aud 'events'). למשתמש היעד חייבת להיות גישה למכשיר (מדיניות גישה לכל סוכן); אם הוא לא צוין, ההתראה נשלחת לבעלי המכשיר. קצב הבקשות מוגבל לכל מכשיר, בנפרד מאירועי השלמת סבב.
גוף הבקשה
נקודת קצה
POST /ai/events/agent-notify
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/ai/events/agent-notify \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
העלאת תמונה להתראה (המיומנות ph-notify)
מקבל גוף תמונה גולמי ממכשיר מצומד (JWT עם aud 'events') ושומר אותו ב-bucket הציבורי notify-media תחת מפתח UUID שאי אפשר לנחש. האובייקטים נמחקים אוטומטית לאחר 7 ימים (מחזור החיים של S3). מחזיר את כתובת ה-https הציבורית לשימוש כ-`imageUrl` ב-/ai/events/agent-notify. מגבלה של 5 MB; png/jpeg/gif/webp בלבד.
גוף הבקשה
נקודת קצה
POST /ai/media/notify-image
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/ai/media/notify-image \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ממסר MCP של המכשיר עבור Connected Apps (כלי SaaS חיצוניים)
נקודת קצה MCP מסוג Streamable-HTTP עבור מכשירי סוכן בינה מלאכותית מצומדים (שרת ה-MCP "connected_apps" במאזין :8790 של ה-sidecar במכשיר). מאומתת באמצעות JWT מסוג HS256 קצר מועד לכל מכשיר (aud 'mcp' — אותו אישור כמו /mcp) ומוגבלת לפי דגל ההפעלה של Connected Apps בסוכן (החיבורים הם לכל מכשיר סוכן, לא לכל מתקן). הבקשות מוזרמות לשרת ה-MCP של ההפעלה בפלטפורמת הכלים במעלה הזרם של הסוכן, כשכותרות ההפעלה מוזרקות בצד השרת; האישורים במעלה הזרם לעולם אינם מגיעים למכשיר. שמות הכלים ומיתוג הספק מוחלפים במיתוג לבן בשני הכיוונים במהלך ההעברה. שגיאת 401/410 במעלה הזרם (הפעלה שפג תוקפה) גורמת ליצירה מחדש של ההפעלה ולניסיון חוזר אחד.
נקודת קצה
POST /mcp/apps
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/mcp/apps \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש ביומני הביקורת של ה-API (גישה למודול IAM & Admin)
חיפוש וסינון של יומני הגישה ל-API עם יכולות סינון מתקדמות. משתמשים יכולים לראות יומנים רק של ארגונים שיש להם גישה אליהם.
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון לאימות ACL (חובה)גוף הבקשה
נקודת קצה
POST /api/admin/audit-logs/search
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/admin/audit-logs/search \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת סטטיסטיקות יומני ביקורת שמורות במטמון מ-Redis (גישה למודול IAM & Admin)
אחזור סטטיסטיקות מצטברות ממטמון Redis לטעינה מיידית של לוח המחוונים
פרמטרים
timeWindow `string` (אופציונלי) חלון הזמן לסטטיסטיקות (ברירת המחדל: 12h)נקודת קצה
GET /api/admin/audit-logs/statistics-cached
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/statistics-cached \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת סטטיסטיקות של יומני ביקורת (גישה למודול IAM & Admin)
אחזור סטטיסטיקות מצטברות עבור לוח המחוונים. מוגבל לארגונים של המשתמש.
פרמטרים
startTime `number` (אופציונלי) שעת התחלה (חותמת זמן Unix), ברירת המחדל היא לפני 24 שעות endTime `number` (אופציונלי) שעת סיום (חותמת זמן Unix), ברירת המחדל היא עכשיונקודת קצה
GET /api/admin/audit-logs/statistics
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/statistics \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת נתוני סדרות זמן של יומני ביקורת (גישה למודול IAM & Admin)
אחזור נתוני סדרות זמן מקובצים למקטעים להצגת ציר הזמן של הבקשות
פרמטרים
timeWindow `string` (אופציונלי) חלון הזמן לנתוני סדרות הזמן: - 1h: השעה האחרונה (מקטעים של 10 דקות) - 12h: 12 השעות האחרונות (מקטעים של 10 דקות) - 24h: 24 השעות האחרונות (מקטעים של 10 דקות) - 7d: 7 הימים האחרונים (מקטעים של שעה) - 14d: 14 הימים האחרונים (מקטעים של שעה)נקודת קצה
GET /api/admin/audit-logs/timeseries
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/timeseries \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הארגונים שלמשתמש יש גישה ליומני הביקורת שלהם (גישה למודול IAM & Admin)
מחזיר את רשימת הארגונים שהמשתמש הנוכחי יכול לצפות ביומני הביקורת שלהם
נקודת קצה
GET /api/admin/audit-logs/user-organisations
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/user-organisations \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הקריאה הראשונית ליצירת מועדון חדש. שימו לב: נוצר רק אובייקט ה'תבנית' של המועדון, ולאחר מכן נדרשת בקשת API שנייה כדי לעדכן את המועדון בנתונים שלו, כגון שעות פתיחה, מיקום, כתובות URL של רשתות חברתיות וכו'.
פרמטרים
body `string` (חובה) אובייקט JSON של המועדון החדש שיש להוסיף למערכת.נקודת קצה
POST /api/admin/clubs/addclub
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/admin/clubs/addclub \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספת משתמש חדש למערכת
פרמטרים
body `string` (חובה) אובייקט JSON של נתוני המשתמש שברצונכם להוסיף או לעדכן.נקודת קצה
POST /api/users
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/users \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת כל המשתמשים (חשבונות Google Apps) שיש להם גישה למערכת או ל-API של המשרד האחורי
נקודת קצה
GET /api/admin/users/listusers
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/admin/users/listusers \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת מפתחות ה-MCP של משתמש (מוסתרים חלקית). משתמשים יכולים להציג את המפתחות שלהם.
פרמטרים
userId `string` (חובה)נקודת קצה
GET /api/users/{userId}/mcp-keys
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/users/{userId}/mcp-keys \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת מפתח MCP API חדש עבור משתמש. משתמשים יכולים ליצור מפתחות משלהם.
פרמטרים
userId `string` (חובה) body `object` (אופציונלי)נקודת קצה
POST /api/users/{userId}/mcp-keys
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/users/{userId}/mcp-keys \
-H "x-api-key: YOUR_API_KEY"
ביטול או הסרה של מפתח MCP API. משתמשים יכולים למחוק את המפתחות שלהם.
פרמטרים
userId `string` (חובה) keyId `string` (חובה)נקודת קצה
DELETE /api/users/{userId}/mcp-keys/{keyId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/users/{userId}/mcp-keys/{keyId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הסרת תפקיד ממשתמש
פרמטרים
userId `string` (אופציונלי) כתובת הדוא"ל של המשתמש שממנו ברצונכם להסיר את התפקיד. roleId `string` (אופציונלי) מזהה התפקיד שברצונכם להסיר מהמשתמש.נקודת קצה
DELETE /api/users/{userId}/roles/{roleId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/users/{userId}/roles/{roleId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון פרטי הפרופיל של משתמש קיים (firstName, lastName, phoneNumber)
פרמטרים
userId `string` (חובה) כתובת הדוא"ל של המשתמש body `object` (חובה) נתוני פרופיל המשתמש לעדכוןנקודת קצה
PATCH /api/users/{userId}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/users/{userId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה או עדכון (Upsert) של תפקיד משתמש
פרמטרים
body `object` (אופציונלי)נקודת קצה
PUT /api/users/{userId}/roles
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/users/{userId}/roles \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שירותים חיים (Live Services) שפועלים בסוכן הבינה המלאכותית של מתקן (בורר הפרסום)
מאחזר דרך המנהרה את השירותים החיים (Live Services) שה-bridge של המכשיר זיהה, עבור הבורר "Publish to Performance Hub" של היישומון. נדרשים המודול ph-ai-agent וגם גישת 'open' למכשיר (אותה דרישה כמו לפרסום עצמו). כל שירות מסומן ב-publishedAppId כאשר כבר קיימת Custom App עבור הפורט שלו.
פרמטרים
club `string` (חובה) device `string` (חובה)נקודת קצה
GET /api/agent-apps/services/{club}/{device}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/services/{club}/{device} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אינדקס שמות סמלי MDI המובנה בסוכן הבינה המלאכותית של מתקן (בורר הסמלים)
מעביר דרך המנהרה את אינדקס סמלי ה-MDI המובנה ב-bridge של המכשיר (GET /__services/icons/mdi/index.json). בורר הפרסום והעריכה משתמש בקטלוג הכלול ביישומון (אותה גרסה נעוצה 7.4.47); קובצי ה-SVG של אפליקציות שפורסמו נפתרים מחבילת @mdi/js המקומית של portal-server. אותה דרישת גישה כמו בבורר השירותים (המודול ph-ai-agent + גישת 'open' למכשיר).
פרמטרים
club `string` (חובה) device `string` (חובה)נקודת קצה
GET /api/agent-apps/mdi-index/{club}/{device}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/mdi-index/{club}/{device} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אחזור אצווה של קובצי SVG של סמלי MDI מסוכן הבינה המלאכותית של מתקן (תצוגות מקדימות בבורר)
פותר עד 60 גליפים של MDI לפי שם מתוך ערכת הסמלים המובנית במכשיר בקריאה אחת, לאחר חיטוי בצד השרת עם אותה רשימת היתרים שחלה על סמלי אפליקציות שנשמרו. משמש את בורר הסמלים להצגת תוצאות חיפוש; עבור שמות לא מוכרים מוחזר null.
פרמטרים
club `string` (חובה) device `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-apps/mdi-icons/{club}/{device}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/mdi-icons/{club}/{device} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
טווחי הקהל שהמבקש רשאי לפרסם אליהם מהמתקן הזה
מעטפת הקהל שהמפרסם יכול להעניק, עבור בורר הפרסום והעריכה: המתקנים שתפקידי ph-ai-agent שלו מגיעים אליהם (טווח של מספר מתקנים), וכן האם יש לו את מעמד הארגון הנדרש לקהלים של מותג שלם או ארגון שלם במותג או בארגון של המתקן הזה. אותם כללים נאכפים שוב בצד השרת בעת פרסום או עדכון (validatePublishAudience); נקודת הקצה הזו רק מעצבת את ממשק המשתמש.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-apps/audience-options/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/audience-options/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
השלמה אוטומטית של עמיתים עבור קהל אפליקציה של משתמשים ספציפיים
מחפש רק את המשתמשים שהמבקש כבר יכול לראות: אנשים שהתפקידים שלהם חופפים לפחות למתקן, אזור או ארגון אחד מתוך גישת ph-ai-agent של המבקש עצמו. שאילתה של 2 תווים לפחות ומגבלה של 10 תוצאות הופכות את נקודת הקצה לחסרת תועלת לאיסוף נתונים; אותה קבוצת נגישות נאכפת שוב בצד השרת בעת שמירת הקהל.
פרמטרים
club `string` (חובה) q `string` (חובה)נקודת קצה
GET /api/agent-apps/user-search/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/user-search/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פרסום שירות חי (Live Service) של סוכן בינה מלאכותית כ-Custom App ב-Performance Hub
רושם אפליקציית אינטרנט שמתארחת בסוכן הבינה המלאכותית של המתקן (שירות חי שה-bridge זיהה) כפריט "Custom Apps" בתפריט הצד עבור הקהל שנבחר. נדרשים המודול ph-ai-agent במתקן הזה וגם גישת 'open' למכשיר; הקהל מוגבל לטווחי התפקידים של המפרסם עצמו (לעולם אי אפשר לפרסם לטווח רחב יותר מזה שאתם מגיעים אליו). זהות השירות נפתרת בזמן אמת מרשימת /__services של המכשיר; סכמת http/https לעולם אינה נשמרת.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-apps/publish/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/publish/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
Custom Apps שפורסמו ונראות במתקן הזה
מחזיר את האפליקציות הפעילות שפורסמו והקהל שלהן כולל את המתקן הזה, במבנה שתפריט הצד מציג (appId, name, icon, description). הקהל נפתר מחדש בזמן אמת בכל קריאה, כך ששינויי גישה נכנסים לתוקף מיד.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-apps/menu/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/menu/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אפליקציות שפורסמו ומנוהלות מהמתקן הזה (תצוגת המפרסם)
שורות אפליקציה מלאות עבור אפליקציות שמתקן הבית שלהן הוא המועדון הזה, עבור רשימת הניהול "Published Apps" של היישומון. כל שורה מסומנת ב-canManage עבור המשתמש המבקש (המפרסם).
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-apps/manage/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/manage/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הנפקת אסימון צפייה מוגבל לשירות עבור Custom App שפורסמה
מחזיר כתובת URL חתומה קצרת מועד ואסימון שהדפדפן משתמש בהם כדי לפתוח אפליקציה אחת שפורסמה ישירות בשער הממסר האזורי של המכשיר. האסימון כולל טענת svc שמציינת את פורט השירות, כך שהשער מגביל את הסשן ל-/__services/proxy/
פרמטרים
club `string` (חובה) appId `string` (חובה)נקודת קצה
POST /api/agent-apps/access/{club}/{appId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/access/{club}/{appId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שיוך תמיכה עבור Custom App שפורסמה (איש הקשר של הבעלים)
מי תומך באפליקציה הזו שפורסמה על ידי משתמש: כתובת הדוא"ל של המפרסם (ואם אין, הבעלים של הסוכן המארח). מוצג בחלוניות הלא מקוון והשגיאה של הצופה, כדי שבקשות תמיכה יגיעו לבעלי האפליקציה ולא ל-Performance Hub: אפליקציות שפורסמו אינן חלק מתמיכת הליבה של PH. הקהל של האפליקציה נבדק קודם; צופים שהאפליקציה מעולם לא שותפה איתם אינם מקבלים שום מידע. אפליקציות מושהות עדיין נפתרות (הבעלים עונים גם על שאלות כמו "למה היא מושהית?").
פרמטרים
club `string` (חובה) appId `string` (חובה)נקודת קצה
GET /api/agent-apps/support-info/{club}/{appId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/support-info/{club}/{appId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שליחת בקשת תמיכה בדוא"ל לבעלים של Custom App שפורסמה
שולח את ההודעה של הצופה לאיש הקשר לתמיכה של האפליקציה (המפרסם, ואם אין, הבעלים של הסוכן) כהודעת דוא"ל ממותגת: To לבעלים, CC לצופה (תיעוד הבקשה שלו), ו-Reply-To לצופה כדי שהבעלים ישיב לו ישירות. אפליקציות שפורסמו מתוחזקות על ידי משתמשים, כך שהתמיכה בהן אינה נכנסת לתור של Performance Hub. הקהל נבדק שוב; בקשה אחת לכל צופה לכל אפליקציה בכל 15 דקות (המתנה ב-Redis, fail-open).
פרמטרים
club `string` (חובה) appId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-apps/support-request/{club}/{appId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/support-request/{club}/{appId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עדכון Custom App שפורסמה (שם, סמל, תיאור, סטטוס, קהל)
למפרסם בלבד. שינויי קהל מאומתים שוב מול טווחי התפקידים של העורך, עם אותם כללי הגבלה כמו בפרסום. הסטטוס מתחלף בין פעיל למושהה (אפליקציות מושהות נעלמות מהתפריטים ומסרבות להנפקת אסימונים).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-apps/update/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/update/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ביטול פרסום של Custom App (מחיקה רכה)
למפרסם בלבד. מוחק מחיקה רכה את שורת הרישום: האפליקציה נעלמת מהתפריטים מיד והנפקת אסימוני צפייה נדחית; סשנים של השער שכבר הונפקו פגים עם תפוגת האסימון.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-apps/unpublish/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/unpublish/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
העברת בעלות על Custom App שפורסמה
פועל כמו תהליך הקצאת הבעלים מחדש של סוכן הבינה המלאכותית: המפרסם הנוכחי או בעל חשבון (מודול החיוב) רשאים להעביר את האפליקציה למשתמש אחר, שינהל אותה מעתה. לבעלים החדש חייבת להיות גישה למתקן במועדון הבית של האפליקציה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-apps/transfer-owner/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/transfer-owner/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
דוח סריקה מלא (+ בדיקת LLM) עבור גרסת מיומנות אחת
רשימת הממצאים המלאה של גרסה, למפרסם ולמנהלי הארגון (בדיקות אישור) בלבד; מתקינים רואים במקומה את הספירות המסוכמות בפרטי המיומנות.
פרמטרים
club `string` (חובה) skillId `string` (חובה) version `string` (חובה)נקודת קצה
GET /api/agent-skills/scan-report/{club}/{skillId}/{version}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/scan-report/{club}/{skillId}/{version} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הגשת גרסת טיוטה של מיומנות (פרסום או העברה לתור האישור)
מקדם גרסת טיוטה בהתאם למדיניות הממשל של הארגון. אם הארגון בחר בבדיקת LLM, בדיקת ההוראות מתבצעת קודם (במידת האפשר; פסק דין 'fail' דוחה, ופסק דין 'flag' מעביר בהכרח לתור האישור). שיתופים ברמת מתקן מתפרסמים מיד, אלא אם מדיניות הממשל דורשת אישור; שיתופים בספריית הארגון (קהל של מותג או ארגון) דורשים אישור כברירת מחדל. הפרסום מגדיר את latestVersion של המיומנות; התקנות עם מדיניות 'auto' יקבלו אותה בסבב הסנכרון הבא.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/submit/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/submit/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ספריית המיומנויות שנראית במתקן הזה (מסוננת לפי קהל)
מיומנויות פעילות עם גרסה מפורסמת אחת לפחות שהקהל שלה כולל את המתקן הזה (או מציין את הצופה), עם סיכום הגרסה המפורסמת האחרונה והיקף האימוץ בארגון (מספר מתקנים שונים, לעולם לא ספירות התקנה גולמיות). הקהל נפתר מחדש בזמן אמת בכל קריאה.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-skills/library/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/library/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פרטי מיומנות (גרסאות, דרישות, סיכום סריקה, אימוץ)
פרטים מלאים של מיומנות אחת בספרייה: היסטוריית גרסאות עם יומני שינויים וסיכומי סריקה (רשימות נקודות הקצה לכל גרסה מזינות את השוואת הסריקה בעדכון), הדרישות המוצהרות מהמניפסט, מקור המפרסם ואות האימוץ לפי מספר המתקנים. הקהל נבדק שוב: צופים שהמיומנות מעולם לא שותפה איתם אינם מקבלים שום מידע (המפרסם ומנהלי הארגון תמיד רואים אותה).
פרמטרים
club `string` (חובה) skillId `string` (חובה)נקודת קצה
GET /api/agent-skills/skill/{club}/{skillId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/skill/{club}/{skillId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מיומנויות שפורסמו מהמתקן הזה (רשימת הניהול של המפרסם)
שורות מיומנות מלאות שמתקן הבית שלהן הוא המועדון הזה, כל אחת מסומנת ב-canManage עבור המשתמש המבקש ובסיכום הגרסה האחרונה שלה (כולל טיוטות ובקשות אישור ממתינות: זוהי תצוגת העבודה של המפרסם).
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-skills/manage/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/manage/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
התקנת מיומנות מהספרייה בסוכן הבינה המלאכותית של מתקן
כפוף למדיניות הממשל: installSources של הארגון חייב לאפשר זאת, הקהל של המיומנות חייב לכלול את המתקן הזה (או לציין את המבקש), הגרסה חייבת להיות מפורסמת, והמבקש חייב לעמוד ברמת whoCanInstall עבור מכשיר היעד (בעלים / משתמש מורשה / מנהל מתקן / מנהל ארגון; ראו מדיניות הממשל). כותב את שורת מחזור החיים של ההתקנה (מקור האמת) ומבצע דחיפה מיידית במידת האפשר; משימת ה-cron של הסנכרון מבטיחה את המסירה ברגע שהמכשיר זמין.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/install/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/install/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
אישור עדכון מיומנות ממתין עבור התקנה אחת
מעביר את desiredVersion של ההתקנה לגרסה המפורסמת האחרונה (השלב הידני במדיניות 'notify' ו-'pinned', והמסלול כאשר מדיניות הממשל מגדירה updatePosture כ-'approvalRequired'). שומר את הגרסה הנוכחית כיעד לשחזור בצעד אחד ומנקה כל נעיצת עדכון שלאחר שחזור (skipVersion). אותה רמת הרשאה whoCanInstall כמו בהתקנה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/update-approve/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/update-approve/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שחזור מיומנות מותקנת לגרסה הקודמת שלה
מגדיר את desiredVersion ל-previousVersion של שורת ההתקנה (נשמר בכל מעבר גרסה) ומאפשר למסלול המסירה הרגיל להתקין אותה מחדש. בצעד אחד: הגרסאות מתחלפות, כך ששחזור כפול מחזיר לנקודת ההתחלה. בנוסף נועץ את העדכונים (skipVersion = הגרסה שממנה שוחזר) כדי שמדיניות auto/notify תשאיר את השחזור במקומו; הנעיצה מתבטלת כאשר מתפרסמת גרסה חדשה יותר, באישור עדכון (update-approve) או בהגדרת מדיניות (set-policy).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/rollback/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/rollback/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הסרת התקנה של מיומנות מסוכן הבינה המלאכותית של מתקן
מסמן את שורת ההתקנה כ-pending-uninstall ודוחף את המצב הרצוי; השורה נמחקת ברגע שהמכשיר מאשר את ההסרה (קריאה חוזרת בסנכרון). אותה רמת הרשאה whoCanInstall כמו בהתקנה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/uninstall/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/uninstall/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הגדרת מדיניות העדכון לכל התקנה עבור מיומנות במכשיר אחד
auto (הסנכרון מחיל גרסאות מפורסמות חדשות באופן אוטומטי, אלא אם updatePosture של הארגון דורש אישור), notify (הבעלים מקבל התראה פעם אחת לכל גרסה חדשה ומחיל אותה ידנית) או pinned (לעולם אינו משתנה ללא update-approve מפורש). שינוי המדיניות מנקה כל נעיצת עדכון שלאחר שחזור (skipVersion). אותה רמת הרשאה whoCanInstall כמו בהתקנה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/set-policy/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/set-policy/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
התקנות מיומנויות בסוכן הבינה המלאכותית של מתקן (הכרטיסייה Skills)
שורות מחזור החיים של ההתקנות עבור מכשיר אחד, כל אחת עם שדות הרישום של המיומנות וציון האם קיימת גרסה מפורסמת חדשה יותר. נדרשת גישת 'open' למכשיר (הכרטיסייה Skills נמצאת בתוך מגירת הסוכן).
פרמטרים
club `string` (חובה) device `string` (חובה)נקודת קצה
GET /api/agent-skills/installs/{club}/{device}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/installs/{club}/{device} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
גרסאות מיומנויות שממתינות לאישור בארגון של המתקן הזה
תור האישור של מנהלי הארגון: כל הגרסאות שממתינות לאישור בכל המיומנויות של הארגון, עם רישום המיומנות וסיכומי הסריקה ובדיקת ה-LLM. למנהלי הארגון בלבד.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-skills/approvals/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/approvals/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אישור גרסת מיומנות ממתינה (מפרסם אותה)
למנהלי הארגון בלבד. הגרסה מתפרסמת, latestVersion של המיומנות מתעדכן והמפרסם מקבל התראה. התקנות עם מדיניות 'auto' יקבלו את הגרסה בסבב הסנכרון הבא.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/approve/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/approve/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
דחיית גרסת מיומנות ממתינה
למנהלי הארגון בלבד. הגרסה נדחית עם הנימוק של הבודק והמפרסם מקבל התראה; הוא יכול לתקן את הממצאים ולהגיש גרסה חדשה (גרסאות אינן ניתנות לשינוי).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/reject/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/reject/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מדיניות הממשל האפקטיבית של מיומנויות הסוכן בארגון של המתקן הזה
המדיניות השמורה של הארגון, ממוזגת על גבי ברירות המחדל של הפלטפורמה (ארגון ללא שורה שמורה רואה את ברירות המחדל בלבד). למנהלי הארגון בלבד.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/agent-skills/governance/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/governance/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון מדיניות הממשל של מיומנויות הסוכן בארגון של המתקן הזה
עדכון חלקי: רק השדות שסופקו משתנים; כל השאר שומרים על הערך השמור או ערך ברירת המחדל שלהם. למנהלי הארגון בלבד. עקיפות לכל מכשיר נשמרות בשורת הרישום דרך נתיבי תצורת המכשיר הקיימים.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/agent-skills/governance/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/governance/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת נתוני סביבה עבור מתקן
מחזיר את תנאי מזג האוויר הנוכחיים, כולל זריחה ושקיעה (דרך Open-Meteo), ואת הטמפרטורה בתוך המתקן (מחיישני Duress) עבור המועדון שצוין. נשמר במטמון ב-Redis למשך 30 דקות.
פרמטרים
clubId `string` (חובה) המזהה הפנימי של המועדון או המתקןנקודת קצה
GET /api/clubs/{clubId}/environment
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/environment \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספה או שיוך של מכשיר IoT כללי למועדון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר. body `string` (חובה) אובייקט JSON של המסך החדש לשיוך.נקודת קצה
POST /api/devices/addGenericDevice/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/addGenericDevice/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הסרה ואיפוס להגדרות היצרן של מסך תצוגה
מסיר את השיוך הפעיל של המסך למתקן ומגדיר איפוס קבוע להגדרות היצרן. מסך כבוי יבצע את האיפוס לאחר שיודלק ויתחבר מחדש, ואז יחזור לדף הצימוד שלו ב-HDMI. רשומות החיוב ההיסטוריות נשמרות.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/display-screens/reset/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/display-screens/reset/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שיוך בקר דלת למתקן.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/door-controllers/associate/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/door-controllers/associate/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עדכון הגדרות בקר הדלת של מתקן.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/door-controllers/update/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/door-controllers/update/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הוצאה משימוש של בקר דלת ממתקן.
פרמטרים
club `string` (חובה)נקודת קצה
POST /api/devices/door-controllers/decommission/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/door-controllers/decommission/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את תצורת הממסר של בקר דלת.
פרמטרים
uuid `string` (חובה)נקודת קצה
GET /api/devices/door-controllers/config/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/door-controllers/config/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את המטא-נתונים של המכשיר
פרמטרים
uuid `string` (חובה) המזהה הייחודי של המכשירנקודת קצה
GET /api/devices/metadata/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/metadata/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את המטא-נתונים של המכשיר. התגובה היא שורת המטא-נתונים ברמה העליונה (מבנה מדור קודם), בתוספת `detectedType` (camera | ai-edge-processor | door-controller | ph-ai-agent | null) ו-`online` (true כאשר עודכן ב-5 הדקות האחרונות).
פרמטרים
deviceSerialNumber `string` (חובה) המספר הסידורי של המכשירנקודת קצה
GET /api/devices/metadata/serial/{serialNo}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/metadata/serial/{serialNo} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את נתוני ה-Smart Club של המועדון.
פרמטרים
club_id `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר.נקודת קצה
GET /api/clubs/{club_id}/smart-club-data
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club-data \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל המכשירים המשויכים למועדון מסוים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאת המכשירים שלו ברצונכם להציג.נקודת קצה
GET /api/devices/list/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/list/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל גרסאות היישום (releases) עבור מכשירי ה-balena שלנו.
נקודת קצה
GET /api/devices/listReleases
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/listReleases \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
העברת מכשיר למתקן חדש (מועדון) ועדכון המערכות הקשורות.
פרמטרים
club `string` (חובה) מזהה מתקן המקור (המועדון שבו המכשיר נמצא כעת) body `object` (חובה) פרמטרי ההעברהנקודת קצה
POST /api/devices/move/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/move/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ניסיון ליצור חיבור לנתב של מתקן על ידי בחירת המכשיר המתאים ביותר במועדון ושליחת פקודת MQTT ליצירת מנהרה.
פרמטרים
facilityID `string` (חובה) המזהה הפנימי של המתקן שאל הנתב שלו מתבצע ניסיון החיבור.נקודת קצה
GET /api/devices/openRouterWebpage/{facilityID}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/openRouterWebpage/{facilityID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קטלוג Cloud Agent (אזורים, גדלים, מחירי מכירה עדכניים)
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/cloud/catalog/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/catalog/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצעת מחיר ל-Cloud Agent (תוכנה + אירוח)
נקודת קצה
POST /api/devices/ph-ai-agent/cloud/quote/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/quote/{club} \
-H "x-api-key: YOUR_API_KEY"
השקת Cloud Agent (הכנסה לתור של הקצאה + שיוך אוטומטי)
נקודת קצה
POST /api/devices/ph-ai-agent/cloud/launch/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/launch/{club} \
-H "x-api-key: YOUR_API_KEY"
סטטוס משימה של Cloud Agent
נקודת קצה
GET /api/devices/ph-ai-agent/cloud/jobs/{club}/{jobId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/jobs/{club}/{jobId} \
-H "x-api-key: YOUR_API_KEY"
מחיקה מלאה של Cloud Agent (VM + balena + רישום)
נקודת קצה
POST /api/devices/ph-ai-agent/cloud/delete/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/delete/{club} \
-H "x-api-key: YOUR_API_KEY"
טיפול בהסרה מושהית של Cloud Agent (ניסיון חוזר לגיבוי, מחיקה ללא גיבוי או ביטול)
נקודת קצה
POST /api/devices/ph-ai-agent/cloud/delete-decision/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/delete-decision/{club} \
-H "x-api-key: YOUR_API_KEY"
רשימת ה-Connected Apps של סוכן (חבילות + אפליקציות עם חשבונות מחוברים)
מחזיר את מצב ה-Connected Apps של הסוכן: דגל ההפעלה, סיכומים לכל חבילה (Google Workspace, Microsoft 365) וקטלוג האפליקציות הנבחר עם החשבונות המחוברים של כל אפליקציה (ריבוי חשבונות: לסוכן יכולים להיות כמה חשבונות לכל אפליקציה, לכל אחד כינוי אופציונלי), כפי שהם נפתרים מהסשן של הסוכן בשירות במעלה הזרם.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.נקודת קצה
GET /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קטלוג החנות המלא של Connected Apps עבור סוכן
מחזיר כל אפליקציה שניתן לחבר (קטלוג ערכות הכלים המלא עם אימות מנוהל, השמור במטמון בצד השרת כ-12 שעות) עם רמות מומלצות וחבילות, והחשבונות המחוברים של הסוכן לכל אפליקציה, וכן סיכומים לכל חבילה ובקשות החיבור הממתינות של הסוכן: מטען אחד עבור חנות האפליקציות שניתן לחפש בה בצד הלקוח.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.נקודת קצה
GET /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/catalog
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/catalog \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
דחיית בקשת חיבור ממתינה של סוכן
מסמן את בקשת החיבור הממתינה של הסוכן עבור ערכת כלים כנדחתה (היא נעלמת מהמקטע "Requested by your agent" בחנות). אידמפוטנטי: דחיית בקשה שאינה ממתינה אינה עושה דבר.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/requests/dismiss
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/requests/dismiss \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הפעלה או השבתה של Connected Apps עבור סוכן
שומר את מתג ה-Connected Apps של הסוכן ודוחף את משתנה המכשיר PH_APPS_MCP_ENABLED של Balena למכשיר הזה בלבד (במידת האפשר; הדגל בצד PH הוא החסם המחייב בממסר ה-MCP).
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/enable
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/enable \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
התחלת חיבור של אפליקציה יחידה לסוכן (תהליך OAuth של Connect Link)
מתחיל תהליך Connect Link מתארח עבור ערכת כלים אחת ומחזיר את כתובת ה-URL שאליה יש לשלוח את המשתמש. כינוי אופציונלי מתייג את החשבון החדש (ריבוי חשבונות: חיבור של אפליקציה שכבר מחוברת מוסיף חשבון נוסף, עד 10 לכל אפליקציה). עובר דרך אותה קריאה חוזרת משורשרת כמו בחיבור חבילות (חבילה עם ערכת כלים אחת), כך שבסיום חוזרים לדף היישומון ph-ai-agent.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מטען ההכנה לחיבור של אפליקציה אחת (מצב, שדות פרטי גישה, מדריך הגדרה)
כל מה שתיבת הדו-שיח של החיבור צריכה לפני תחילת חיבור: כיצד האפליקציה מתחברת (oauth = תהליך הסכמה מתארח, credentials = טופס בתוך המוצר), שדות פרטי הגישה שיש לאסוף במצב credentials, ומדריך ההגדרה בתוך המוצר (נכתב ידנית לאפליקציות בעדיפות, ובאחרות נוצר ממטא-נתוני השדות של האפליקציה; לעולם לא קישור לתיעוד חיצוני). אפליקציות OAuth מסוג Bring-your-own כוללות גם את הסטטוס האם אפליקציית ה-OAuth של הלקוח כבר רשומה עבור הסוכן הזה (byoConfigured) ואת כתובת ההפניה שיש לרשום אצל הספק.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן. toolkit `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-info/{toolkit}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-info/{toolkit} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיבור אפליקציה עם פרטי גישה שהמשתמש סיפק (מפתח API וכו', ללא OAuth)
יוצר חשבון מחובר עבור אפליקציה במצב credentials ישירות מהטופס שבמוצר, ללא תהליך הסכמה מתארח. שדות פרטי הגישה מגיעים ממטען connect-info של האפליקציה; יש לספק כל שדה חובה. פרטי הגישה מאומתים מול הספק כאשר הדבר נתמך (במידת האפשר: אפליקציות מסוימות דוחות מפתח שגוי רק בקריאת הכלי הראשונה של הסוכן). כינוי אופציונלי מתייג את החשבון החדש (ריבוי חשבונות: חיבור של אפליקציה שכבר מחוברת מוסיף חשבון נוסף).
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-credentials
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-credentials \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
רישום אפליקציית ה-OAuth של הלקוח עבור אפליקציית BYO והתחלת תהליך החיבור שלה
עבור אפליקציות OAuth מסוג Bring-your-own (Xero, Shopify, ...): מקבל את מזהה הלקוח ואת סוד הלקוח של אפליקציית ה-OAuth שהלקוח יצר אצל הספק (בהנחיית מדריך ההגדרה של האפליקציה), רושם אותה עבור הסוכן הזה (הסוד נשמר רק בפלטפורמת השילוב שבמעלה הזרם, לעולם לא ב-Performance Hub), ומתחיל מיד את תהליך הכניסה המתארח מולה. מחזיר את כתובת ההסכמה שאליה יש לשלוח את המשתמש, באותו חוזה כמו נקודת הקצה של החיבור. שליחה חוזרת מחליפה את האפליקציה הרשומה של הסוכן (לדוגמה לאחר החלפת סוד); חשבונות מחוברים קיימים ממשיכים לפעול.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-oauth-app
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-oauth-app \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
התחלת חיבור חבילה בלחיצה אחת עבור סוכן (תהליכי Connect Link משורשרים)
מתחיל את תהליך החיבור המשורשר עבור חבילה שלמה (לדוגמה google-workspace). כתובת ה-URL שמוחזרת פותחת את מסך ההסכמה של ערכת הכלים הראשונה; כל השלמה מפנה ב-302 ישירות לתהליך של ערכת הכלים הבאה, ובסיום חוזרים לדף היישומון ph-ai-agent. חברים בחבילה שכבר יש להם חשבון מחובר מדולגים, כך שניסיון חוזר אחרי כשל באמצע השרשרת ממשיך עם האפליקציות החסרות במקום ליצור חשבונות כפולים. כאשר כל החברים כבר מחוברים, השרשרת המלאה רצה שוב: זהו תהליך "הוספת חשבון נוסף" המפורש.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-suite
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-suite \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ניתוק חשבון מחובר אחד מסוכן
מוחק חשבון מחובר יחיד (ריבוי חשבונות: חשבונות אחרים של אותה אפליקציה נשארים מחוברים). לפני המחיקה מאומת שהחשבון שייך לסוכן הזה; אם זה היה החשבון האחרון של האפליקציה, ערכת הכלים מוסרת מהקבוצה המחוברת של הסוכן (הסשן נוצר מחדש בעת הצורך, כך שרשימת הכלים של הסוכן מתעדכנת).
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/disconnect
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/disconnect \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שינוי השם (הכינוי) של אחד מהחשבונות המחוברים של סוכן
מגדיר את כינוי התצוגה של חשבון מחובר יחיד. בדרך כלל הכינויים מוגדרים אוטומטית אחרי OAuth (לפי הזהות המחוברת); נקודת הקצה הזו משמשת לשינוי השם הידני בתיבת הדו-שיח של פרטי האפליקציה. כינוי ריק מנקה את התווית. לפני העדכון במעלה הזרם מאומת שהחשבון שייך לסוכן הזה.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן.גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/rename-account
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/rename-account \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הפעלה או השבתה של שירות מובנה של Performance Hub עבור סוכן
מפעיל או משבית עבור הסוכן הזה שירות מובנה אחד שפועל תמיד (Smart Search, Weather, ...). שירותים מובנים אינם דורשים חיבור או OAuth: הם כלולים בכל סוכן ומופעלים כברירת מחדל; המתג הזה שומר את העקיפה לכל סוכן ויוצר מחדש מיד את הסשן של הסוכן במעלה הזרם, כך שערכת הכלים מתעדכנת. שימו לב שהמתג הנפרד "External apps" (הנתיב /enable) הוא מתג כיבוי מחייב לכל שרת ה-MCP של האפליקציות: כשהוא כבוי, גם השירותים המובנים אינם זמינים, ללא קשר למתגים הנפרדים שלהם.
פרמטרים
facilityId `string` (חובה) deviceId `string` (חובה) ה-UUID של balena של מכשיר הסוכן. slug `string` (חובה) ה-slug של השירות המובנה.גוף הבקשה
נקודת קצה
PATCH /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/built-in/{slug}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/built-in/{slug} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שיוך מכשיר סוכן בינה מלאכותית למתקן
שיוך שמתבסס קודם על מטא-נתונים. מאתר את המכשיר לפי המספר הסידורי במטא-נתוני המכשירים בזמן אמת, דורש שיהיה מחובר, ולאחר מכן יוצר בעת הצורך את שורת הרישום, מקצה אזור ממסר Chisel + פורט מנהרה + סוד, רושם את המשבצת הזו בממסר ודוחף את תצורת המתקן והמנהרה למכשיר דרך Balena. מכשירים חדשים מקבלים גם חשבון שירות MCP ברירת מחדל (מופעל, מוגבל למתקן הזה, עם כל היכולות); צימוד מחדש שומר כל הרשאת MCP קיימת. הגדרות מתקדמות אופציונליות עוקפות את ברירות המחדל בזמן הצימוד (תצורת גיבוי, הפעלה או כיבוי של MCP, הגבלת גישה), ו-`restoreFrom` מאכלס את המכשיר החדש מגיבוי הענן של מכשיר אחר של המתקן (מקור פעיל או שהוצא משימוש; מכניס לתור שחזור בין מאגרים, שמוחזר כ-`restoreRequest` למעקב אחר ההתקדמות).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/associate/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/associate/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
רשימת מכשירי סוכן הבינה המלאכותית של מתקן
מחזיר את מכשירי סוכן הבינה המלאכותית של המתקן עם סטטוס החיבור והמנהרה בזמן אמת (משמש את מחליף המכשירים ביישומון).
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/list/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/list/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון וסטטוס חיבור של סוכן בינה מלאכותית
מחזיר האם המכשיר מחובר, האם יש עדכון זמין או ממתין, ואת הגרסה המוצעת (הגרסה הנעוצה של הצי כאשר הצי נעוץ; הגרסה המוצלחת הגבוהה ביותר כאשר הצי עוקב אחר הגרסה האחרונה).
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/update-status/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update-status/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סטטוס ומדדים בזמן אמת של מכשיר סוכן בינה מלאכותית
מחזיר תמונת מצב נבחרת עבור רצועת המדדים ומגירת הניהול של היישומון: שדות זהות ורישום, זמינות וחיבור, גרסאות תוכנה ומדדי אות החיים האחרונים (CPU, טמפרטורה, זיכרון, אחסון לכל נקודת עגינה, זמן פעולה, רשת). משטח את משואת המטא-נתונים של המכשיר ואת סטטוס העדכון של Balena; כל אחד מהחלקים עלול להיות חסר בעת תקלה זמנית.
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/device-status/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/device-status/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תיאור מבוסס בינה מלאכותית לדוח התקינות של המכשיר
מחזיר הסבר קצר למפעיל על בעיות התקינות הנוכחיות שזוהו. העובדות ושלבי הטיפול נמצאים תמיד ב-device-status; הפסקה הנוספת הזו מסופקת במידת האפשר ועשויה להיות null.
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
POST /api/devices/ph-ai-agent/health/{club}/{uuid}/explain
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/health/{club}/{uuid}/explain \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הנפקת אסימון גישה ישירה לממסר עבור סוכן בינה מלאכותית
מחזיר כתובת URL חתומה קצרת מועד שהדפדפן משתמש בה כדי להתחבר ישירות לשער הממסר האזורי של המכשיר (בלי המעבר הגלובלי דרך PH/Sydney), וכן את אסימון ה-HS256. PH נשאר הגורם המוסמך (Google SSO + בדיקות מודול ומתקן כאן); שער הממסר מאמת את האסימון. ה-proxy של /ai-agent-ui נשאר כחלופה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/access/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שליחת הודעת צ'אט לסשן של סוכן בינה מלאכותית (תשובה מתוך ההתראה)
ממסר בצד השרת שמשמש את פעולת התשובה מתוך התראת ה-Web Push: ה-service worker שולח לכאן POST (מאותו מקור, עם קובצי ה-Cookie של SSO), כך שתשובה פועלת גם בלי כרטיסייה פתוחה של Performance Hub. PH מאתר את יעד הממסר של המכשיר (אותו חיפוש כמו ב-proxy של /ai-agent-ui), מוסיף את x-ph-user לשיוך הסבב (התראת ההשלמה שתתקבל תחזור למשתמש הזה) ומעביר ל-/api/chat/start של המכשיר עם מזהה הסשן.
גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/reply
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/reply \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קריאת הגדרות בקרת הגישה של סוכן בינה מלאכותית (בעלים)
מחזיר את בלוק הגישה של המכשיר (מצב, רשימת היתרים, נראות, מתג PH Support) וכן בקשות גישה ממתינות. ניתן לקריאה על ידי בעלי המכשיר; משתמשים אחרים מקבלים 403.
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/access-settings/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-settings/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון הגדרות בקרת הגישה של סוכן בינה מלאכותית (בעלים)
כתיבה של המצב (org/restricted), רשימת ההיתרים המוגבלת, נראות הרשימה (all/admins) והמתג "permit access from Performance Hub Support". מותר לבעלי המכשיר. את הבעלים עצמם אפשר לשנות רק דרך reallocate-owner. בקשות גישה שאושרו הן קבועות: מבקשים שעדיין מאושרים מצורפים בחזרה לרשימת ההיתרים השמורה; הסרה של אחד מהם מהרשימה שנשלחה מבטלת את האישור שלו (הבקשה עוברת למצב נדחה; הוא יכול לבקש שוב).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/access-settings/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-settings/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הקצאה מחדש של הבעלים של סוכן בינה מלאכותית
מעביר את הבעלות על המכשיר למשתמש אחר ב-Performance Hub. מוגבל לבעלי חשבון (גישה למודול החיוב של SaaS): פתרון החירום כאשר הבעלים של סוכן מוגבל עוזב. גם הבעלים הקודם וגם הבעלים החדש מקבלים התראה (באפליקציה + Push + דוא"ל).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/reallocate-owner/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/reallocate-owner/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
רשימת משתמשי המתקן עבור בוררי רשימת ההיתרים והבעלים של סוכן הבינה המלאכותית
מחזיר כתובת דוא"ל + שם (+ דגלי isOrgAdmin) עבור כל משתמש שהתפקיד שלו מעניק לו גישה למתקן הזה. מוגבל לבעלי המכשיר ולמי שרשאים להקצות מחדש (בעלי החשבון), כדי שמשתמשים רגילים לא יוכלו למנות את בסיס המשתמשים.
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/org-users/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/org-users/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בקשת גישה לסוכן בינה מלאכותית מוגבל
יוצר (או פותח מחדש) את בקשת הגישה של המבקש למכשיר מוגבל; אידמפוטנטי לכל משתמש+מכשיר. הבעלים מקבל התראה באפליקציה, ב-Web Push ובדוא"ל, עם קישור עומק למודול הסוכן.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/access-request/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-request/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
אישור או דחייה של בקשת גישה לסוכן בינה מלאכותית (בעלים)
טיפול בבקשה ממתינה על ידי בעלי המכשיר. אישור מוסיף את המבקש לרשימת ההיתרים של המכשיר; בכל תוצאה המבקש מקבל התראה (באפליקציה + Push + דוא"ל).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/access-request-resolve/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-request-resolve/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
אישור והחלה של עדכון לסוכן בינה מלאכותית
נועץ את המכשיר לגרסה המוצעת (הגרסה הנעוצה של הצי, או הגרסה המוצלחת הגבוהה ביותר כאשר הצי עוקב אחר הגרסה האחרונה) ומשחרר את נעילת העדכון כדי שה-supervisor של balena יחיל אותו. המצב בנפח הנתונים של המכשיר נשמר לאחר העדכון.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/update/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
תזמון עדכון לסוכן בינה מלאכותית למועד מאוחר יותר
שומר מועד התקנה מתוזמן ברישום המכשיר. משימת רקע חוזרת (כל 5 דקות) מחילה את העדכון (נעיצה + שחרור נעילה) לאחר שהמועד המתוזמן עובר. תזמון חדש מחליף כל תזמון קיים של המכשיר.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/update-schedule/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update-schedule/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ביטול עדכון מתוזמן לסוכן בינה מלאכותית
מנקה את ההתקנה המתוזמנת הממתינה של המכשיר (אינו עושה דבר כאשר לא מתוזמן דבר).
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
DELETE /api/devices/ph-ai-agent/update-schedule/{club}/{uuid}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update-schedule/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הרצת פקודה מרחוק במכשיר סוכן בינה מלאכותית
מפרסם פקודת MQTT מרשימת ההיתרים (אתחול, הפעלה מחדש של מכולה, נעילה או שחרור של עדכונים, ניהול Wi-Fi) ל-device-controller שפועל בסוכן הבינה המלאכותית. המכשיר חייב להיות משויך למתקן.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/command/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/command/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עדכון התצורה של סוכן בינה מלאכותית שמוצגת למתקן
שומר הגדרות שהמפעיל יכול לערוך עבור סוכן בינה מלאכותית משויך: שם המכשיר, המיקום הפיזי של המכשיר ותדירות האתחול המתוזמן. לוח הזמנים של האתחול נשלח גם למכשיר כמשתנה הסביבה REBOOT_DEVICE של Balena (בשעה 2 לפנות בוקר לפי השעה המקומית), בדומה להתנהגות של Display Screens.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/config/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/config/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מתקנים שאליהם ניתן להעביר סוכן בינה מלאכותית מהמתקן הזה
מחזיר את המתקנים באותו ארגון שהמשתמש המחובר יכול לגשת אליהם (למעט המתקן הנוכחי), עבור הבורר "העבר למתקן אחר". ההעברה עצמה מתבצעת באמצעות POST /api/devices/move/:club, שאוכף בצד השרת את אותם כללים של אותו ארגון וגישה למתקן היעד.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/move-targets/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/move-targets/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעטפת הגישה ל-MCP שמבקש הבקשה יכול להעניק לסוכני הבינה המלאכותית של מתקן
מחזיר את מה שהמשתמש המחובר רשאי להעניק לחשבון שירות MCP של סוכן בינה מלאכותית בארגון של המתקן הזה: המתקנים והאזורים שבטווח הגישה שלו, האם הוא רשאי להעניק טווח ברמת הארגון כולו, המודולים שברשותו וקטלוג כלי ה-MCP המלא (עבור מסכת ההרשאות המתקדמת לפי כלי). ממשק המשתמש משתמש בזה כדי שמשתמשים יראו רק אפשרויות שבתוך מעטפת ההרשאות שלהם; נקודת הקצה POST של mcp-access אוכפת את אותה הגבלה בצד השרת.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/mcp-grantable/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/mcp-grantable/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת תצורת חשבון השירות MCP של סוכן בינה מלאכותית
מחזיר את תצורת הגישה ל-MCP של המכשיר (טווח, מודולים, מסכת כלים, שדות ביקורת).
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/mcp-access/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/mcp-access/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הגדרת חשבון השירות MCP של סוכן בינה מלאכותית
שומר את תצורת הגישה ל-MCP של המכשיר עם הגבלה בזמן ההענקה. מבקשים יכולים להעניק רק מתקנים ואזורים שבטווח הגישה שלהם, טווח ברמת הארגון רק אם יש להם תפקיד ברמת הארגון כולו, ומודולים שברשותם בארגון של המתקן. הדגל enabled נשלח גם למכשיר כמשתנה הסביבה PH_MCP_ENABLED של Balena.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/mcp-access/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/mcp-access/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת תצורת ה-VPN של סוכן בינה מלאכותית (מוסתרת חלקית)
מחזיר את דגל התמיכה ב-VPN של המכשיר ואת רשימת החיבורים. תוכן הפרופילים וערכי האישורים אף פעם אינם מוחזרים — רק מטא-נתונים מזמן הייבוא (remotes, routes, DNS) ודגלים שמציינים אם קיימים אישורים. המצב החי של כל חיבור מגיע מנקודת הקצה device-status (beacon metadata.vpn).
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/vpn-config/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-config/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה או השבתה של תמיכת VPN בסוכן בינה מלאכותית
מפעיל או משבית את תכונת ה-VPN של המכשיר. שולח את משתנה המכשיר PH_VPN_ENABLED של balena ומאותת למכשיר (MQTT vpnConfigChanged); החיבורים נשמרים בעת ההשבתה (המנהרות נעצרות; התצורה נשמרת להפעלה מחדש).
פרמטרים
club `string` (חובה) uuid `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/vpn-config/{club}/{uuid}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-config/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ייבוא פרופילי OpenVPN לסוכן בינה מלאכותית
מקבל העלאות בקידוד base64 — קובץ .ovpn/.conf יחיד, חבילות של קבצים נפרדים (תצורה + אישורים/מפתחות) וארכיונים (.zip, ייצואי .tar/.tgz של Pritunl, .tblk של Tunnelblick, .visc/.visz של Viscosity). הפרופילים מנורמלים לצורה מוטמעת קנונית; כל פרופיל הופך לחיבור אחד (מיובא במצב מנותק — הזינו אישורים ולאחר מכן התחברו). העלאות שאינן שמישות מחזירות שגיאת 400 עם הנחיה לתיקון.
פרמטרים
club `string` (חובה) uuid `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/vpn-import/{club}/{uuid}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-import/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עדכון חיבור VPN של סוכן בינה מלאכותית (שם / אישורים / split-DNS)
מעדכן את החיבור השמור. שדות האישורים הם לכתיבה בלבד (שדה שהושמט = שמירת הערך הקיים; מחרוזת ריקה = ניקוי). שינויים באישורים או ב-split-DNS מעלים את גרסת החיבור, כך שמנהרה פעילה מופעלת מחדש עם הערכים החדשים.
פרמטרים
club `string` (חובה) uuid `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/vpn-connection/{club}/{uuid}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-connection/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקת חיבור VPN של סוכן בינה מלאכותית
מסיר את החיבור מהרישום ומאותת למכשיר, שמפרק את המנהרה ומוחק את הפרופיל והאישורים השמורים במטמון.
פרמטרים
club `string` (חובה) uuid `string` (חובה) connectionId `string` (חובה)נקודת קצה
DELETE /api/devices/ph-ai-agent/vpn-connection/{club}/{uuid}/{connectionId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-connection/{club}/{uuid}/{connectionId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיבור או ניתוק של חיבור VPN של סוכן בינה מלאכותית
מודל של מצב רצוי — מגדיר את דגל enabled של החיבור ברישום ומאותת למכשיר (MQTT vpnConfigChanged ללא מטען); המכשיר מושך את המצב המחייב באמצעות קריאת universal-api המאומתת ב-JWT ומתאים את המנהרות שלו. איתות שהוחמץ מתיישב בסנכרון התקופתי.
פרמטרים
club `string` (חובה) uuid `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/vpn-command/{club}/{uuid}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-command/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת התצורה והסטטוס של גיבוי הענן של סוכן בינה מלאכותית
מחזיר את הגדרות הגיבוי של המכשיר (הפעלה, שמירה, אזור אחסון), את סטטוס הגיבוי השוטף (הגיבוי האחרון, גודל, שגיאות), את האזור האוטומטי שנקבע ואת אזורי האחסון הזמינים לבורר. הסיסמה של מאגר restic אף פעם אינה מוחזרת.
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-config/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-config/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון תצורת גיבוי הענן של סוכן בינה מלאכותית
שומר את ההפעלה, השמירה והאזור. השינוי נכנס לתוקף במחזור הגיבוי השעתי הבא של המכשיר (המכשיר מבקש מ-PH את הקשר ההרצה שלו לפני כל הרצה), כך שאין צורך באתחול המכשיר.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/backup-config/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-config/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצגת מקורות שחזור מגיבוי לצורך צימוד סוכן בינה מלאכותית חדש
תצוגה ברמת המתקן עבור האפשרות "שחזור מגיבוי" בתיבת הדו-שיח להוספת סוכן: כל רישום במתקן — פעיל וגם כזה שהוצא משימוש או הוחלף — שעדיין יש לו מאגר גיבוי שניתן לפענח ולפחות נקודת שחזור שמישה אחת, יחד עם תמונות המצב החדשות ביותר שלו. מחזיר גם את רשימות האפשרויות של תצורת הגיבוי (allowedRetentionDays, availableRegions), כך שתיבת הדו-שיח לא צריכה UUID של מכשיר כדי למלא את רשימות הבחירה.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-sources/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-sources/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת נקודות השחזור מגיבוי של סוכן בינה מלאכותית
מחזיר את אינדקס תמונות המצב של המכשיר (החדשות ביותר תחילה) מ-DynamoDB — ללא פנייה למכשיר או למאגר — וגם את מצב הבקשה הנוכחית לגיבוי ידני או לשחזור, לצורך תשאול מהמגירה. בקשות ישנות (שלא נאספו מעולם, או ללא אות התקדמות) מוצגות ככושלות, כך שממשק המשתמש תמיד יכול לשלוח בקשה חדשה.
פרמטרים
club `string` (חובה) uuid `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-snapshots/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-snapshots/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בקשת גיבוי ידני מיידי של סוכן בינה מלאכותית
כותב בקשת הרצה ידנית (עם ההערה של המשתמש) לשורת הרישום ומאותת למכשיר דרך MQTT. המכשיר מאחזר את הבקשה המאומתת באמצעות קריאת run-context של universal-api המאומתת ב-JWT — גם ללא MQTT היא נאספת במחזור המתזמן הבא. הבקשה נדחית כשגיבוי או שחזור אחר מתבצע.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/backup-run/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-run/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצמדה או ביטול הצמדה של נקודת שחזור של סוכן בינה מלאכותית
נקודות שחזור מוצמדות מוגנות מפני ניקוי לפי מדיניות השמירה — התחזוקה הלילית של המכשיר מקבלת את מזהי תמונות המצב המוצמדות דרך קריאת run-context ומחריגה אותן מ-restic forget — ושורות האינדקס שלהן אף פעם אינן פגות לפי TTL. ביטול ההצמדה מחזיר את התנהגות השמירה הרגילה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/backup-pin/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-pin/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שחזור סוכן בינה מלאכותית מנקודת שחזור של גיבוי
כותב בקשת שחזור לשורת הרישום ומאותת למכשיר. שחזור מלא דורס את /data ואת /home/hermeswebui (המכשיר יוצר תחילה תמונת מצב בטיחות אוטומטית לפני השחזור ועוצר את הסוכן במהלך השחזור) ומחייב הקלדה של שם המכשיר כאישור. העברת `paths` מבצעת במקום זאת שחזור ברמת הקבצים של הנתיבים האלה בלבד, ללא שיבוש. ניתן גם להצמיד את המכשיר בחזרה לגרסת התוכנה של תמונת המצב לאחר שהשחזור של הנתונים מסתיים (ראו backup-restore-release).
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/backup-restore/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-restore/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
החלת גרסת התוכנה שנרשמה בשחזור שהושלם
השלב האחרון בשחזור שביקש את גרסת התוכנה של תמונת המצב: לאחר שהמכשיר מדווח שהשחזור של הנתונים הושלם, הפעולה מצמידה את המכשיר לגרסה השמורה ומבטלת את נעילת העדכונים (אותו מנגנון כמו בנקודת הקצה לעדכון). מופעל על ידי התשאול של המגירה; אידמפוטנטי — ההצמדה השמורה מנוקה לאחר ההחלה.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/backup-restore-release/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-restore-release/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עיון בקבצים בתוך נקודת שחזור של גיבוי
מציג רמת תיקייה אחת של תמונת מצב restic, המוגשת כולה בצד השרת ממאגר Wasabi (פועל גם כשהמכשיר לא מקוון). נקראים רק מטא-נתוני העץ — לא מורדים נתוני קבצים לצורך הרשימות.
פרמטרים
club `string` (חובה) uuid `string` (חובה) takenAt `number` (חובה) path `string` (אופציונלי)נקודת קצה
GET /api/devices/ph-ai-agent/backup-files/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-files/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש שמות קבצים בתוך נקודת שחזור של גיבוי
חיפוש שמות קבצים ללא תלות באותיות רישיות, מתיקייה מסוימת ומטה, המוגש בצד השרת ממטא-נתוני העץ של restic (לא נקראים נתוני קבצים; פועל גם כשהמכשיר לא מקוון). הרשימה מוזרמת והחיפוש נעצר לאחר 200 ההתאמות הראשונות.
פרמטרים
club `string` (חובה) uuid `string` (חובה) takenAt `number` (חובה) q `string` (חובה) path `string` (אופציונלי)נקודת קצה
GET /api/devices/ph-ai-agent/backup-search/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-search/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מה השתנה בין שתי נקודות שחזור של גיבוי
מריץ בצד השרת restic diff בין שתיים מתמונות המצב של המכשיר (מטא-נתוני עץ בלבד) ומחזיר את רשימת הקבצים שנוספו, הוסרו או שונו (עד 500 שינויים) וגם סטטיסטיקות סיכום. התוצאות נשמרות במטמון — תמונות מצב אינן ניתנות לשינוי.
פרמטרים
club `string` (חובה) uuid `string` (חובה) fromTakenAt `number` (חובה) toTakenAt `number` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-diff/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-diff/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
היסטוריית הגרסאות של קובץ אחד בכל נקודות השחזור
הרצה אחת של restic find בצד השרת על כל תמונות המצב במאגר של המכשיר, מצומצמת לגרסאות שונות בלבד (התאמות עוקבות עם גודל ו-mtime זהים מאוחדות) ומקושרת לשורות אינדקס תמונות המצב לצורך תאריכים, סוגים והערות.
פרמטרים
club `string` (חובה) uuid `string` (חובה) path `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-file-versions/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-file-versions/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש לפי שם קובץ בכל נקודות השחזור בגיבויים של מכשיר
הדרך לשחזור קבצים שנמחקו: הרצה אחת של restic find בצד השרת על כל תמונות המצב במאגר (ללא תלות באותיות רישיות, לפי מחרוזת חלקית או glob), מקובצת לפי נתיב יחד עם נקודות השחזור שבהן מופיע כל קובץ. קובץ שנמחק מהמכשיר עדיין ניתן לאיתור כאן כל עוד נקודת שחזור כלשהי מכילה אותו.
פרמטרים
club `string` (חובה) uuid `string` (חובה) q `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-find/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-find/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הורדת קובץ יחיד מנקודת שחזור של גיבוי
מזרים קובץ אחד ישירות ממאגר restic לדפדפן (כקובץ מצורף). תיקיות מוזרמות כארכיון tar. הגודל מוגבל; מוגש בצד השרת, ולכן פועל גם כשהמכשיר לא מקוון.
פרמטרים
club `string` (חובה) uuid `string` (חובה) takenAt `number` (חובה) path `string` (חובה)נקודת קצה
GET /api/devices/ph-ai-agent/backup-file-download/{club}/{uuid}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-file-download/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוצאה משימוש של סוכן בינה מלאכותית ממתקן
פרמטרים
club `string` (חובה)נקודת קצה
POST /api/devices/ph-ai-agent/decommission/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/decommission/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הסרת סוכן בינה מלאכותית ממתקן ואיפוס החומרה להגדרות היצרן
מנתק את השיוך של המכשיר לחלוטין כך שניתן לצמד אותו בכל מתקן, ומוחק את כל הנתונים ב-NUC. המחיקה מוכנה מראש באמצעות משתנה המכשיר PH_FACTORY_RESET של balena (nonce חד-פעמי) לפני פירוק המשאבים בענן, כך שהיא תתבצע גם אם המכשיר לא מקוון בזמן ההסרה — המחיקה תרוץ בפעם הבאה שהוא יתחבר. איתות factoryReset ב-MQTT גורם למחיקה מיידית כשהמכשיר מקוון. לאחר מכן פירוק המשאבים בענן מבטל את כל האישורים וההרשאות, מנקה את הקישור למתקן ב-Balena (משתני מכשיר + תג club) ואת clubID במטא-נתונים, ומוחק את בקשות הגישה ואת רשומת ה-DNS ברשת המקומית. גיבויי הענן נשמרים: אינדקס תמונות המצב וסיסמת המאגר נשארים ברישום שנמחק במחיקה רכה, וניתן להשתמש בהם כמקור שחזור בעת הוספת מכשיר חלופי. מחייב הקלדה של שם המכשיר כאישור.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/reset/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/reset/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
החלפת סוכן בינה מלאכותית שהפסיק לפעול ב-NUC חדש (התאוששות מאסון)
החלפת מכשיר בפעולה אחת: משייך את ה-NUC החלופי (משבצת מנהרה, סודות, משתני balena, נתוני גיבוי ראשוניים), מעביר את השם, המיקום, לוח הזמנים לאתחול, הגדרות הגיבוי, חסימת הגישה והרשאת ה-MCP של המכשיר הישן, משייך מחדש את אינדקס תמונות המצב הישן למכשיר החדש (כך שכל היסטוריית הגיבויים נשארת זמינה לעיון), מוציא משימוש את הרישום הישן (עם החותמות replacedBy / replacedFrom), ו — אלא אם `restore` הוא false — מכניס לתור שחזור מלא של נקודת השחזור שנבחרה ממאגר הגיבוי של המכשיר הישן אל החומרה החדשה. פועל גם כשהמכשיר הישן הפסיק לפעול או לא מקוון; מחייב הקלדה של שם המכשיר הישן כאישור. באותו מתקן בלבד.
פרמטרים
club `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/devices/ph-ai-agent/replace/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/replace/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מפענח קישור QR מקוצר של מכשיר Performance Hub לקישור העומק שאליו הוא מפנה, כדי שהסורק של הוסף מכשיר יוכל לזהות את סוג המכשיר. רק כתובות במארח performancehub.co נפתחות.
פרמטרים
url `string` (חובה) הקישור המקוצר שנסרקנקודת קצה
GET /api/devices/resolve-qr
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/resolve-qr \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בודק את הקישוריות ל-Unifi Controller של מתקן ואם האישורים נכונים.
פרמטרים
facilityID `string` (חובה) המזהה הפנימי של המתקן שאיתו ברצונכם לבדוק את הקישוריות ל-unifiנקודת קצה
GET /api/devices/testUnifiController/{facilityID}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/devices/testUnifiController/{facilityID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן מכשיר IoT כללי במתקן.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
PUT /api/devices/updateGenericDevice/{club}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/devices/updateGenericDevice/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מציג את מספר ההסכמים הפתוחים שדורשים פעולה, לפי משתמש ולפי המועדונים המשויכים אליו
נקודת קצה
GET /api/agreements/agreements-outstanding
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agreements/agreements-outstanding \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת כל ההסכמים הזמינים למועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. contracts-sort `string` (אופציונלי) מיון ההסכמים לפי date-effective או לפי סדר אלפביתי. ברירת המחדל היא date-effective. contracts-acknowledgement `string` (אופציונלי) סינון ההסכמים לפי all, acknowledged או unacknowledged. ברירת המחדל היא all. contracts-requirement `string` (אופציונלי) סינון ההסכמים לפי all, signature, checkbox, popup או none. ברירת המחדל היא all. contracts-status `string` (אופציונלי) סינון ההסכמים לפי all, active או archived. ברירת המחדל היא all.נקודת קצה
GET /api/agreements/list-agreements/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/agreements/list-agreements/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חתימה על הסכם לפי המזהה שלו.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שחותם על ההסכם. agreementid `string` (חובה) מזהה ההסכם שעליו חותמים. body `string` (חובה) אובייקט JSON שמכיל את ההסכם ואת הפרמטרים להוספה או להעלאה למערכת...נקודת קצה
POST /api/agreements/sign/{club}/{agreementid}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/agreements/sign/{club}/{agreementid} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סיכום Model Router של המתקן (תצורה, יתרה, הוצאות).
פרמטרים
clubID `string` (חובה) tz `string` (אופציונלי) אזור הזמן IANA של הצופה: משמש כחלופה לחלונות ההוצאה היומיים והחודשיים כאשר אין למתקן נתוני אזור זמן.נקודת קצה
GET /api/clubs/{clubID}/ai-credits/overview
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/overview \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קטלוג המודלים הזמינים עם מצב ההפעלה לכל מתקן (כברירת מחדל כולם מופעלים).
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/models
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/models \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעקות הבטיחות (guardrails) הזמינים ותבניות ההגדרות המוכנות של PH.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/guardrails
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/guardrails \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שירותי Model Router מחוברים. כולל מכשירי סוכן בינה מלאכותית מצומדים, סוכנים חיצוניים עם סוג מוגדר במפורש ושירות ה-Workflow של המתקן. התצורה נערכת דרך PATCH /keys/{keyHash}.
פרמטרים
clubID `string` (חובה) tz `string` (אופציונלי) אזור הזמן IANA של הצופה: משמש כחלופה לחלונות ההוצאה היומיים והחודשיים כאשר אין למתקן נתוני אזור זמן.נקודת קצה
GET /api/clubs/{clubID}/ai-credits/agents
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/agents \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלת Model Router עבור מתקן והקצאת גישת ההסקה שלו.
פרמטרים
clubID `string` (חובה)נקודת קצה
POST /api/clubs/{clubID}/ai-credits/enable
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/enable \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון התוכנית, רשימת ההיתרים של המודלים, מעקות הבטיחות, מסנני התוכן (הסתרה או חסימה בביטויים רגולריים בצד PH), מגבלת ההוצאה ותצורת הטעינה האוטומטית.
פרמטרים
clubID `string` (חובה)נקודת קצה
PATCH /api/clubs/{clubID}/ai-credits/config
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/config \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
איפוס מונה התקרה הקשיחה הכוללת ל-0 (קביעת בסיס חדש לפי ההוצאה הנוכחית) ותיעוד התקופה שנסגרה בהיסטוריה.
פרמטרים
clubID `string` (חובה)נקודת קצה
POST /api/clubs/{clubID}/ai-credits/spend-limit/reset-total
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/spend-limit/reset-total \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
היסטוריית איפוסי התקרה הקשיחה (החדשים ראשונים): תקרה, סכום שהוצא וחותמות זמן לכל תקופה שנסגרה.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/spend-limit/history
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/spend-limit/history \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת מפתח API חדש מסוג phk_ עבור המתקן (הטקסט הגלוי מוחזר פעם אחת). מקבל תקרות הוצאה, רשימת היתרים של מודלים, מעקות בטיחות, מסנני תוכן ומגבלות קצב rpmLimit/tpmLimit, כולם אופציונליים.
פרמטרים
clubID `string` (חובה)נקודת קצה
POST /api/clubs/{clubID}/ai-credits/keys
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/keys \
-H "x-api-key: YOUR_API_KEY"
עדכון שדות המפתח הניתנים לעריכה: תווית, תקרות הוצאה לכל מפתח, רשימת היתרים של מודלים, מעקות בטיחות, מסנני תוכן ומגבלות קצב rpmLimit/tpmLimit (מסונכרנים למפתח).
פרמטרים
clubID `string` (חובה) keyHash `string` (חובה)נקודת קצה
PATCH /api/clubs/{clubID}/ai-credits/keys/{keyHash}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/keys/{keyHash} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יומני הסקה לכל בקשה עבור המתקן (בזמן אמת, מטא-נתונים בלבד).
פרמטרים
clubID `string` (חובה) page `string` (אופציונלי) pageSize `string` (אופציונלי) status `string` (אופציונלי) model `string` (אופציונלי) provider `string` (אופציונלי) source `string` (אופציונלי) `key` או `agent` keyHash `string` (אופציונלי) סינון למפתח או לסוכן יחיד לפי ה-keyHash שלו ב-PH. q `string` (אופציונלי) חיפוש טקסט חופשי במזהה הבקשה, בתווית המפתח או הסוכן, במודל, בספק ובמשתמש הקצה. minutes `string` (אופציונלי) חלון קצר מיום (לדוגמה Live=1440); גובר על startDate/endDate. startTs `string` (אופציונלי) תחילת החלון בשניות Epoch (לחיצה להגדלה); גוברת על minutes/dates. endTs `string` (אופציונלי) סוף החלון בשניות Epoch (לחיצה להגדלה); גובר על minutes/dates.נקודת קצה
GET /api/clubs/{clubID}/ai-credits/logs
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/logs \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
היסטוגרמה של בקשות לאורך זמן עבור תצוגת היומנים. אותם מסננים כמו בנתיב הרשימה, אבל מצטברים בצד השרת למקטעי זמן (ספירות הצלחה וכשל), כך שהתגובה קטנה מאוד ללא קשר לנפח היומנים. גודל המקטע נבחר אוטומטית לפי טווח הזמן.
פרמטרים
clubID `string` (חובה) status `string` (אופציונלי) model `string` (אופציונלי) provider `string` (אופציונלי) source `string` (אופציונלי) keyHash `string` (אופציונלי) q `string` (אופציונלי) minutes `string` (אופציונלי) startDate `string` (אופציונלי) endDate `string` (אופציונלי) startTs `string` (אופציונלי) endTs `string` (אופציונלי)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/logs/histogram
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/logs/histogram \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקטעי ניתוח שימוש + סכומים לכל מודל עבור טווח (בזמן אמת).
פרמטרים
clubID `string` (חובה) range `string` (אופציונלי) 24h | 7 | 30 | 90 | year | all (המערכת מתעלמת מכך אם צוינו startDate/endDate) startDate `string` (אופציונלי) endDate `string` (אופציונלי) groupBy `string` (אופציונלי) model (ברירת מחדל) | key | source | provider | status: הממד עבור המקטעים והקבוצות subgroupBy `string` (אופציונלי) ממד שני אופציונלי שמקונן תחת כל קבוצה (Explore) keyHash `string` (אופציונלי) מסנן העמקה: הגבלה למפתח או לסוכן יחיד model `string` (אופציונלי) מסנן העמקה: הגבלה למודל יחיד provider `string` (אופציונלי) source `string` (אופציונלי) compare `string` (אופציונלי) הגדירו ל-"prev" כדי להחזיר גם את groupsPrev (התקופה הקודמת מיד, באורך זהה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/stats
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/stats \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
לוח שנה של פעילות יומית לאורך השנה האחרונה המתגלגלת (בסגנון GitHub, כ-53 שבועות).
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/activity
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/activity \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיוב כרטיס החיוב השמור של SaaS כדי להוסיף אשראי משולם מראש ל-Model Router.
פרמטרים
clubID `string` (חובה) body `object` (אופציונלי)נקודת קצה
POST /api/clubs/{clubID}/ai-credits/topup
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/topup \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
השלמת טעינה לאחר שהיישומון משלים את אימות 3DS.
פרמטרים
clubID `string` (חובה)נקודת קצה
POST /api/clubs/{clubID}/ai-credits/topup/confirm
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/topup/confirm \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סיכום כרטיס החיוב השמור של SaaS שיחויב בטעינות ובטעינה האוטומטית.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/payment-method
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/payment-method \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תנועות בספר החשבונות של המתקן, החדשות ראשונות. ניתן לסנן לפי סוג (לדוגמה `types=topup,adjustment` להיסטוריית תנועות הכספים, או `types=charge-reconcile` עם `from`/`to` לניכויי השימוש של חודש).
פרמטרים
clubID `string` (חובה) limit `integer` (אופציונלי) מספר שורות מרבי (ברירת מחדל 50, מקסימום 200) types `string` (אופציונלי) סוגי תנועות מופרדים בפסיקים (topup, charge-reconcile, refund, adjustment, trueup-shortfall) from `integer` (אופציונלי) רק תנועות עם createdAt >= from (שניות Unix) to `integer` (אופציונלי) רק תנועות עם createdAt <= to (שניות Unix)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/transactions
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חודשים ייחודיים בפורמט `YYYY-MM` (UTC, החדשים ראשונים) שמכילים לפחות תנועה אחת מהסוגים המבוקשים. מזין את הרשימות הנפתחות של סינון השנה והחודש, כך שממשק המשתמש מציע רק תקופות שיש בהן נתונים בפועל.
פרמטרים
clubID `string` (חובה) types `string` (אופציונלי) סוגי תנועות מופרדים בפסיקים (topup, charge-reconcile, refund, adjustment, trueup-shortfall)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/transactions/available-periods
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions/available-periods \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת תשלום ממותגת בפורמט PDF עבור תנועת Model Router יחידה.
פרמטרים
clubID `string` (חובה) txId `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/transactions/{txId}/receipt.pdf
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions/{txId}/receipt.pdf \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חבילה של קבלות תשלום ממותגות בפורמט PDF עבור תנועות הטעינה שנבחרו, כקובץ ZIP. כל מזהה חייב להיות טעינה ששייכת למתקן: לניכויי שימוש ולהתאמות של מנהלים אין קבלות והם נדחים.
פרמטרים
clubID `string` (חובה) ids `string` (חובה) מזהי תנועות מופרדים בפסיקים (עד 50)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/transactions/receipts.zip
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions/receipts.zip \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סיכומים לפי חודש קלנדרי (UTC) של ניכויי השימוש של המתקן, החדשים ראשונים. החודש הנוכחי תמיד נכלל ומסומן ב-`isCurrentMonth` (מתחילת החודש ועד היום).
פרמטרים
clubID `string` (חובה) months `integer` (אופציונלי) חלון הבדיקה לאחור בחודשים (ברירת מחדל 12, מקסימום 24; המערכת מתעלמת ממנו כאשר `year` מוגדר) year `integer` (אופציונלי) הגבלת הסיכומים לשנה קלנדרית אחת ב-UTC (לדוגמה 2026)נקודת קצה
GET /api/clubs/{clubID}/ai-credits/usage-statements
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage-statements \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
דוח שימוש חודשי ממותג בפורמט PDF: סיכום ניכויי השימוש של החודש (סכומי ביניים יומיים + סך הכול). זו במפורש אינה חשבונית או קבלה; ניכויי שימוש אינם גובים תשלום.
פרמטרים
clubID `string` (חובה) month `string` (חובה) חודש קלנדרי ב-UTC, `YYYY-MM`נקודת קצה
GET /api/clubs/{clubID}/ai-credits/usage-statements/{month}/statement.pdf
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage-statements/{month}/statement.pdf \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פריטי השורה הגולמיים של ניכויי השימוש בחודש כקובץ CSV (מזהה תנועה, חותמת זמן UTC, סכום, יתרה לאחר מכן, תמונת מצב של ההוצאה הכוללת): ייצוא הפירוט שמתאים לסך הכול בדוח החודשי.
פרמטרים
clubID `string` (חובה) month `string` (חובה) חודש קלנדרי ב-UTC, `YYYY-MM`נקודת קצה
GET /api/clubs/{clubID}/ai-credits/usage-statements/{month}/detail.csv
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage-statements/{month}/detail.csv \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סיכום שימוש והוצאות של המתקן (בזמן אמת, בתוספת ספר החשבונות המותאם).
פרמטרים
clubID `string` (חובה) tz `string` (אופציונלי) אזור הזמן IANA של הצופה: משמש כחלופה לחלונות ההוצאה היומיים והחודשיים כאשר אין למתקן נתוני אזור זמן.נקודת קצה
GET /api/clubs/{clubID}/ai-credits/usage
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שיוך או עדכון של מכשיר AI Edge Processor למועדון
פרמטרים
body `string` (חובה) אובייקט JSON לעדכון הרישום של מכשיר AI Edge Processor.נקודת קצה
POST /api/ai-edge-processor/devices
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ai-edge-processor/devices \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
משייך מכשיר AI Edge Processor למועדון. מזהה את המכשיר קודם לפי המטא-נתונים (אות החיים העדכני גובר), משלים את שורת הרישום אם המכשיר מעולם לא נרשם בעצמו, ומנקה שורות רישום ישנות שנותרו מחומרה שהוקצתה מחדש.
פרמטרים
body `string` (חובה) אובייקט JSON לעדכון הרישום של מכשיר AI Edge Processor.נקודת קצה
POST /api/ai-edge-processor/devices/associate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ai-edge-processor/devices/associate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של רשומות העלאת bbox במועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/bbox-timeline/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/bbox-timeline/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אינדקס החיפוש של מאגר המצלמות
מעביר את אינדקס החיפוש camera-db של התיעוד הציבורי (יצרנים, סדרות, דגמים, שמות חלופיים), שבו משתמשת תיבת הדו-שיח Find my camera בעת הוספת מצלמות רשת. נשמר במטמון בצד השרת למשך 12 שעות.
נקודת קצה
GET /api/cctv/camera-db/search-index
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/camera-db/search-index \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תבניות יצרנים במאגר המצלמות
מעביר את תבניות כתובות ה-RTSP ואת ברירות המחדל של יצרן יחיד ממאגר המצלמות בתיעוד הציבורי. ה-slug מאומת כדי למנוע מעבר נתיבים. נשמר במטמון בצד השרת למשך 12 שעות.
פרמטרים
slug `string` (חובה) ה-slug של היצרן (לדוגמה hikvision)נקודת קצה
GET /api/cctv/camera-db/manufacturers/{slug}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/camera-db/manufacturers/{slug} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של נתוני צ'ק-אין עבור מתקן
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון או המתקן שאליו ברצונכם לגשת. startDate `string` (אופציונלי) תאריך התחלה בפורמט YYYY-MM-DD endDate `string` (אופציונלי) תאריך סיום בפורמט YYYY-MM-DD timezone `string` (אופציונלי) אזור הזמן לפענוח התאריכים (ברירת מחדל Australia/Brisbane) nextToken `string` (אופציונלי) אסימון עימוד לאחזור הדף הבאנקודת קצה
GET /api/cctv/check-ins/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/check-ins/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אחזור התצורה של ממשק הקצה או ממשק המשתמש של הטלוויזיה במעגל סגור
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/config/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/config/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת תצורת אספקת התוכן של הטלוויזיה במעגל סגור
מחזיר את דומיין התוכן שבו משתמשים לקוחות הטלוויזיה במעגל סגור כדי לאתר נכסי מדיה. הדומיין נקבע לפי משתנה הסביבה CONTENT_DOMAIN, ואם הוא חסר, לפי ברירת מחדל שתלויה בשלב (הייצור מגיש את /cctv, שלבים אחרים מגישים את /cctv-stg).
נקודת קצה
GET /api/cctv/content-config
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/content-config \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שינוי התצורה של ממשק הקצה או ממשק המשתמש של הטלוויזיה במעגל סגור
פרמטרים
body `object` (חובה) אובייקט JSON של בלוק התצורה החדש להוספה למערכת.נקודת קצה
PUT /api/cctv/config/:club/:section
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/cctv/config/:club/:section \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של זמינות אזורי bucket עבור תצורת ספק האחסון של הטלוויזיה במעגל סגור
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/bucket-region/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/bucket-region/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
איפוס אוסף הפנים הלא מזוהות
מאפס את אוסף ה-CompreFace של הפנים הלא מזוהות במתקן על ידי מחיקת כל הנבדקים. רשומות האנשים ב-DynamoDB, זיהויי הפנים ובלוקי ציר הזמן ב-OpenSearch אינם מושפעים. רק נתוני זיהוי הפנים שבבסיס נמחקים. פרופילי צל חדשים ייווצרו אוטומטית כשהמערכת תעבד זיהויים חדשים מהמצלמות.
פרמטרים
facilityId `string` (חובה)נקודת קצה
DELETE /api/cctv/config/{facilityId}/unidentified-collection
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/config/{facilityId}/unidentified-collection \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת מידע על אוסף הפנים הלא מזוהות
מחזיר את מספר הנבדקים הנוכחי באוסף ה-CompreFace של הפנים הלא מזוהות במתקן.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/cctv/config/{facilityId}/unidentified-collection-info
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/config/{facilityId}/unidentified-collection-info \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספת מצלמת רשת (מצלמת OEM/IP) באמצעות כתובת URL של זרם (RTSP, HTTP, HTTPS)
פרמטרים
body `string` (חובה) אובייקט JSON להוספת מצלמת רשת.נקודת קצה
POST /api/cctv/devices/add-network-camera
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/add-network-camera \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספה גורפת של מצלמות רשת ל-Edge Processor
רושם מספר מצלמות רשת מסוג RTSP/HTTP מול Edge Processor אחד, ולאחר מכן דוחף את FEED_CONFIG פעם אחת כדי שהמכשיר יטען מחדש את התצורה פעם אחת בלבד.
פרמטרים
body `object` (חובה)נקודת קצה
POST /api/cctv/devices/add-network-cameras
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/add-network-cameras \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שיוך או עדכון של מכשיר למועדון
פרמטרים
body `string` (חובה) אובייקט JSON לעדכון הרישום של מכשיר טלוויזיה במעגל סגור.נקודת קצה
POST /api/cctv/devices
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שיוך מכשיר למועדון
פרמטרים
body `string` (חובה) אובייקט JSON לעדכון הרישום של מכשיר טלוויזיה במעגל סגור.נקודת קצה
POST /api/cctv/devices/associate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/associate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שולח בקשת MQTT ל-UUID של מכשיר מסוים ומצפה לתגובה (דרך websocket) עם היכולות הזמינות של המצלמה.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שבבעלותו המכשיר שעליו אתם שולחים שאילתה. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/cctv/devices/list-camera-capabilities/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/list-camera-capabilities/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת רישומי המכשירים
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/devices/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/devices/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הסרת מצלמת רשת על ידי סימונה כמחוקה והסרתה מ-FEED_CONFIG של ה-Edge Processor
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שבבעלותו המכשיר. balenaUUID `string` (חובה) ה-UUID של מצלמת הרשת להסרה.נקודת קצה
DELETE /api/cctv/devices/remove-network-camera/{club}/{balenaUUID}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/devices/remove-network-camera/{club}/{balenaUUID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שמירת יכולות המצלמה שהוגדרו והחלתן על המכשיר כמשתנה סביבה (דרך balena)
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שבבעלותו המכשיר שעליו אתם שולחים שאילתה. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/cctv/devices/save-camera-capabilities/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/save-camera-capabilities/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שמירת מסכת תנועה (אם הוגדרה) עבור המצלמה והחלתה על המכשיר כמשתנה סביבה (דרך balena)
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שבבעלותו המכשיר שעליו אתם שולחים שאילתה. body `string` (חובה) אובייקט JSON של מסכת המצלמה.נקודת קצה
POST /api/cctv/devices/save-camera-mask/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/save-camera-mask/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שליחת פקודת v4l2 מסוימת (כגון בהירות או ניגודיות) למכשיר הפיזי
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שבבעלותו המכשיר שעליו אתם שולחים שאילתה. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/cctv/devices/set-camera-capability/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/set-camera-capability/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בדיקת כתובת URL של זרם ממצלמת רשת
שליחת פקודת בדיקה ל-Edge Processor כדי לאמת כתובת URL של זרם מצלמה באמצעות ffprobe
גוף הבקשה
נקודת קצה
POST /api/cctv/devices/test-stream
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/test-stream \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מוחק לצמיתות רשומת זיהוי פנים יחידה ממסד הנתונים. משמש להסרת רשומות מעקב שגויות או לא תואמות מיומן הפעילות של אדם.
פרמטרים
club `string` (חובה) fdID `string` (חובה)נקודת קצה
DELETE /api/cctv/face-detections/:club/:fdID
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/face-detections/:club/:fdID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של נתוני זיהויי הפנים של אדם
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. personID `string` (חובה) מזהה האדם במערכת זיהוי הפניםנקודת קצה
GET /api/cctv/face-detections/:club/:personID
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections/:club/:personID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר זיהויי פנים שמפנים לתמונת חיתוך של אדם מסוים, באמצעות שאילתה דרך ה-GSI personCropImage.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. personCropImage `string` (חובה) כתובת ה-URL של תמונת החיתוך של האדם, השמורה ברשומת זיהוי הפנים. limit `string` (אופציונלי) המספר המרבי של זיהויים להחזרה. nextToken `string` (אופציונלי) אסימון עימוד מתגובה קודמת.נקודת קצה
GET /api/cctv/face-detections-by-person-crop-image/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections-by-person-crop-image/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של נתוני זיהויי הפנים של מועדון, מקובצים לפי טווח יחסית לזמן הנוכחי
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/face-detections/:club/timeline
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections/:club/timeline \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של נתוני זיהויי הפנים של מועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/face-detections/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש בלוקים של ציר הזמן של זיהויי הפנים במתקן באמצעות OpenSearch
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן שבו יש לחפש timezone `string` (חובה) אזור זמן IANA להמרת תאריכים (לדוגמה Pacific/Auckland) startDate `string` (אופציונלי) מסנן תאריך התחלה (YYYY-MM-DD), מומר ל-startUnix לפי אזור הזמן endDate `string` (אופציונלי) מסנן תאריך סיום (YYYY-MM-DD), מומר ל-endUnix לפי אזור הזמן personId `string` (אופציונלי) סינון לפי מזהה אדם מסוים query `string` (אופציונלי) חיפוש טקסט חופשי (לדוגמה שם של אדם) limit `string` (אופציונלי) תוצאות לדף (ברירת מחדל 20, מקסימום 100) filters `string` (אופציונלי) אובייקט מסננים בקידוד JSON (לדוגמה {"matchType":"identified"}) sortBy `string` (אופציונלי) השדה למיון (startUnix, endUnix, created). ברירת המחדל היא endUnix. page `string` (אופציונלי) מספר הדף לעימוד (ברירת מחדל 1) sortOrder `string` (אופציונלי) כיוון המיון (asc או desc). ברירת המחדל היא desc.נקודת קצה
GET /api/cctv/search/face-detections/timeline-blocks/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/search/face-detections/timeline-blocks/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של דוחות על מתקן המועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/facility/:club/reports
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/facility/:club/reports \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלת יצירה של מפת חום לפי דרישה. מפעיל את אותה לוגיקת Starter שמשמשת את משימת ה-cron המתוזמנת, אבל מאפשר למקד מתקן מסוים, תאריך ושעה וקבוצת תקופות. כאשר הוא נקרא ללא גוף בקשה, הוא פועל בדיוק כמו ה-cron: סורק את כל המתקנים המתאימים ומכניס כל מכשיר לתור.
גוף הבקשה
נקודת קצה
POST /api/cctv/heatmaps/generate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/heatmaps/generate \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
איתור המיקום של קובץ PNG של מפת חום מורכבת בחלון מתגלגל עבור מכשיר יחיד. מחזיר מטא-נתוני JSON בלבד: הבתים של קובץ ה-PNG נמצאים בדומיין התוכן, וממשק הקצה בונה את כתובת ה-URL כך: `${contentDomain}/cctv/${storageService}/${region}/${filePath}?s=${token}` סדר האיתור: 1. פגיעה באינדקס `composed#…` ב-DynamoDB → החזרה מיידית (כ-10 ms). 2. HEAD ב-Wasabi על מפתח המטמון הדטרמיניסטי. בפגיעה, נכתבת שורת אינדקס משלימה ומתבצעת החזרה. 3. חלופה ישנה: קיימת רשומה מורכבת כלשהי עבור הצירוף (מכשיר, טווח, שעה), גם אם מתאריך אחר. מוחזרת מיד עם `cache: 'HIT-STALE'` כדי שממשק הקצה יוכל להציג *משהו*. הרכבה חדשה מופעלת באופן אסינכרוני. 4. מסלול קר: אין רשומה כלל. פונקציית ה-Lambda של ההרכבה נכנסת לתור באמצעות `InvocationType: 'Event'` ונקודת הקצה מחזירה `202 { cache: 'PENDING' }`. ממשק הקצה בודק שוב ושוב עד שהרשומה מגיעה (בדרך כלל 3 עד 5 שניות). טיפול ביום הנוכחי: כאשר `endDate` הוא "היום" המקומי של המתקן, נקודת הקצה מגישה במקום זאת את קובץ ה-PNG של אתמול: הפרוסות של היום עדיין נכתבות על ידי ה-cron של Starter, והרכבה חדשה הייתה חלקית. התגובה מחזירה את `endDate` המבוקש וכוללת את `endDateUsed` (= אתמול). ערכי `cache`: - `HIT`: הוגש מאינדקס DDB עבור התאריך המבוקש. - `HIT-FALLBACK`: התבקש היום; הוגשה שורת האינדקס של אתמול. - `HIT-BACKFILL`: לא נמצא ב-DDB אבל קובץ ה-PNG היה ב-Wasabi; השורה נכתבה זה עתה. - `HIT-FALLBACK-BACKFILL`: השלמה בחלופה של אתמול. - `HIT-STALE`: אין רשומה לתאריך המבוקש אבל קיימת רשומה מתאריך אחר עבור הצירוף הזה; הוגשה מיד והרכבה חדשה נכנסה לתור ברקע. - `PENDING`: אין רשומה כלל; ההרכבה נכנסה לתור. ממשק הקצה צריך לבדוק שוב ושוב. התגובה היא `202 Accepted`, ללא `filePath`.
פרמטרים
facilityId `string` (חובה) deviceUUID `string` (חובה) המכשיר שעבורו מתבצעת ההרכבה. ההרכבות הן לכל מכשיר. hour `integer` (חובה) שעה ביום (0–23) להרכבה לאורך חלון הבדיקה לאחור. endDate `string` (אופציונלי) התאריך האחרון בחלון (YYYY-MM-DD). ברירת המחדל היא היום (לפי אזור הזמן של המתקן). range `string` (אופציונלי) חלון הבדיקה לאחור. חייב להיות אחד מהטווחים ברשימת ההיתרים. nocache `integer` (אופציונלי) הגדירו ל-`1` כדי לעקוף את שכבות המטמון של DDB ו-HEAD ולאלץ הרכבה חדשה.נקודת קצה
GET /api/cctv/heatmaps/hourly/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/heatmaps/hourly/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
איתור השעות ביום שיש להן רשומות פרוסה של `1h` עבור מכשיר לאורך חלון בדיקה לאחור מתגלגל. ממשק הקצה משתמש בכך כדי למלא את בורר השעות לצד בורר התאריך והטווח, לפני הפעלת נקודת הקצה של ההרכבה (`/api/cctv/heatmaps/hourly/...`). דוגמה: `GET /api/cctv/heatmaps/query-hourly/Birkdale?deviceUUID=abc123&endDate=2026-04-16&range=30d` באופן פנימי: שאילתת טווח אחת ב-DynamoDB על `cctvheatmaps` (`sk BETWEEN 1h#{start}-00 AND 1h#{end}-23`), מקובצת לפי שעה. מחזיר רשומה אחת לכל שעה שיש בה לפחות פרוסה אחת, כולל תמונת JPEG ייצוגית לעיון (נלקחת מהיום האחרון בחלון; תמונת העיון משותפת לכל מכשיר לכל יום).
פרמטרים
facilityId `string` (חובה) deviceUUID `string` (חובה) המכשיר לשאילתה. הפרוסות השעתיות הן לכל מכשיר. endDate `string` (אופציונלי) התאריך האחרון בחלון (YYYY-MM-DD). ברירת המחדל היא היום (לפי אזור הזמן של המתקן). range `string` (אופציונלי) חלון הבדיקה לאחור. חייב להיות אחד מהטווחים ברשימת ההיתרים.נקודת קצה
GET /api/cctv/heatmaps/query-hourly/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/heatmaps/query-hourly/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שאילתה על רשומות מפות חום שנוצרו מראש עבור מתקן. **כל הרשומות של סוג תקופה:** - `/api/cctv/heatmaps/Birkdale?periodType=1y` - `/api/cctv/heatmaps/Birkdale?deviceUUID=abc123&periodType=1d` **טווח תאריכים, סוג תקופה יחיד:** - `/api/cctv/heatmaps/Birkdale?periodType=1d&from=2026-03-01&to=2026-03-31` - `/api/cctv/heatmaps/Birkdale?periodType=6h&from=2026-03-31&to=2026-03-31` **טווח תאריכים, כל סוגי התקופות הרלוונטיים (השמיטו את periodType):** - `/api/cctv/heatmaps/Birkdale?from=2026-03-01&to=2026-03-31` מחזיר רשומות שנתיות, חצי-שנתיות, רבעוניות וכו', עד לרשומות של 6h שחופפות לטווח שצוין. **נקודת זמן, כל 9 סוגי התקופות עבור מכשיר אחד:** - `/api/cctv/heatmaps/Birkdale?deviceUUID=abc123&date=2026-03-15T14:30` מחזיר עד 9 רשומות (1y, 6m, 3m, 2m, 1m, 1w, 1d, 12h, 6h).
פרמטרים
facilityId `string` (חובה) מזהה המתקן. deviceUUID `string` (אופציונלי) שאילתה על מכשיר מסוים. אם לא צוין, השאילתה מתבצעת על כל המכשירים (GSI). periodType `string` (אופציונלי) סינון לסוג תקופה יחיד. אם לא צוין יחד עם from/to, השאילתה מתבצעת על כל הסוגים. from `string` (אופציונלי) תאריך התחלה (yyyy-mm-dd). חייב לשמש יחד עם `to`. to `string` (אופציונלי) תאריך סיום (yyyy-mm-dd). חייב לשמש יחד עם `from`. date `string` (אופציונלי) חיפוש לפי נקודת זמן (yyyy-mm-dd או yyyy-mm-ddTHH:mm). נדרש deviceUUID. מחזיר רשומה אחת לכל סוג תקופה.נקודת קצה
GET /api/cctv/heatmaps/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/heatmaps/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת התמונה הממוזערת של השידור החי של המכשיר
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון. deviceId `string` (חובה) המזהה הפנימי של מכשיר הטלוויזיה במעגל סגור.נקודת קצה
GET /api/cctv/livestream/:club/thumbnail/:deviceId
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/livestream/:club/thumbnail/:deviceId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הודעה למערכת הטלוויזיה במעגל סגור שאתם עומדים לצפות בשידור חי
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון. deviceId `string` (חובה) המזהה הפנימי של מכשיר הטלוויזיה במעגל סגור.נקודת קצה
POST /api/cctv/livestream/:club/iswatching/:deviceId
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/livestream/:club/iswatching/:deviceId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אישור התאמת הצלבה
מגדיר את סטטוס ההתאמה כמאושר ומתעד את הבודק.
פרמטרים
club `string` (חובה) matchId `string` (חובה)נקודת קצה
POST /api/cctv/matching/{club}/detail/{matchId}/approve
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/approve \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת התאמת הצלבה יחידה עם פרטי הביקור
מחזיר את רשומת ההתאמה ואת פירוט התזמון שלה לכל ביקור.
פרמטרים
club `string` (חובה) matchId `string` (חובה)נקודת קצה
GET /api/cctv/matching/{club}/detail/{matchId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קישור ידני של אדם ללא התאמה לחבר
משייך personId של הטלוויזיה במעגל סגור לחבר מסוים ומגדיר את ההתאמה כמאושרת.
פרמטרים
club `string` (חובה) matchId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/cctv/matching/{club}/detail/{matchId}/link
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/link \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
רשימת התאמות ההצלבה של מתקן
מחזיר התאמות מחולקות לדפים, מסוננות לפי סטטוס.
פרמטרים
club `string` (חובה) status `string` (אופציונלי) limit `integer` (אופציונלי) nextToken `string` (אופציונלי)נקודת קצה
GET /api/cctv/matching/{club}/list
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/matching/{club}/list \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
דחיית התאמת הצלבה
מגדיר את סטטוס ההתאמה כנדחה ומתעד את הבודק.
פרמטרים
club `string` (חובה) matchId `string` (חובה)נקודת קצה
POST /api/cctv/matching/{club}/detail/{matchId}/reject
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/reject \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת ספירות הסיכום של התאמות ההצלבה
מחזיר את ספירות ההתאמות של המתקן, מקובצות לפי סטטוס.
פרמטרים
club `string` (חובה) מזהה מתקןנקודת קצה
GET /api/cctv/matching/{club}/summary
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/matching/{club}/summary \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ביטול קישור של התאמת פרופיל שנלמדה אוטומטית
מחזיר התאמה מקושרת לסטטוס נדחה ומנקה את autoLearnedFrom ברשומת החבר.
פרמטרים
club `string` (חובה) matchId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/cctv/matching/{club}/detail/{matchId}/unlink
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/unlink \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קריאת הסטטוס של פעולת "upsert identified person" שנמצאת בביצוע (כולל יצירה ועריכה). קורא את השורה ישירות מהטבלה `people-ops` שבבעלות cctv-rekognition-api, ללא מעבר דרך Lambda. משמש את ממשק הקצה של הטלוויזיה במעגל סגור לבדיקת ההתקדמות לאחר POST /api/cctv/people/{facility}/identified. הנתיב נמצא לצד `/cctv/people/...` (ולא מקונן תחתיו), כדי שנתב ה-express לא יתאים בטעות את `operationId` כ-`:personID` ב-`/cctv/people/:club/:personID`. ראו את סדר ה-glob ב-createAPIRouter. מחזיר ערך ממלא מקום `pending` כל עוד פונקציית ה-Lambda upsertIdentifiedPerson עדיין לא כתבה את רשומת השלב הראשונה שלה (חלון ההפעלה הקרה). ה-hook של הבדיקה בממשק הקצה מתייחס לממלא המקום ול-pending באופן זהה, כך שהחוזה נשאר יציב עבור הקוראים.
פרמטרים
operationId `string` (חובה)נקודת קצה
GET /api/cctv/people-operations/{operationId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people-operations/{operationId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף תמונת פנים (מזיהוי מעקב קיים) לנבדק הזיהוי של האדם ב-CompreFace ושומר הפניה בטבלת תמונות הצל. אינו מעלה את התמונה ל-Wasabi: היא כבר נמצאת שם כלכידה של זיהוי פנים.
פרמטרים
club `string` (חובה) personID `string` (חובה) body `string` (חובה)נקודת קצה
POST /api/cctv/people/:club/:personID/add-face
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/:personID/add-face \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספת תמונות צל לרשומת אדם
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. personID `string` (חובה) מזהה הרשומה של האדם body `string` (חובה) אובייקט JSON של בלוק התצורה החדש להוספה למערכת.נקודת קצה
POST /api/cctv/people/:club/shadow-photos/:personID
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/shadow-photos/:personID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שאילתה על תמונות הצל של אדם
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. personID `string` (חובה) מזהה הרשומה של האדםנקודת קצה
GET /api/cctv/people/:club/shadow-photos/:personID
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club/shadow-photos/:personID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מסיר לצמיתות רשומת תמונת צל מ-CCTVShadowPhotosTable ומסיר את הפנים המתאימות מ-CompreFace (אם faceId שמור).
פרמטרים
club `string` (חובה) personID `string` (חובה) id `string` (חובה) מזהה הרשומה של תמונת הצל (מפתח ראשי)נקודת קצה
DELETE /api/cctv/people/:club/shadow-photos/:personID/:id
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/people/:club/shadow-photos/:personID/:id \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת הפניות ורשומות זיהוי משויכות לפי personID
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. personID `string` (חובה) המזהה הייחודי של האדם במערכת הטלוויזיה במעגל סגור.נקודת קצה
DELETE /api/cctv/people/:club/:personID
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/people/:club/:personID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשומת אדם של מועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. personID `string` (חובה) מזהה האדם במסד הנתונים.נקודת קצה
GET /api/cctv/people/:club/:personID
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club/:personID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת אזורי הגישה שמתאימים לפרופיל החברות של אדם
מזהה את סוג החבר, התגים ותוכניות החברות של האדם, ולאחר מכן מחזיר אזורי גישה אמיתיים (origin=membership-plan, שלא נבלעו) שהותאמו מול כללי הכללה והחרגה. ה-accessRestriction בכל אזור מצומצם רק לכללים שהתאימו לאדם. מצלמות של אזורי משנה ממוזגות לאזורי האב.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן personID `string` (חובה) מזהה האדם מטבלת האנשים של הטלוויזיה במעגל סגורנקודת קצה
GET /api/cctv/people/{club}/{personID}/allowed-zones
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/{club}/{personID}/allowed-zones \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את הסטטוס הנוכחי של משימת מיזוג, כולל התוצאות לכל מקור. בדקו את נקודת הקצה הזו כל 3 עד 5 שניות כל עוד הסטטוס הוא IN_PROGRESS.
פרמטרים
club `string` (חובה) mergeJobID `string` (חובה)נקודת קצה
GET /api/cctv/people/:club/merge-status/:mergeJobID
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club/merge-status/:mergeJobID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מתחיל מיזוג ברקע של מספר פרופילים של אנשים לא מזוהים לפרופיל שורד אחד. מגיב מיד ב-202 עם mergeJobID. בדקו את /merge-status/:mergeJobID כדי לעקוב אחר ההתקדמות.
פרמטרים
club `string` (חובה) body `string` (חובה)נקודת קצה
POST /api/cctv/people/:club/merge-unidentified
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/merge-unidentified \
-H "x-api-key: YOUR_API_KEY"
הוספת פנים לאוסף הרשימה השחורה של מתקן
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקןגוף הבקשה
נקודת קצה
POST /api/cctv/people/{facilityId}/blacklist
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/{facilityId}/blacklist \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יצירה או עדכון (Upsert) של אדם מזוהה במתקן: יוצר רשומה חדשה או מעדכן רשומה קיימת. מעביר לפונקציית ה-Lambda upsertIdentifiedPerson, שכותבת את רשומת האדם, מעלה ל-Wasabi כל תמונה שסופקה ומאנדקסת מחדש את הפנים ב-CompreFace. כאשר `isNewRecord` הוא true (ברירת מחדל), ה-Lambda מריצה את ענף היצירה (cctvPeople.save) ו-`personID` נוצר אם לא סופק. כאשר `isNewRecord` הוא false, ה-Lambda מריצה את ענף העדכון (cctvPeople.update): `personID` נדרש וחייב לזהות רשומה קיימת.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/cctv/people/{facilityId}/identified
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/{facilityId}/identified \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
עדכון קבוצת שדות השותפים האופציונליים שמסונכרנים לטבלת האנשים של הטלוויזיה במעגל סגור עבור מתקן.
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקןגוף הבקשה
נקודת קצה
PUT /api/cctv/people/{facilityId}/sync-fields
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/cctv/people/{facilityId}/sync-fields \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחזיר רשימה של נתוני האנשים של מועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/people/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש אנשים במתקן לפי תמונת פנים. מפעיל את פונקציית ה-Lambda imageFaceSearch של cctv-rekognition-api עם תמונת ה-base64 שהועלתה ומזהה המתקן מהנתיב. מחזיר התאמות מדורגות וסיכום מאפיינים של DeepFace.
פרמטרים
club `string` (חובה) מזהה המתקן / המועדון body `string` (חובה)נקודת קצה
POST /api/cctv/people/{club}/search-by-face
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/{club}/search-by-face \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש אנשים במתקן באמצעות OpenSearch
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן שבו יש לחפש query `string` (אופציונלי) מונח חיפוש (לדוגמה שם) page `string` (אופציונלי) מספר דף (ברירת מחדל 1) limit `string` (אופציונלי) תוצאות לדף (ברירת מחדל 20, מקסימום 100) filters `string` (אופציונלי) אובייקט מסננים בקידוד JSON (לדוגמה {"membershipStatus":"active"}) sortBy `string` (אופציונלי) השדה למיון (created, lastName, firstName, membershipUpdatedOn). ברירת המחדל היא created. sortOrder `string` (אופציונלי) כיוון המיון (asc או desc). ברירת המחדל היא desc.נקודת קצה
GET /api/cctv/search/people/:facilityId
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/search/people/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון פריטי זיהוי פנים עם personID חדש ושיוך רשומות זיהוי
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. body `string` (חובה) אובייקט JSON של בלוק התצורה החדש להוספה למערכת.נקודת קצה
POST /api/cctv/people/:club/validate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/validate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר אובייקט של כל המסננים הזמינים לנתוני ההקלטות של הטלוויזיה במעגל סגור במועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/recordings/filters/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/filters/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הזרמת הקלטה.
נקודת קצה
GET /api/cctv/recordings/:club/:dir/:filename
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club/:dir/:filename \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון המידע על ההקלטה.
נקודת קצה
PUT /api/cctv/recordings/:club/:dir/:filename
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/cctv/recordings/:club/:dir/:filename \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר סיכום של נתוני ההקלטות של הטלוויזיה במעגל סגור במועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/recordings/:club/summary
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club/summary \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של נתוני ההקלטות של הטלוויזיה במעגל סגור במועדון, לפי טווח יחסית לזמן הנוכחי
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/recordings/:club/timeline
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club/timeline \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של נתוני ההקלטות של הטלוויזיה במעגל סגור במועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/recordings/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ההקלטות נמחקות אוטומטית לאחר תקופה קבועה; השתמשו בפונקציה הזו כדי לשמור הקלטות
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
POST /api/cctv/recordings/:club/:action
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/recordings/:club/:action \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש תמונות מצב של דוחות עבור מתקן בטווח תאריכים
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן startDate `string` (חובה) מסנן תאריך התחלה (YYYY-MM-DD) endDate `string` (חובה) מסנן תאריך סיום (YYYY-MM-DD) deviceIds `string` (אופציונלי) רשימה מופרדת בפסיקים של מזהי מצלמות או מכשירים לסינון view `string` (אופציונלי) תצוגת דוח חלופית לחישוב (מועברת לפונקציית ה-Lambda של הדוח)נקודת קצה
GET /api/cctv/reports/search-report-snapshots/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/reports/search-report-snapshots/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש וקטורי במדיה המאונדקסת של הטלוויזיה במעגל סגור במתקן. מגיב עם text/event-stream שמועבר מפונקציית ה-Lambda searchAnything, כדי שהלקוח יוכל להציג את ההתקדמות בזמן שמכולה קרה טוענת את המקודד. האירועים הם `status`, ולאחר מכן `result` או `error`. יש שלוש דרכים לשאול, שתיים מהן בפעולה הזו. שלחו `query` כדי לחפש לפי טקסט חופשי. שלחו `seedIndex` + `seedKey` כדי לחפש לפי דוגמה ("עוד כמו זה"), באמצעות הווקטור של שורה שכבר נמצאת באינדקס; כך מוצאים עוד תוצאות כמו זו שהמשתמש מסתכל עליה. כדי לחפש לפי תמונה שיש למשתמש, שלחו במקום זאת את הבתים ב-`POST` לאותו נתיב. שלחו מילים יחד עם תמונה כדי שכל אחת תצמצם את השנייה: **הטקסט מסנן, התמונה מדרגת**. המועמדים מגיעים מהדוגמה, המילים קובעות אילו מהם נשארים, והדמיון החזותי קובע את הסדר; כך התוצאות עדיין דומות לתמונה, והמילים מוציאות את אלה שאינן מתאימות. השניים לעולם אינם משולבים לווקטור אחד, ולכן `queryKind` נשאר `similar` בחיפוש משולב; הנוכחות של `query` בתוצאה היא מה שמעיד שהופעל סינון טקסט. צפו שחיפושים משולבים לא יחזירו דבר לעיתים קרובות למדי, והתייחסו לכך כתוצאה נפרדת: `perIndex.
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן שבו יש לחפש query `string` (אופציונלי) תיאור בטקסט חופשי של מה לחפש. נדרש אלא אם נשלחו warm=1 או דוגמה. בשילוב עם דוגמה הוא כבר אינו מה שמדורג, אלא הופך למסנן על המועמדים של הדוגמה ומשמיט את אלה שציון הטקסט שלהם נמוך מסף הרלוונטיות של האינדקס. seedIndex `string` (אופציונלי) חיפוש לפי דוגמה במקום לפי טקסט: האינדקס שבו נמצאת שורת הדוגמה (person-crops, recording-frames, timelapse-frames). זהו ה-`index` של התוצאה שהמשתמש לחץ עליה. חייב להישלח יחד עם seedKey. seedKey `string` (אופציונלי) ה-`key` של שורת הדוגמה, כפי שהוא מופיע בתוצאה. הדוגמה מוחרגת מהתוצאות של עצמה; בהקלטה פירוש הדבר הוא הקליפ כולו, כי שאר הפריימים שלו מרוחקים 2 שניות זה מזה וכמעט זהים. seedFrameId `string` (אופציונלי) נדרש כאשר seedIndex הוא recording-frames: האינדקס הזה שומר שורה אחת לכל פריים שנדגם וכולן חולקות את המפתח של הקליפ, כך שהמפתח לבדו מציין קליפ ולא רגע. שלחו את ה-`frameId` של התוצאה. לשורות ישנות אין ערך כזה; שלחו במקומו את seedOffsetMs. seedOffsetMs `string` (אופציונלי) מזהה פריים חלופי עבור דוגמאות recording-frames שהשורה שלהן קודמת ל-`frame_id`. שלחו את ה-`offsetMs` של התוצאה. המערכת מתעלמת ממנו כאשר seedFrameId מסופק. warm `string` (אופציונלי) חימום מכולת Lambda בלי להריץ חיפוש. הפעילו זאת בטעינת הדף. warmTarget `string` (אופציונלי) איזה מקודד `warm` טוען: `text` (ברירת מחדל), `image` או `both`. מגדל הראייה שוקל 355 MB לעומת 283 MB של מגדל הטקסט, ולכן החימום שלו נעשה רק לפי בחירה: בקשו `image` רק אחרי שהמשתמש באמת הכין תמונה, ולא בטעינת הדף. index `string` (אופציונלי) מערכי נתונים לחיפוש, מופרדים בפסיקים: person-crops, recording-frames, timelapse-frames. התוצאות ממוזגות לרשימה אחת שממוינת לפי ציון. כברירת מחדל החיפוש מתבצע בשלושתם; העבירו רשימה מפורשת כדי לצמצם אותו. timelapse-frames מכסה מצלמות שאינן מקליטות דבר ומפיקות רק פריים אחד בדקה, וסף הרלוונטיות שלו עדיין לא כויל. model `string` (אופציונלי) המקודד שבאמצעותו מתבצעת השאילתה. חייב להתאים למקודד שבו אונדקס מערך הנתונים. limit `string` (אופציונלי) מספר התוצאות להחזרה לכל אינדקס (ברירת מחדל 50, מקסימום 100); זה אינו סך כולל, ולכן חיפוש בשלושת האינדקסים יכול להחזיר עד פי שלושה מכך. בהקלטות נספרים קליפים ולא פריימים תואמים. from `string` (אופציונלי) התאמה רק למדיה שנלכדה בזמן הזה או אחריו, באלפיות שנייה מאז ה-epoch. שימו לב שזהו זמן הלכידה ולא זמן ההעלאה. to `string` (אופציונלי) התאמה רק למדיה שנלכדה לפני הזמן הזה (לא כולל), באלפיות שנייה מאז ה-epoch. cameraId `string` (אופציונלי) מזהי balenaUUID של מצלמות, מופרדים בפסיקים, לצמצום: השדה `balenaUUID` של כל רשומה שמוחזרת מ-/api/cctv/recordings/filters/:club. זהו מסנן המצלמות המועדף: כל האינדקסים שומרים את אותו ערך, כך שמסנן אחד מצמצם את כולם. שימו לב שרק לחיתוכים שהצירוף שלהם לזיהוי הפנים הצליח יש ערך זה (כ-1% כיום), ולכן צמצום חיתוכים לפי מצלמה יחזיר מעט תוצאות או אף אחת עד שתרוץ השלמת הנתונים של החיתוכים; ההקלטות מלאות ומסוננות במדויק. camera `string` (אופציונלי) שמות מצלמות, מופרדים בפסיקים, לצמצום. בפועל רלוונטי להקלטות בלבד: person-crops שומר שם מצלמה ריק בכל שורה, כך שכל ערך כאן מחריג את כל החיתוכים. העדיפו את cameraId. cameraGroup `string` (אופציונלי) קבוצות מצלמות, מופרדות בפסיקים, לצמצום. מאוכלס בכל ההקלטות אבל רק בכ-1% מהחיתוכים, מאותה סיבה כמו cameraId. minScore `string` (אופציונלי) עקיפת סף הקוסינוס לכל אינדקס שמסנן רעש. השמיטו בסביבת הייצור; לכל אינדקס יש ברירת מחדל מכוילת (וברירת מחדל נפרדת, לא מכוילת, לחיפושים לפי דוגמה). העבירו 0 כדי לראות את השכנים הקרובים ביותר ללא סינון בעת ניפוי באגים ברלוונטיות.נקודת קצה
GET /api/cctv/search/anything/:facilityId
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/search/anything/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש לפי תמונה שיש למשתמש, במקום לפי מילים או לפי תוצאה שכבר מוצגת במסך. זהה ל-GET בכל היבט אחר (אותם פרמטרי שאילתה, אותו זרם אירועים, אותו מבנה תוצאה), ולכן כאן מתועד רק מה ששונה. שלחו את **הבתים המקוריים של הקובץ** כגוף הבקשה עם Content-Type מסוג `image/*`. אל תשנו את הגודל, תחתכו או תקודדו מחדש את התמונה בדפדפן לפני כן: השרת מבצע שינוי גודל ספציפי מאוד (כיווץ ל-256x256 עם גרעין בילינארי עם החלקת קצוות) שבו נבנו הווקטורים המאונדקסים, ושינוי הגודל ב-canvas משתמש בגרעין אחר. לפי מדידה, ההחלפה הזו מרחיקה את התוצאה בכ-0.93 קוסינוס מהתשובה הנכונה, יותר מהמרחק בין שתי תמונות שונות באמת, כך שהתוצאות חוזרות בדירוג שנראה סביר אך שגוי, ללא שגיאה. מוגבל ל-4 MB, וזו מגבלת העברה ולא מגבלת איכות: הבתים עוברים בתוך המטען של הפעלת ה-Lambda, שמוגבל ל-6 MB, ו-base64 מגדיל אותם בשליש. התוצאות מדורגות לפי תמונה מול תמונה, ולכן `queryKind` הוא `image` והציונים נמצאים באותו סולם גבוה בהרבה כמו בחיפוש לפי דוגמה; לעולם אין להשוות אותם לציוני טקסט. צפו שהם יהיו מעט *נמוכים* מחיפוש מקביל לפי דוגמה: הווקטור של דוגמה נכתב על ידי המכשיר עצמו, ואילו העלאה מקודדת כאן מחדש על ידי מנוע אחר, ולכן היא נוחתת כמה מאיות הרחק מהמקום שבו המכשיר היה ממקם אותה. לפי מדידה, התוצאות באיכות שווה למרות זאת; הן פשוט אינן אותה קבוצה בדיוק. הוספת `query` מסננת את התוצאות לפי המילים האלה, בדיוק כמו בדוגמה. שליחה של דוגמה *וגם* של תמונה נדחית: שתיהן הן מה שמדורג, ולכן לצירוף אין משמעות. זו הבקשה היקרה ביותר שנקודת הקצה מטפלת בה. תמונה שהועלתה טוענת את מגדל הראייה, והוספת מילים טוענת גם את מגדל הטקסט, שניהם במכולה קרה. `warm=1&warmTarget=image` ברגע שהמשתמש מכין תמונה מוציא זאת מהנתיב הקריטי.
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן שבו יש לחפש body `string` (חובה) בתים גולמיים של התמונה, ללא שינוי, עד 4 MB query `string` (אופציונלי) מילים אופציונליות לצמצום תוצאות התמונה, שמשמיטות התאמות שציון הטקסט שלהן נמוך מסף הרלוונטיות של האינדקס.נקודת קצה
POST /api/cctv/search/anything/:facilityId
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/search/anything/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את פרטי האחסון ונתוני מדדים נוספים של הטלוויזיה במעגל סגור במועדון
נקודת קצה
GET /api/cctv/storage-details/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/storage-details/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של רשומות העלאת timelapse של מועדון
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/timelapse/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/timelapse/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת פעולות המשתמשים שבוצעו בהקלטות בממשק הקצה או בממשק המשתמש של הטלוויזיה במעגל סגור
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/cctv/ui/actions/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/ui/actions/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תיעוד פעולת משתמש שבוצעה בהקלטות בממשק הקצה או בממשק המשתמש של הטלוויזיה במעגל סגור
פרמטרים
body `string` (חובה) אובייקט JSON של בלוק התצורה החדש להוספה למערכת.נקודת קצה
POST /api/cctv/ui/actions/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/ui/actions/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת אסימון משתמש עבור ממשק הקצה או ממשק המשתמש של הטלוויזיה במעגל סגור
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
GET /api/cctv/ui/token/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/ui/token/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת אסימון לגישה זמנית או לגישת אורח
פרמטרים
club `string` (חובה) המזהה הייחודי של המועדון. body `string` (חובה) אובייקט JSON של פרטי האסימון להנפקה.נקודת קצה
POST /api/cctv/token/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/cctv/token/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{
"accessID": "00000000-0000-0000-0000-000000000014"
}
מחזיר רשימה של רשומות אסימונים לגישה זמנית או לגישת אורח
פרמטרים
club `string` (חובה) המזהה הייחודי של המועדון.נקודת קצה
GET /api/cctv/token/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/cctv/token/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת אסימון גישה באמצעות מזהה גישה
פרמטרים
accessID `string` (חובה) מזהה רשומת האסימון במסד הנתונים.נקודת קצה
POST /guest/cctv/token/:accessID
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/guest/cctv/token/:accessID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת שעות גישה של מתקן
פרמטרים
facilityId `string` (חובה) body `object` (חובה) אובייקט JSON של שעות הגישה החדשות.נקודת קצה
DELETE /api/ai/computer-vision/access-hours/:facilityId
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/ai/computer-vision/access-hours/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של שעות הגישה של המתקן
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/ai/computer-vision/access-hours/:facilityId
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ai/computer-vision/access-hours/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון או יצירה של שעות גישה של מתקן
פרמטרים
facilityId `string` (חובה) body `object` (חובה) אובייקט JSON של שעות הגישה החדשות.נקודת קצה
POST /api/ai/computer-vision/access-hours/:facilityId
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ai/computer-vision/access-hours/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת אזור גישה של מתקן
פרמטרים
facilityId `string` (חובה) body `object` (חובה) אובייקט JSON של אזור הגישה החדש.נקודת קצה
DELETE /api/ai/computer-vision/access-zones/:facilityId
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/ai/computer-vision/access-zones/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של אזורי הגישה של המתקן
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/ai/computer-vision/access-zones/:facilityId
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ai/computer-vision/access-zones/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון או יצירה של אזור גישה של מתקן
פרמטרים
facilityId `string` (חובה) body `object` (חובה) אובייקט JSON של אזור הגישה החדש.נקודת קצה
POST /api/ai/computer-vision/access-zones/:facilityId
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ai/computer-vision/access-zones/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את האיחוד של כל מזהי מודולי הניהול בכל המותגים והמתקנים של ארגון, כאובייקטי מודול מלאים.
פרמטרים
organisationId `string` (חובה) מזהה הארגוןנקודת קצה
GET /api/organisations/{organisationId}/admin-modules
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/organisations/{organisationId}/admin-modules \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של כל הארגונים
פרמטרים
includeBrands `string` (אופציונלי) הכללת המותגים המשויכים לארגון includeFacilities `string` (אופציונלי) הכללת המתקנים המשויכים לארגון includeRegions `string` (אופציונלי) הכללת האזורים המשויכים לארגוןנקודת קצה
GET /api/organisations
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/organisations \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
כלי עזר פשוט מבוסס בינה מלאכותית שמנתח את התוכן של כרטיס תמיכה ויוצר הצעות על סמך הנושאים הזמינים, וכן נושאי חיפוש מוצעים ב-Algolia...
פרמטרים
messageBody `string` (חובה) גוף ההודעה לשליחה topicData `string` (חובה) אובייקט או מערך JSON של ה-topicData שהוחזר מ-osTicket (מערכת כרטיסי התמיכה) facilityId `string` (אופציונלי) המזהה הפנימי של המועדון, הנדרש כדי לקבוע באיזה אינדקס Algolia לחפש.נקודת קצה
PUT /api/ai/helpers/analyse-support-ticket
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/ai/helpers/analyse-support-ticket \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
API פשוט ליצירת תמונות
פרמטרים
type `string` (חובה) סוג התמונה ליצירה name `string` (חובה) שם התמונה maxSize `string` (אופציונלי) גודל תגובה מרבי אופציונלי, לדוגמה 200KB, 1MB או מספר בתים פשוט. התמונה מוקטנת או נדחסת כדי להתאים.נקודת קצה
PUT /api/ai/images/:type/:name
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/ai/images/:type/:name \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שאילתת LLM פשוטה
נקודת קצה קלה לשאילתות LLM פשוטות וללא מצב. משתמשת במודל זול ללא יכולות הסקה (gpt-4o-mini) עם מגבלות אסימונים מחמירות. ללא היסטוריית שיחה, ללא כלים וללא הזרמה: הנחיה נכנסת, טקסט יוצא.
גוף הבקשה
נקודת קצה
POST /api/ai/llm/query
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ai/llm/query \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחזיר את תצורת Algolia, כולל שם האינדקס, מזהה האפליקציה ומפתח ה-API.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/facilities/{facilityId}/algolia/config
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/algolia/config \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אתחול אינדקס חומרי השיווק וההדפסה ב-Algolia
פרמטרים
organisationId `string` (חובה)נקודת קצה
PUT /api/algolia/index
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/algolia/index \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש חומרי שיווק והדפסה
גוף הבקשה
נקודת קצה
POST /algolia/search-marketing-print
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/algolia/search-marketing-print \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
חיפוש חומרי שיווק והדפסה
פרמטרים
club `string` (אופציונלי) מזהה מועדון searchTerms `string` (אופציונלי) מונחי חיפוש algoliaArgs `object` (אופציונלי) ארגומנטים נוספים לחיפוש ב-Algoliaנקודת קצה
GET /algolia/search-marketing-print
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/algolia/search-marketing-print \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון גורף של אובייקטי שיווק והדפסה עבור מועדון מסוים
נקודת קצה
POST /algolia/bulk-update-marketing-print
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/algolia/bulk-update-marketing-print \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מאחזר נכסי שיווק והדפסה מ-Algolia.
פרמטרים
organisationId `string` (חובה) search `string` (אופציונלי) limit `string` (אופציונלי) brand `string` (אופציונלי) tag `string` (אופציונלי)נקודת קצה
GET /api/algolia/marketing/assets
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/algolia/marketing/assets \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מאתחל את אינדקס חומרי השיווק וההדפסה ב-Algolia עם התצורה של המתקן.
פרמטרים
organisationId `string` (חובה)נקודת קצה
POST /api/algolia/marketing/assets
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/algolia/marketing/assets \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מבצע חיפוש באינדקס Algolia שצוין לפי מונחי חיפוש, מועדון ו/או אזור שפה. ניתן להתאים את החיפוש עוד יותר באמצעות ארגומנטים נוספים של Algolia.
פרמטרים
searchTerms `string` (חובה) המונחים לחיפוש באינדקס Algolia. club `string` (אופציונלי) המזהה הפנימי של המועדון ששולח את הבקשה. אם צוין, החיפוש יסונן לפי האזור המשויך למועדון. locale `string` (אופציונלי) אזור השפה שישמש לקביעת האזור אם לא צוין מועדון. נגזר מ-navigator.languages. algoliaArgs `string` (אופציונלי) ארגומנטים נוספים או מותאמים אישית להעברה לבקשת החיפוש של Algolia.נקודת קצה
POST /api/algolia/search-wiki
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/algolia/search-wiki \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת כל ההודעות
נקודת קצה
GET /api/announcements/list
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/announcements/list \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעלה נכס ל-bucket ציבורי ב-S3 (דרך ה-Upload API), שיבצע לאחר מכן עיבוד ואופטימיזציה של הקובץ, יצירת תמונות ממוזערות וכו'. *שימו לב: הנכסים יהיו זמינים לציבור*
פרמטרים
file `string` (אופציונלי) שם הקובץ או הנכס להעלאה.נקודת קצה
POST /api/asset-upload
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/asset-upload \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את סטטוס ההעלאה לפי ה-uuid של רשומת ההעלאה
פרמטרים
uuid `string` (חובה) ה-UUID של רשומת ההעלאהנקודת קצה
GET /api/asset-upload/:uuid
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/asset-upload/:uuid \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שליחת פקודה למערכת Sonos של המועדון
פרמטרים
body `object` (חובה) אובייקט JSON של הפקודה והקלט לשליחה ל-Sonos.נקודת קצה
PUT /api/audio-control/command/:club
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/audio-control/command/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אחזור התצורה של ממשק הקצה של בקרת שמע
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/audio-control/config/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/audio-control/config/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שינוי התצורה של ממשק הקצה של בקרת שמע
פרמטרים
body `object` (חובה) אובייקט JSON של בלוק התצורה החדש להוספה למערכת.נקודת קצה
PUT /api/audio-control/config/:club/:section
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/audio-control/config/:club/:section \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אחזור הגדרות המותג עבור אזור מסוים
פרמטרים
brandId `string` (אופציונלי) מזהה המותג regionCode `string` (אופציונלי) קוד ה-ISO של האזור שעבורו יש לאחזר הגדרותנקודת קצה
GET /api/brands/{brandId}/regions/{regionCode}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/regions/{regionCode} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון של מספר הגדרות מותג עבור אזור מסוים
פרמטרים
brandId `string` (אופציונלי) מזהה המותג לעדכון regionCode `string` (אופציונלי) קוד ה-ISO של האזור שעבורו יש לעדכן הגדרות acceptFreeTrialBookingsVisibility `string` (אופציונלי) customTrackingCodeVisibility `string` (אופציונלי) displayDataSources `string` (אופציונלי) displayDefaultDataSource `string` (אופציונלי) displayDefaultUI `string` (אופציונלי) displayUIOptions `string` (אופציונלי) defaultAboutBusiness `string` (אופציונלי) defaultAboutBusinessFacebook `string` (אופציונלי) facilityCoverImage `string` (אופציונלי) digitalProfileSettingsVisibility `string` (אופציונלי) facilityHoursVisibility `string` (אופציונלי) facilityLocationVisibility `string` (אופציונלי) facilityPaymentMethods `string` (אופציונלי) facilityPrimaryLogo `string` (אופציונלי) facilityStatusVisibility `string` (אופציונלי) landingPagesVisibility `string` (אופציונלי) lineChatIntegrationVisibility `string` (אופציונלי) whatsAppIntegrationVisibility `string` (אופציונלי) defaultWhatsAppMessage `string` (אופציונלי) socialUrlsVisibility `string` (אופציונלי) yextApiKey `string` (אופציונלי) מפתח ה-API שבו משתמש השילוב עם Yext עבור צמד המותג והאזור הזה. נבדק רק כאשר `directorySyncMode` הוא `yext`. directorySyncMode `string` (אופציונלי) איזה שירות סנכרון צריך לפעול עבור המתקנים תחת צמד המותג והאזור הזה. כשהערך חסר, ברירת המחדל היא `yext`, לצורך תאימות לאחור עם מותגים שקדמו להשקת Directory Publishers. websiteUrl `string` (אופציונלי) androidAppUrl `string` (אופציונלי) iosAppUrl `string` (אופציונלי) featuredMessageDescription `string` (אופציונלי) yextCategoryIds `string` (אופציונלי) מפתח אחסון מדור קודם: אלה למעשה מזהי קטגוריות של Google Business Profile (לדוגמה gcid:gym). הקידומת "yext" קדמה להוצאה משימוש של Yext; נשמרה לצורך תאימות לאחור עם שורות קיימות במסד הנתונים. customInputFields `string` (אופציונלי) customInputFieldsToRemove `string` (אופציונלי)נקודת קצה
PUT /api/brands/{brandId}/regions/{regionCode}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/brands/{brandId}/regions/{regionCode} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אחזור הגדרות המותג עבור מתקן מסוים
פרמטרים
facilityId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את הגדרות המותגנקודת קצה
GET /api/facilities/{facilityId}/brand-settings
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/brand-settings \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת מותג חדש
פרמטרים
name `string` (חובה) שם המותג organisationId `string` (חובה) מזהה הארגון שאליו שייך המותג redirectDashboard `string` (אופציונלי) כתובת ה-URL להפניה לאחר ההתחברות, במקום לוח המחוונים המוגדר כברירת מחדלנקודת קצה
POST /api/brands
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/brands \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את רשימת כל המותגים
נקודת קצה
GET /api/brands
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/brands \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את אובייקט המותג
פרמטרים
brandId `string` (חובה) מזהה המותג לאחזור includeOrganisation `boolean` (אופציונלי) האם לכלול את נתוני הארגון בתגובהנקודת קצה
GET /api/brands/{brandId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון מותג לפי מזהה
פרמטרים
brandId `string` (אופציונלי) מזהה המותג לעדכון name `string` (חובה) שם המותג brandOrganisationId `string` (אופציונלי) מזהה הארגון שאליו שייך המותג redirectDashboard `string` (אופציונלי) כתובת ה-URL להפניה לאחר ההתחברות, במקום לוח המחוונים המוגדר כברירת מחדל yextApiKey `string` (אופציונלי) מפתח ה-API שמשמש לגישה ל-Yext API עבור המותג הזה customMenuLayout `object` (אופציונלי) עץ הפריסה של תפריט הצד לכל מותג (מקטעים / קבוצות / פריטים עם הפניות למודולי מערכת או לכתובות URL מותאמות אישית). רק מנהל ארגון של הארגון של המותג הזה יכול להגדיר אותו.נקודת קצה
PUT /api/brands/{brandId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/brands/{brandId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת המתקנים של מותג
מחזיר רשימה מצומצמת של המתקנים (מזהה, שם, קוד ISO של האזור) ששייכים למותג. משמשת למילוי בוררי מיקוד המתקנים בתצורת המותג.
פרמטרים
brandId `string` (חובה) מזהה המותג שעבורו יש להציג את המתקניםנקודת קצה
GET /api/brands/{brandId}/facilities
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/facilities \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את רשימת כל המותגים המשויכים לארגון של המועדון.
נקודת קצה
GET /api/clubs/{club}/brands
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/brands \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של כל סוגי לוחות השנה
נקודת קצה
GET /api/programs/calendars/calendar-types
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/programs/calendars/calendar-types \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את נכס ה-KYC של מועדון.
פרמטרים
clubId `string` (חובה) מזהה המועדון. key `string` (חובה) המפתח של נכס ה-KYC.נקודת קצה
GET /api/clubs/{clubId}/kyc-assets/{key}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc-assets/{key} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את פרטי ה-KYC של המועדון.
נקודת קצה
GET /api/clubs/{clubId}/kyc
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון פרטי ה-KYC של המועדון.
פרמטרים
clubId `string` (חובה) מזהה המועדון לעדכון. body `object` (חובה)נקודת קצה
PUT /api/clubs/{clubId}/kyc
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
העלאת נכס KYC עבור מועדון.
פרמטרים
clubId `string` (חובה) מזהה המועדון. file `string` (חובה) הקובץ להעלאה.נקודת קצה
POST /api/clubs/{clubId}/kyc-assets
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc-assets \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את הגדרות ההעדפות של המועדון.
נקודת קצה
GET /api/club/preferences/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/preferences/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה או עדכון של רשומת העדפות המועדון.
גוף הבקשה
נקודת קצה
POST /api/club/preferences/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/club/preferences/:club \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחזיר רשימה של חברים עם הסכם.
נקודת קצה
GET /api/clubpass/user/email/exist/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubpass/user/email/exist/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של חברים עם הסכם.
נקודת קצה
GET /api/clubpass/user/phone/exist/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubpass/user/phone/exist/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של המשתמשים ששייכים למועדון שצוין
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשתנקודת קצה
GET /api/clubs/{club}/members
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/members \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר האם המועדון פתוח בתאריך נתון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. date `string` (חובה) התאריך לבדיקה בפורמט Unixנקודת קצה
GET /api/club-busy-hours/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club-busy-hours/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל המטא-נתונים של המועדון שמוצגים באתרי Example Club.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/clubs/clubpage/clubdata/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/clubpage/clubdata/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את המטא-נתונים של מועדון בנתונים חדשים שסופקו מממשק הקצה. שדות שחסרים בגוף הבקשה נשמרים (ללא SET וללא REMOVE). שדות שנשלחים כ-`null` או כמחרוזת ריקה מנוקים. העבירו `updateAll: false` כדי להשתמש בנתיב הייעודי למיזוג חלקי; בכל מקרה, קוראים לעולם אינם צריכים לשלוח שדות שאינם בבעלותם.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. body `string` (חובה) אובייקט JSON של נתוני המועדון שברצונכם לעדכן.נקודת קצה
POST /api/clubs/clubpage/updateclub/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/clubpage/updateclub/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספת רשומת מעקב מותאמת אישית חדשה
פרמטרים
club `string` (חובה) מזהה המועדון body `string` (חובה) מערך של פריטי מעקב מותאמים אישית.נקודת קצה
POST /api/clubs/{club}/customtracking
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{club}/customtracking \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את המעקב המותאם אישית של מועדון מסוים
נקודת קצה
GET /api/clubs/customtracking/:clubID
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/customtracking/:clubID \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון רשומות מעקב מותאמות אישית
פרמטרים
club `string` (חובה) מזהה המועדון body `string` (חובה) אובייקט JSON של נתוני המועדון שברצונכם לעדכן.נקודת קצה
POST /api/clubs/{club}/customtracking/update
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{club}/customtracking/update \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את תמונת חזית החנות המוגדרת כברירת מחדל עבור מועדון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/clubs/{club}/default-shop-front
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/default-shop-front \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשימת הדלתות הזמינות במתקן
פרמטרים
body `object` (חובה) אובייקט JSON של נתוני המועדון שברצונכם לעדכן.נקודת קצה
POST /api/clubs/integrations/doors/:facilityId
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/integrations/doors/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פתיחת נעילה של דלת מסוימת במתקן
פרמטרים
body `object` (חובה) אובייקט JSON של נתוני המועדון שברצונכם לעדכן.נקודת קצה
POST /api/clubs/integrations/doors/unlock
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/integrations/doors/unlock \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל השילובים ואת פרטי התצורה של המועדון שצוין.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/clubs/integrations/list/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/integrations/list/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את המטא-נתונים של מועדון בנתונים חדשים שסופקו מממשק הקצה.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. body `object` (חובה) אובייקט JSON של נתוני המועדון שברצונכם לעדכן.נקודת קצה
POST /api/clubs/integrations/update/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/integrations/update/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר ערך בוליאני שמציין אם המועדון נמצא במדינה אירופית
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. date `string` (חובה) התאריך לבדיקה בפורמט Unixנקודת קצה
GET /api/clubs/is-eu/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/is-eu/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה כללית של כל המועדונים במסד הנתונים שלנו.
נקודת קצה
GET /api/clubs/listclubs
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/listclubs \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר האם המועדון פתוח בתאריך נתון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. date `string` (חובה) התאריך לבדיקה בפורמט Unixנקודת קצה
GET /api/clubs/{club}/open-on/{date}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/open-on/{date} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הביקורות על המועדון מ-DynamoDB.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
GET /api/clubs/{club}/reviews
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/reviews \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הגדרות הביקורות של המועדון מ-DynamoDB.
פרמטרים
facilityId `string` (חובה) מזהה מתקןנקודת קצה
GET /api/clubs/{club}/reviews-settings
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון הגדרות הביקורות של המועדון ב-DynamoDB.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
PUT /api/clubs/{club}/reviews-settings
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה מחדש של הפרסום האוטומטי בהגדרות הביקורות.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
PUT /api/clubs/{club}/reviews/publish-recent-reviews
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/publish-recent-reviews \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פרסום ביקורת
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. review `string` (חובה) המזהה הפנימי של הביקורת שברצונכם לפרסם.נקודת קצה
PUT /api/clubs/{club}/reviews/{review}/publish
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/{review}/publish \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה מחדש של הפרסום האוטומטי בהגדרות הביקורות.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
PUT /api/clubs/{club}/reviews-settings/re-enable-auto-publish
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings/re-enable-auto-publish \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פרסום תגובה לביקורת דרך הפלטפורמה שממנה היא הגיעה (Google וכו').
פרמטרים
club `string` (חובה) מזהה מתקן reviewId `string` (חובה) מזהה הביקורת ב-PH (מאותר מול הטבלה club-social-reviews) body `string` (חובה)נקודת קצה
POST /api/clubs/{club}/reviews/{reviewId}/respond
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/{reviewId}/respond \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ביטול פרסום של ביקורת
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. review `string` (חובה) המזהה הפנימי של הביקורת שברצונכם לבטל את פרסומה.נקודת קצה
PUT /api/clubs/{club}/reviews/{review}/un-publish
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/{review}/un-publish \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הבעלים ששייכים למועדון שצוין, ממסד הנתונים של PH
פרמטרים
clubID `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשתנקודת קצה
GET /api/clubs/{clubID}/owners
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/owners \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל תוכניות החברות של המתקן.
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקןנקודת קצה
GET /api/facilities/membership-plans/:facilityId
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/membership-plans/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון רשומה של תוכנית חברות.
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן body `object` (חובה) אובייקט JSON של נתוני תוכנית החברות שברצונכם לעדכן.נקודת קצה
PUT /api/facilities/membership-plans/:facilityId
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/facilities/membership-plans/:facilityId \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה מחדש של הפרסום האוטומטי בהגדרות הביקורות.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
PUT /api/clubs/{club}/reviews/publish-recent-reviews
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/publish-recent-reviews \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה מחדש של הפרסום האוטומטי בהגדרות הביקורות.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
PUT /api/clubs/{club}/reviews-settings/re-enable-auto-publish
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings/re-enable-auto-publish \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את רשימת כל המטבעות הזמינים
נקודת קצה
GET /api/currencies
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/currencies \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את המיקום הגיאוגרפי לפי כתובת IP.
פרמטרים
ip `string` (חובה) כתובת ה-IP לבדיקהנקודת קצה
GET /api/geo/ip-location/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/geo/ip-location/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את המיקום הגיאוגרפי של המשתמש הנוכחי לפי כתובת ה-IP שלו.
נקודת קצה
GET /api/geo/ip-current
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/geo/ip-current \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רק את כתובת ה-IP הציבורית של הלקוח המבקש (ללא איתור מיקום גיאוגרפי וללא קריאה ל-API של צד שלישי). משמש את היישומון של סוכן הבינה המלאכותית להשוואת כתובת ה-IP הציבורית של הדפדפן עם כתובת ה-WAN IP שהמכשיר מדווח, כדי לזהות אם הם באותה רשת.
נקודת קצה
GET /api/geo/client-ip
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/geo/client-ip \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מנתח מספרי טלפון.
פרמטרים
body `string` (חובה) אובייקט Json של המספר שברצונכם לנתח.נקודת קצה
POST /api/phone/parser
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/phone/parser \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את מכשיר השעון הראשי
פרמטרים
club_id `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר.נקודת קצה
GET /api/clubs/{club_id}/smart-club/health-check/master-clock
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/master-clock \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את מכשיר ה-Sonos הראשי
פרמטרים
club_id `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר.נקודת קצה
GET /api/clubs/{club_id}/smart-club/health-check/sonos-mqtt
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/sonos-mqtt \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת התראות Duress על סוללה חלשה עבור מועדון נתון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/clubs/{club}/smart-club/health-check/low-battery-duress
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/smart-club/health-check/low-battery-duress \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר נתוני ניתוח רשת
פרמטרים
club_id `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר.נקודת קצה
GET /api/clubs/{club_id}/smart-club/health-check/network-analysis
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/network-analysis \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שליחת התראות Duress על סוללה חלשה עבור מועדון נתון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/clubs/{club}/smart-club/health-check/send-low-battery-duress-notifs
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/smart-club/health-check/send-low-battery-duress-notifs \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר נתוני בדיקת מהירות של המכשירים לכל סוג מכשיר
פרמטרים
club_id `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר.נקודת קצה
GET /api/clubs/{club_id}/smart-club/health-check/speed-test
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/speed-test \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת תובנות על הרישום של מתקן. כברירת מחדל מחזיר סיכומים יומיים מצטברים של כל המפרסמים, או של מפרסם יחיד כאשר מועבר `publisherId`.
פרמטרים
facilityId `string` (חובה) publisherId `string` (אופציונלי) startDate `string` (חובה) endDate `string` (חובה)נקודת קצה
GET /api/facilities/{facilityId}/directory-insights
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/directory-insights \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת תובנות רישום מצטברות של מותג בכל המפרסמים.
פרמטרים
brandId `string` (חובה) startDate `string` (חובה) endDate `string` (חובה)נקודת קצה
GET /api/brands/{brandId}/directory-insights
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/directory-insights \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מילות החיפוש המובילות של מתקן (עם חלוקה למילים הכוללות את המותג ולמילים שאינן כוללות אותו), כרגע מתוך Google Business Profile.
פרמטרים
facilityId `string` (חובה) publisherId `string` (אופציונלי) ברירת המחדל היא "google" — כרגע רק Google נתמך. startDate `string` (חובה) endDate `string` (חובה) limit `string` (אופציונלי)נקודת קצה
GET /api/facilities/{facilityId}/directory-search-keywords
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/directory-search-keywords \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מילות החיפוש המובילות של מותג, מצטברות מכל המתקנים.
פרמטרים
brandId `string` (חובה) startDate `string` (חובה) endDate `string` (חובה) limit `string` (אופציונלי)נקודת קצה
GET /api/brands/{brandId}/directory-search-keywords
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/directory-search-keywords \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת השאלות והתשובות של מתקן.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/facilities/{facilityId}/qna
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/qna \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מענה על שאלה.
נקודת קצה
POST /api/facilities/{facilityId}/qna/{questionId}/answer
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/facilities/{facilityId}/qna/{questionId}/answer \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת תשובה.
נקודת קצה
DELETE /api/facilities/{facilityId}/qna/{questionId}/answer/{answerId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/facilities/{facilityId}/qna/{questionId}/answer/{answerId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את המפרסמים שהופעלו עבור הארגון של המתקן, יחד עם סטטוס החיבור שלהם.
פרמטרים
facilityId `string` (חובה) organisationId `string` (חובה)נקודת קצה
GET /api/facilities/{facilityId}/directory-publishers/resolved
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/directory-publishers/resolved \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת Access Policies של מתקן
תצורת הגישה הקיימת מומרת אוטומטית למדיניות אכיפה שוות ערך בקריאה הראשונה.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/policies/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
החלפת Access Policies עם בדיקת גרסה אופטימית
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/door-access/policies/{facilityId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יצירת Access Policy
פרמטרים
facilityId `string` (חובה)נקודת קצה
POST /api/door-access/policies/{facilityId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון Access Policy אחת
פרמטרים
facilityId `string` (חובה) policyId `string` (חובה)נקודת קצה
PATCH /api/door-access/policies/{facilityId}/{policyId}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת Access Policy אחת
פרמטרים
facilityId `string` (חובה) policyId `string` (חובה) revision `integer` (חובה)נקודת קצה
DELETE /api/door-access/policies/{facilityId}/{policyId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שכפול Access Policy עם מזהה קבוע חדש
פרמטרים
facilityId `string` (חובה) policyId `string` (חובה)נקודת קצה
POST /api/door-access/policies/{facilityId}/{policyId}/duplicate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId}/duplicate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ספירת המשתמשים והדלתות המושפעים מכל ה-Access Policies
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/policies/{facilityId}/impacts
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/impacts \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ספירת המשתמשים והדלתות המושפעים מ-Access Policy
פרמטרים
facilityId `string` (חובה) policyId `string` (חובה)נקודת קצה
GET /api/door-access/policies/{facilityId}/{policyId}/impact
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId}/impact \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת בקרי הדלתות במתקן יחד עם כללי Door/Gate Access האפקטיביים שלהם
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/doors/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שמירת עקיפות לכל דלת, סמל ותצורה בצד המכשיר
נקודת כתיבה יחידה לכל מה שיישומון הניהול של DGA עורך בדלת: - `accessRulesOverride` / `geofenceOverride` — העבירו `null` כדי לנקות ולחזור לברירת המחדל של המתקן. - `icon` — מפתח העברה קבוע (ראו services/door-access/door-icons.js); ערכים לא מוכרים מחזירים 400. - `holdTimeSeconds` (1\u201330), `maintenanceMode` (`off` / `force-open` / `force-closed`), `doorLocation` (טקסט חופשי, \u226464 תווים), `playNotificationSoundOnRelayToggle` (בוליאני), `autoUnlockSchedule` (רשת חלונות שבועית). בעבר אלה היו שדות של Device Management בלבד, אבל כעת היישומון כותב אותם במקום, כך שמנהלים לא צריכים לצאת ממגירת הדלת לצורך שינויי תצורה יומיומיים. כאשר אחד מהשדות בצד המכשיר משתנה, הנתיב שולח גם את משתני הסביבה התואמים של Balena (`RELAY_NOTIFICATION_SOUND`, `DOOR_MAINTENANCE_MODE`, `DOOR_AUTO_UNLOCK_SCHEDULE`) ומפעיל פקודת MQTT `unlockUpdates`, כך שהמכשיר מקבל את התצורה החדשה בלי להמתין לרענון הבא של משתני הסביבה ב-Balena. במאמץ מיטבי \u2014 התגובה היא 200 גם אם Balena אינו זמין באופן זמני.
פרמטרים
facilityId `string` (חובה) doorId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/door-access/doors/{facilityId}/{doorId}/override
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/override \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
בדיקה קלה של סטטוס Balena עבור הודעת הטעינה מחדש במגירת הדלת
המגירה של יישומון DGA מאחזרת את זה בטעינה עצלה כשמנהל פותח דלת, כדי להציג את נוסח ההודעה "השמירה תטען מחדש את הבקר" המתאים: גרסת ברירת המחדל "כמה שניות", או הגרסה החמורה יותר "כמה דקות" כאשר ממתין גם עדכון גרסה. מחזיר תמונת מצב שטוחה שנגזרת מ-`balena.models.device.get()`. במקרה של כשל מחזיר `data: null` (במקום שגיאת 5xx), כך שתקלה ב-Balena פוגעת רק בנוסח ההודעה ואינה מונעת את פתיחת המגירה.
פרמטרים
facilityId `string` (חובה) doorId `string` (חובה)נקודת קצה
GET /api/door-access/doors/{facilityId}/{doorId}/device-status
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/device-status \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עקיפת מנהל — ביטול נעילה של דלת מהיישומון
מפעיל את הממסר לזמן קצר לפי `holdTimeSeconds` הנוכחי של הדלת, וכותב שורת ביקורת `admin-override` ל-ph-door-app-access-events כדי שניתן יהיה לשייך את הפעולה ביומני הגישה. הפעולה תמיד מצליחה ללא קשר ל-`maintenanceMode === 'force-closed'` — זהו פתח המילוט של המנהל. מחזיר 200 מיד לאחר שליחת הפרסום ב-MQTT; אין המתנה כאן למצבים confirmed / failed / timed_out (גם התהליך הישן /api/devices/door-controllers + /api/ics/devices/command פועל בשיטת שלח-ושכח).
פרמטרים
facilityId `string` (חובה) doorId `string` (חובה)נקודת קצה
POST /api/door-access/doors/{facilityId}/{doorId}/unlock
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/unlock \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
השמעת דפוס צפצופי איתור בבקר הדלת
מפרסם פקודת MQTT `beep` כך שהבקר משמיע שלושה צפצופים באורך בינוני (~500 ms כל אחד, ~350 ms הפסקה, ~2 s בסך הכול). מנהלים משתמשים בזה כדי לאתר פיזית בקר דלת באתר. הכפתור הישן ב-Device Management משתמש ברצף של ~30 s של צפצופים קצרים, אבל מנהל ההתקן של הזמזם בקושחה משמיע באופן אמין רק את הראשון, ולכן היישומון שולח במקום זאת דפוס קצר ואמין יותר. ללא שורת ביקורת \u2014 פעולת אבחון ללא השפעה על בקרת הגישה.
פרמטרים
facilityId `string` (חובה) doorId `string` (חובה)נקודת קצה
POST /api/door-access/doors/{facilityId}/{doorId}/identify
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/identify \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אתחול מרחוק של בקר דלת
מפרסם את אותה פקודת MQTT `rebootDevice` בשיטת שלח-ושכח שהכפתור הישן "Remotely Reboot Device" ב-Device Management שולח, אבל מוגבלת למודול `door-gate-access`, כך שמנהלי DGA יכולים לאתחל בקר מהקטע Advanced במגירת הדלת בלי הרשאת `device-management` נפרדת. מחזיר 200 מיד לאחר שליחת הפרסום; המכשיר אינו מקוון למשך האתחול.
פרמטרים
facilityId `string` (חובה) doorId `string` (חובה)נקודת קצה
POST /api/door-access/doors/{facilityId}/{doorId}/reboot
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/reboot \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת שורות User Access במתקן
מחזיר את כל שורות הגישה של משתמשים במתקן שלא נמחקו. תומך במסננים בצד הלקוח (source, search, accessEnabled, hasGrants). החישוב בצד השרת של `hideExcluded` (שלב 4) יתווסף לאחר שמעריך ההרשאות ההיברידי ייכנס לשימוש; בינתיים הפרמטר מתקבל אבל מוחזרת הקבוצה המלאה.
פרמטרים
facilityId `string` (חובה) search `string` (אופציונלי) source `string` (אופציונלי) accessEnabled `string` (אופציונלי) hasGrants `string` (אופציונלי) hideExcluded `boolean` (אופציונלי) כאשר הערך הוא true, משתמשים מסונכרנים (source != manual) שאינם יכולים לעבור באף דלת בשום זמן במתקן הזה מוסתרים. התגובה כוללת מעטפת `hidden: { count, sample }`.נקודת קצה
GET /api/door-access/users/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/users/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה ידנית של שורת User Access במתקן
יוצר שורה חדשה עם `source: 'manual'`. מחזיר 409 עם `existingUserId` אם הטלפון או הדוא"ל שסופקו כבר משויכים לשורה במתקן הזה.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/users/{facilityId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
קבלת שורת User Access יחידה
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
GET /api/door-access/users/{facilityId}/{userId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון חלקי של שורת User Access
עורך כל תת-קבוצה של שדות זהות או הרשאה. העבירו `null` כדי לנקות שדה אופציונלי. מחזיר 409 אם הטלפון או הדוא"ל החדשים מתנגשים עם שורה אחרת באותו מתקן. `appMessage` מקבל את אותו מבנה כמו ההודעה ברמת המתקן ב-PUT /api/door-access/rules/{facilityId} — טקסט גוף, חומרה, קישור אופציונלי, לוח זמנים אופציונלי להתחלה ולסיום. האפליקציה לנייד מציגה זאת בלוח המחוונים רק למשתמש שאליו היא מיועדת.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)גוף הבקשה
נקודת קצה
PATCH /api/door-access/users/{facilityId}/{userId}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקה רכה של שורת User Access
מסמן את השורה `deleted: true` ומשבית את הגישה. הקישור ביומן הביקורת ל-userId נשמר; מנהלים יכולים להפעיל מחדש באופן ידני.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
DELETE /api/door-access/users/{facilityId}/{userId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שיוך הגישה של משתמש לפי דלת
עבור כל דלת, מחזיר את ההרשאה הדטרמיניסטית הנוכחית (`allowedNow`, `allowedVia`, `deniedReason`) ואת הנתיבים המוגדרים עבור Access Policies, הרשאות קבועות, לוחות זמנים של מדיניות, הרשאות חלון זמן של מנהל וחלונות עדכניים ממופים ממקורות שותפים. מחזיר גם את הזמינות הפעילה והבאה ואת עדכניות המקור. blockAllAccess ותחזוקה של הדלת נבדקים לפני כל נתיבי ההיתר.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
GET /api/door-access/users/{facilityId}/{userId}/effective-access
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/effective-access \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה בכמות גדולה של שורות User Access מייבוא CSV
יוצר מספר שורות `source: 'manual'` בבקשה אחת, תוך שימוש באותו אימות, נרמול טלפון ודוא"ל, בדיקת התנגשויות לפי מתקן, הודעות אוטומטיות ולוגיקת הזמנה (אופציונלית) כמו ביצירה הבודדת. השורות מעובדות לפי הסדר, כך ששורה מאוחרת שמתנגשת עם שורה שנוצרה קודם מדווחת ככפילות. ההרשאות מסופקות כמזהי דלתות או קבוצות שכבר פוענחו (הלקוח ממיר שמות למזהים). הרשאות חלון זמן נדחות בכוונה ביצירה בכמות גדולה ויש להוסיף אותן דרך נקודת הקצה להחלפה לכל משתמש לאחר הייבוא. לעולם לא נכשל בגלל שורה בודדת; התוצאה של כל שורה מדווחת בנפרד.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/users/{facilityId}/bulk
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/bulk \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
החלפת הרשאות Access Time Window המצטברות בשורת User Access
מחליף רק את `timeWindowGrants`; ה-`grants` הקבועים ו-`sourceTimeWindows` של השילובים אינם משתנים. כל פריט מחייב טווח (`facilityWide`, `doors` או `groups`) ו-`window` מוחלט או שבועי. שליחת מערך ריק מנקה במפורש את כל חלונות המנהל.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/door-access/users/{facilityId}/{userId}/time-window-grants
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/time-window-grants \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הקפאת שורת User Access מפני עדכוני סנכרון מהמקור
מגדיר `decoupledFromSource: true`, מנקה את כל `sourceTimeWindows` ששייכים לשילובים, וגורם לסנכרון (cron + streams) לרשום ביומן ולדלג על השורה הזו עד שמנהל מנקה את הדגל באמצעות /recouple.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
POST /api/door-access/users/{facilityId}/{userId}/decouple
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/decouple \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיבור מחדש של שורת User Access לעדכוני סנכרון מהמקור
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
POST /api/door-access/users/{facilityId}/{userId}/recouple
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/recouple \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ביטול כל אסימוני הרענון של אפליקציית Door/Gate Access עבור משתמש
מבטל לפי הטלפון או הדוא"ל השמורים של המשתמש (המפתח בטבלת אסימוני הרענון הוא `sha256(plaintext)`; ה-GSIs byMobilePhone / byEmail מאפשרים מחיקה מרובה ממשתמש יחיד). גם משתמשים אחרים שחולקים את אותו טלפון או דוא"ל במתקן אחר ינותקו.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
POST /api/door-access/users/{facilityId}/{userId}/logout
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/logout \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שליחה (חוזרת) של הודעת הדוא"ל עם ההזמנה לאפליקציית Door/Gate Access למשתמש
שולח בכפייה את הודעת הדוא"ל עם ההזמנה להורדת האפליקציה לכתובת הדוא"ל השמורה של המשתמש (דוא"ל בלבד; ללא SMS). מתעלם מבדיקות הזכאות ומבדיקת "כבר נשלח" שבהן משתמש תהליך הסנכרון האוטומטי — זוהי פעולת מנהל מפורשת. מחזיר 400 אם אין למשתמש כתובת דוא"ל רשומה.
פרמטרים
facilityId `string` (חובה) userId `string` (חובה)נקודת קצה
POST /api/door-access/users/{facilityId}/{userId}/resend-invite
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/resend-invite \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תצוגה מקדימה של הנמענים של שליחת הזמנות לאפליקציה בכמות גדולה
מחשב את קבוצת המשתמשים שיקבלו הודעת דוא"ל עם הזמנה לאפליקציה. המאגר הבסיסי הוא כל משתמש שלא נמחק, שיש לו דוא"ל ושמעולם לא השתמש באפליקציה (`appLastSeenAt` ריק). כברירת מחדל המאגר מצומצם למשתמשים שיש להם כרגע גישה (התאמה לכלל או הרשאה) ושמעולם לא הוזמנו; `includeAlreadyInvited` ו-`includeNoAccess` מרחיבים אותו. לא נשלחות הודעות דוא"ל — מוחזרים ספירות, מדגם קטן ומזהי userIds המועמדים עבור נקודת הקצה לביצוע.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/users/{facilityId}/bulk-invite/preview
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/bulk-invite/preview \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שליחת הודעות דוא"ל עם הזמנה לאפליקציה לקבוצת משתמשים
שולח את הודעת הדוא"ל עם ההזמנה להורדת האפליקציה לכל אחד ממזהי userIds שסופקו (עד 50 בכל בקשה; הלקוח מחלק לקבוצות את רשימת המועמדים המלאה מהתצוגה המקדימה). כל משתמש נבדק מחדש בזמן השליחה — שורות שכבר אינן קיימות, שאין להן דוא"ל או שהשתמשו באפליקציה מאז התצוגה המקדימה מדולגות ואינן נחשבות לכשל. התוצאה לכל משתמש מדווחת בנפרד, כך שהלקוח יכול לסכם נשלחו / נכשלו / דולגו.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/users/{facilityId}/bulk-invite
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/bulk-invite \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצגת קבוצות הדלתות במתקן
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/door-groups/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת קבוצת דלתות
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/door-groups/{facilityId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
קבלת קבוצת דלתות יחידה
פרמטרים
facilityId `string` (חובה) groupId `string` (חובה)נקודת קצה
GET /api/door-access/door-groups/{facilityId}/{groupId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId}/{groupId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון קבוצת דלתות
פרמטרים
facilityId `string` (חובה) groupId `string` (חובה)גוף הבקשה
נקודת קצה
PATCH /api/door-access/door-groups/{facilityId}/{groupId}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId}/{groupId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקה רכה של קבוצת דלתות
פרמטרים
facilityId `string` (חובה) groupId `string` (חובה)נקודת קצה
DELETE /api/door-access/door-groups/{facilityId}/{groupId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId}/{groupId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת שילובי השותפים שהוגדרו במתקן
מחזיר את שילובי השותפים של המתקן (id, name, logo, enabled) על ידי צירוף ph-facility-partner-config לקטלוג ph-partners. מוגבל לטווח של Door-gate-access (כך שמנהלים ללא גישה ל-external-integrations עדיין יכולים להציג תגי שותפים ואת רשימת הסנכרון לפי שותף).
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/partners/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/partners/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קריאת תצורת הסנכרון של User Access במתקן
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/sync-config/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/sync-config/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון תצורת הסנכרון של User Access במתקן
מתקבלים רק השדות שבשליטת המנהל (`enabled`, `requireIdentifier` ומפת השותפים `partners`); `lastRunAt` ו- `lastRunCounts` נכתבים על ידי מנוע הסנכרון עצמו. `partner.partners` היא מפת הפעלה לפי שותף שהמפתח שלה הוא partnerId (ביטול הסכמה): כאשר המתג הראשי `partner.enabled` מופעל, שותף מסונכרן אלא אם יש לו כאן רשומה מפורשת `{ enabled: false }`.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/door-access/sync-config/{facilityId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/sync-config/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קריאת תצורת ההודעות האוטומטיות לכל משתמש במתקן
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/auto-messages/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/auto-messages/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון תצורת ההודעות האוטומטיות לכל משתמש במתקן
שומר את הכללים ולאחר מכן מעריך מחדש מיד כל שורת User Access במתקן, כך שמשתמשים קיימים מקבלים או מאבדים את ההודעה האוטומטית שלהם מיד. הודעות ידניות ושורות מנותקות אינן משתנות.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/door-access/auto-messages/{facilityId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/auto-messages/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
סטטוס סריקת הרקע להערכה מחדש של ההודעות האוטומטיות
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/auto-messages/{facilityId}/sweep-status
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/auto-messages/{facilityId}/sweep-status \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הרצת סנכרון User Access לפי דרישה במתקן
סורק באופן סינכרוני כל מקור מופעל (partner / cctv) במתקן ומאחד את שורות ph-door-access-users באמצעות מפל ביטול הכפילויות. מחזיר ספירות לכל מקור. מקורות מושבתים מופיעים כ- `skippedSyncDisabled: 1` במקום להיעדר, כך שממשק המשתמש יכול להציג את שתי השורות באופן עקבי.
פרמטרים
facilityId `string` (חובה)נקודת קצה
POST /api/door-access/sync/{facilityId}/run
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/run \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תצוגה מקדימה בהרצת ניסיון של מחיקה בכמות גדולה של רשומות שסונכרנו משותפים
מחזיר את המספר ומדגם של שורות הגישה של משתמשים שיימחקו במחיקה רכה, וגם confirmToken שיש להחזיר לנקודת הקצה לביצוע. לא משתנים נתונים. יומני הגישה לעולם אינם מושפעים.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/sync/{facilityId}/bulk-delete/preview
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/bulk-delete/preview \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ביצוע מחיקה בכמות גדולה של רשומות שסונכרנו משותפים (מחיקה רכה)
מוחק במחיקה רכה כל שורת גישה של משתמש שסונכרנה משותף ונמצאת בטווח. מחייב את confirmToken שהוחזר בתצוגה המקדימה; אם הקבוצה החיה השתנתה מאז התצוגה המקדימה, האסימון לא יתאים והבקשה תידחה (409), כדי שהמנהל יבדוק שוב. יומני הגישה נשמרים.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/door-access/sync/{facilityId}/bulk-delete
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/bulk-delete \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
פעילות סנכרון אחרונה של User Access (יומן לפתרון בעיות)
מחזיר את תוצאות הסנכרון האחרונות של מתקן (נוצר / דולג / מושבת) יחד עם הסיבה, כדי שמנהלים יוכלו לראות מדוע חבר סונכרן או לא סונכרן. החדשות ביותר תחילה.
פרמטרים
facilityId `string` (חובה) limit `integer` (אופציונלי)נקודת קצה
GET /api/door-access/sync/{facilityId}/log
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/log \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת אירועי Door/Gate Access של מתקן
מחזיר אירועי ביטול נעילה מהנייד, מעקיפת מנהל ומ-Partner API חיצוני בפיד אחד בסדר כרונולוגי הפוך.
פרמטרים
facilityId `string` (חובה) from `integer` (אופציונלי) to `integer` (אופציונלי) limit `integer` (אופציונלי)נקודת קצה
GET /api/door-access/events/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/events/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הרצת ניסיון של הערכת Geofence עבור הסיכה של מצב הבדיקה של המנהל
גוף הבקשה
נקודת קצה
POST /api/door-access/geofence/test
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/door-access/geofence/test \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת סטטוס הקליטה וההפעלה של מתקן
מפעיל את דף הנחיתה "Get Started" ואת באנר התקדמות ההגדרה ביישומון. מחזיר ספירות חיות של דלתות ומשתמשים, את שני שלבי הליבה הנגזרים (קיים משתמש, קיימת דלת), את דגלי "reviewed" האופציונליים השמורים, והאם המתקן הופעל (שני שלבי הליבה הושלמו). בפעם הראשונה שמתקן מופעל נרשמת חותמת הזמן activatedAt.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/door-access/onboarding/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/door-access/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון דגלי "reviewed" האופציונליים של הקליטה במתקן
שומר את הדגלים האופציונליים ברשימת הבדיקה להגדרה שמנהל מסמן (כללי גישה, הגדרות סנכרון, גידור גיאוגרפי). שלבי הליבה וההפעלה נגזרים בזמן אמת מספירות הנתונים ואי אפשר להגדיר אותם כאן. מחזיר את סטטוס הקליטה המלא והמעודכן.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/door-access/onboarding/{facilityId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/lead-events
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/lead-events \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/analytics/page-views
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/page-views \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/analytics/referrers
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/referrers \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/analytics/socials
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/socials \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/analytics/top-cities
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/top-cities \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/analytics/total-page-views
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/total-page-views \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר תגובת JSON עם נתוני הניתוח של המתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לאחזר את נתוני הניתוח. fromDate `string` (אופציונלי) תאריך ההתחלה של נתוני הניתוח לאחזור. toDate `string` (אופציונלי) תאריך הסיום של נתוני הניתוח לאחזור.נקודת קצה
GET /clubs/{clubId}/analytics/traffic
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/traffic \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר JWT (Json Web Token) זמני לצד הלקוח עבור תרשימי Google Analytics הניתנים להטמעה בדף 'analytics' בצד הלקוח.
נקודת קצה
GET /api/ga/onetimetoken
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ga/onetimetoken \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר ווידג'טים של לוח המחוונים מ-'The Training Camp' אם יש במתקן חברים פעילים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/reporting/apps/widgets/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/apps/widgets/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל החגים של המתקן שטרם נבדקו.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/reporting/club/{club}/unreviewed-holidays
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/club/{club}/unreviewed-holidays \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סימון כל החגים של המתקן שטרם נבדקו כנבדקים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
PUT /api/reporting/club/{club}/review-holidays
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/reporting/club/{club}/review-holidays \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את דוח ה-KPI בתבנית CSV, בפילוח חודשי על פני 12 החודשים האחרונים. *הערה* הפעולה יוצרת דוח יחיד עבור כל המתקנים במערכת - אל תריצו אותה כמה פעמים במקביל, אחרת תעמיסו יותר מדי על GymMaster!
פרמטרים
months `string` (אופציונלי) מספר החודשים (מהתאריך הנוכחי) לאחזור (ברירת המחדל היא 12)נקודת קצה
GET /api/reporting/gymmaster/all-clubs-kpi-report
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/gymmaster/all-clubs-kpi-report \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את גרפי ההכנסות של ה-MMS עבור מתקן מסוים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. range `string` (אופציונלי) הטווח בימים (בספירה לאחור מהתאריך הנוכחי) לאחזורנקודת קצה
GET /api/reporting/gymmaster/revenuegraph/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/gymmaster/revenuegraph/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את נתוני ה-MMS (Member Management System) והניתוחים של לוח המחוונים עבור מתקן מסוים. הנתונים כוללים סטטיסטיקות של GymMaster/Perfect Gym וגם מדדים פנימיים אחרים שהמערכת שלנו אוספת.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. range `string` (אופציונלי) הטווח בימים (בספירה לאחור מהתאריך הנוכחי) לאחזורנקודת קצה
GET /api/reporting/gymmaster/widgets/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/gymmaster/widgets/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את נתוני הווידג'ט של Myzone בלוח המחוונים עבור מתקן מסוים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/reporting/myzone/widgets/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/myzone/widgets/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר אובייקט של שירותים שנחשבים לא מקוונים לפי אחת או יותר מנקודות הקצה של דף הסטטוס או הניטור שלנו - מוגדר באמצעות הכלי הפנימי 'Uptime Kuma'.
נקודת קצה
GET /api/reporting/statuspage/events
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/statuspage/events \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את הזמנות האימונים הקרובות ל-7 הימים הבאים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/reporting/clubs/{club}/workout-bookings
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/reporting/clubs/{club}/workout-bookings \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של החגים ההיסטוריים של מתקן.
פרמטרים
clubId `string` (אופציונלי) מזהה מועדון fromDate `string` (אופציונלי) חותמת זמן Unix של תאריך ההתחלה של טווח החגים להחזרה. toDate `string` (אופציונלי) חותמת זמן Unix של תאריך הסיום של טווח החגים להחזרה.נקודת קצה
GET /api/clubs/{clubId}/historical-holidays
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/historical-holidays \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את האוטומציות של המכשירים המשויכות למתקן.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאת המכשירים שלו ברצונכם להציג.נקודת קצה
GET /api/ics/automations/list/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ics/automations/list/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את תצורת המכשיר עבור מסך או מכשיר קיים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/ics/automations/update/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ics/automations/update/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף או משייך מכשיר מסך פיזי או מחשב למתקן שלכם.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שתחתיו ברצונכם להוסיף את המכשיר. body `string` (חובה) אובייקט JSON של המסך החדש לשיוך.נקודת קצה
POST /api/ics/devices/add/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/add/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מורה למכשיר להתחבר ל-SSID חדש לפי הפרמטרים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/ics/devices/changewifi/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/changewifi/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את תצורת המכשיר עבור מסך או מכשיר קיים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/ics/devices/command/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/command/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
טוען כתובת URL או דף אינטרנט במסך של מכשיר מסוים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
POST /api/ics/devices/loadurl/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/loadurl/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את תצורת המכשיר עבור מסך או מכשיר קיים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
PUT /api/ics/devices/update/{club}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/ics/devices/update/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
משנה את השם של מסך או מכשיר. ברישום בלבד - בניגוד לנקודת הקצה לעדכון, הפעולה אינה שולחת דבר למכשיר, ולכן היא זמינה גם למסכים שמריצים גרסת תוכנה שהגיעה לסוף חייה.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שאליו שייך המכשיר. body `string` (חובה) אובייקט Json של הפרמטרים לשינוי השם.נקודת קצה
PUT /api/ics/devices/rename/{club}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/ics/devices/rename/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל ווידג'טים וקישורים למדיה לא מקוונת של מתקן, לפי התאריך שסופק.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לשנות את ה-Templated content. date `string` (חובה) התאריך שעבורו יוחזרו כתובות ה-URL של הווידג'טים - השתמשו בתבנית `YYYY-MM-DD`.נקודת קצה
GET /api/ics/external-resources/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ics/external-resources/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל ווידג'טים וקישורים למדיה לא מקוונת של מתקן, לפי התאריך שסופק.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לשנות את ה-Templated content.נקודת קצה
GET /api/ics/list-scheduled-workouts/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ics/list-scheduled-workouts/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
משנה את ה-Templated content של מתקן מסוים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לשנות את ה-Templated content. body `string` (חובה) אובייקט Json של התוכן התבניתי החדש לשינוי.נקודת קצה
POST /api/ics/loadprogram/{club}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ics/loadprogram/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מאחזר את תצורת התוכן התבניתי של מסך או מכשיר קיים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שאת נתוני התוכן התבניתי שלו ברצונכם לאחזר.נקודת קצה
GET /api/ics/programs/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ics/programs/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את תצורת התוכן התבניתי של מסך או מכשיר קיים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן שבו ברצונכם לעדכן את המכשיר. body `string` (חובה) אובייקט JSON של פרמטרי העדכון.נקודת קצה
PUT /api/ics/programs/{club}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/ics/programs/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מאחזר את אפשרויות התצורה של התוכן התבניתי.
נקודת קצה
GET /api/ics/programs/options/{facilityID}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ics/programs/options/{facilityID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
צ'אט עם הקשר RAG - אין לו גישה לכלים - רק כלי פשוט של בקשה|תגובה ב-API שמאפשר למשוך ידע ישירות ממאגר הידע.
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)גוף הבקשה
נקודת קצה
POST /api/llm/chat
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/chat \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקת ההטמעות של מאמר ממאגר הווקטורים ועדכון סטטוס המעקב אחר ההטמעה
גוף הבקשה
נקודת קצה
DELETE /api/llm/delete-article
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/llm/delete-article \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצגת רשומות מעקב ההטמעה לפי ארגון וסטטוס
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (נקבע אוטומטית אם הושמט) status `string` (חובה) הסטטוס לסינון (חייב להיות אחד מהערכים in_queue, done, anomaly, fail, deleted) Limit `string` (אופציונלי) המספר המרבי של פריטים בכל דף LastEvaluatedKey `string` (אופציונלי) JSON של LastEvaluatedKey מ-DynamoDB לצורך חלוקה לדפיםנקודת קצה
GET /api/llm/embedding-track/by-org-and-status
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/llm/embedding-track/by-org-and-status \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת רשומות מעקב ההטמעה לפי ארגון (עם אפשרות לסנן לפי סוג משאב)
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (נקבע אוטומטית אם הושמט) resourceType `string` (אופציונלי) סוג משאב אופציונלי (לדוגמה "article"). כאשר הוא מסופק, מסנן רשומות שבהן resourceTypeId מתחיל ב-"{type}#". Limit `string` (אופציונלי) המספר המרבי של פריטים בכל דף LastEvaluatedKey `string` (אופציונלי) JSON של LastEvaluatedKey מ-DynamoDB לצורך חלוקה לדפיםנקודת קצה
GET /api/llm/embedding-track/by-org
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/llm/embedding-track/by-org \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אתחול אוסף מסד נתוני הווקטורים של הארגון
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)נקודת קצה
POST /api/llm/init-org
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/init-org \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש סמנטי במאגר הידע
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)גוף הבקשה
נקודת קצה
POST /api/llm/semantic-search
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/semantic-search \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
התחלת עיבוד בהזרמה של מאמרים שבתור להטמעה, עם עדכוני התקדמות בזמן אמת
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)נקודת קצה
POST /api/llm/start-embedding-stream
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/start-embedding-stream \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספה או עדכון של הטמעות מאמרים במסד נתוני הווקטורים
מטפל בהטמעת מאמרים לפי המצב הנוכחי: - אם המאמר לא פורסם או שהוא פרטי: ההטמעות נמחקות - אם המאמר פורסם והוא ציבורי: ההטמעה מתבצעת מחדש עם התוכן המלא תמיד נדרש גוף המאמר המלא.
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)גוף הבקשה
נקודת קצה
POST /api/llm/upsert-embeddings
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/upsert-embeddings \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
נקודת קצה לבדיקה למחיקה בקבוצה של הטמעות מאמרים לפי ארגון וסטטוס אופציונלי
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (נקבע אוטומטית מהקשר המשתמש אם הושמט) status `string` (אופציונלי) הסטטוס לסינון (אופציונלי - אם הושמט, נמחקים כל המאמרים של הארגון ללא קשר לסטטוס) hardDelete `string` (אופציונלי) האם למחוק לצמיתות את רשומות מעקב ההטמעה (true) או לבצע מחיקה רכה על ידי עדכון הסטטוס (false)נקודת קצה
DELETE /api/llm/test/batch-delete-by-status
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/llm/test/batch-delete-by-status \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
המרה וחלוקה של טקסט למקטעים עם סטטיסטיקות מפורטות
נקודת קצה לבדיקה שממירה טקסט ומחלקת אותו למקטעים, ולאחר מכן מספקת סטטיסטיקות מפורטות על התפלגות המקטעים, כולל ספירת תווים, אחוזים ומדדי איכות, כדי לעזור להעריך את יעילות החלוקה.
גוף הבקשה
נקודת קצה
POST /api/llm/test/transform-chunk
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/test/transform-chunk \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת המספר הכולל של הווקטורים באינדקס הווקטורים של הארגון
נקודת קצה לבדיקה לספירת כל הווקטורים באינדקס הווקטורים של הארגון של המשתמש הנוכחי
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)נקודת קצה
GET /api/llm/test/vector-count
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-count \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת כל הווקטורים של articleId מסוים מאינדקס הווקטורים
נקודת קצה לבדיקה למחיקת כל הווקטורים המשויכים ל-articleId מסוים מאינדקס הווקטורים של הארגון של המשתמש הנוכחי.
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק) articleId `string` (חובה) ה-articleId שאת הווקטורים שלו יש למחוק dryRun `string` (אופציונלי) אם הערך הוא true, רק מוצג מה יימחק, בלי למחוק בפועלנקודת קצה
DELETE /api/llm/test/vector-delete-article
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/llm/test/vector-delete-article \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בדיקת Vector SDK על ידי הצגת כל האינדקסים
נקודת קצה לבדיקה לאימות הקישוריות של Vector SDK ולהצגת כל האינדקסים ב-vector bucket
נקודת קצה
GET /api/llm/test/vector-indices
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-indices \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אתחול אינדקס וקטורים לארגון
יוצר את ה-Vector bucket ואת האינדקס עבור הארגון של המשתמש הנוכחי
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק)נקודת קצה
POST /api/llm/test/vector-init-index
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/llm/test/vector-init-index \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת כל מטא-נתוני הווקטורים של articleId מסוים
נקודת קצה לבדיקה לאחזור כל מקטעי הווקטורים והמטא-נתונים שלהם עבור articleId מסוים מאינדקס הווקטורים. שימושי לבדיקה של אופן החלוקה והאחסון של מאמר. הסינון מתבצע על ידי שירות מאגר הווקטורים.
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק) articleId `string` (חובה) מזהה המאמר שעבורו יש לאחזר את מטא-נתוני הווקטוריםנקודת קצה
GET /api/llm/test/vector-metadata-by-article
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-metadata-by-article \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הווקטורים האחרונים עם המטא-נתונים שלהם מאינדקס הווקטורים
נקודת קצה לבדיקה לאחזור 10 הווקטורים האחרונים עם המטא-נתונים שלהם (אך ללא נתוני הווקטור) מאינדקס הווקטורים של הארגון של המשתמש הנוכחי. שימושי לבדיקת מבנה המטא-נתונים.
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון (יזוהה אוטומטית אם לא יסופק) limit `string` (אופציונלי) מספר הווקטורים האחרונים להחזרה (עד 100)נקודת קצה
GET /api/llm/test/vector-recent
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-recent \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעלה נכס עבור Marketing Manager/Designer לאחסון S3.
פרמטרים
file `string` (אופציונלי) שם הקובץ או הנכס להעלאה.נקודת קצה
POST /api/marketing/design/static/download
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/marketing/design/static/download \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את הנכסים הבודדים בתבנית JSON לטעינה במנהל הנכסים.
פרמטרים
id `string` (חובה) מזהה הנכס לקבלה. organisationId `string` (חובה) מזהה הארגון של המתקן שאליו שייך הנכס.נקודת קצה
GET /api/marketing/assets/get/{id}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets/get/{id} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל נכסי העיצוב.
פרמטרים
body `string` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור. organisationId `string` (חובה) מזהה הארגון של המתקן שאליו שייך הנכס. useCache `string` (אופציונלי) search `string` (אופציונלי) שאילתת החיפוש לסינון נכסים לפי שם או תגים. brand `string` (אופציונלי) המותג לסינון הנכסים. tag `string` (אופציונלי) התג לסינון הנכסים.נקודת קצה
GET /api/marketing/assets/get
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets/get \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר דף יחיד של נכסי הדפסה שיווקיים של ארגון. משתמש ב-Algolia לחיפוש לפי רלוונטיות ולחלוקה לדפים (עם ספירות כוללות), ועובר ל-DynamoDB כאשר Algolia אינו זמין.
פרמטרים
organisationId `string` (חובה) מזהה הארגון של המתקן שאליו שייכים הנכסים. search `string` (אופציונלי) שאילתת החיפוש לסינון נכסים לפי שם או תגים. brand `string` (אופציונלי) המותג לסינון הנכסים. tag `string` (אופציונלי) התג לסינון הנכסים. page `string` (אופציונלי) מספר הדף לאחזור (הספירה מתחילה מאפס). limit `string` (אופציונלי) מספר הנכסים בכל דף (עד 300). useCache `string` (אופציונלי) כאשר הערך הוא false, עוקף את Algolia ושולח שאילתה ישירות ל-DynamoDB.נקודת קצה
GET /api/marketing/assets
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הנכסים הזמינים שהועלו באמצעות מנהל הנכסים.
פרמטרים
organisationId `string` (חובה)נקודת קצה
GET /api/marketing/assets/list
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets/list \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף או שומר נכס.
פרמטרים
body `string` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור. organisationId `string` (חובה) מזהה הארגון של המתקן שאליו שייך הנכס.נקודת קצה
PUT /api/marketing/assets/save
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/assets/save \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעלה נכס עבור Marketing Manager/Designer לאחסון S3.
פרמטרים
file `string` (אופציונלי) שם הקובץ או הנכס להעלאה. organisationId `string` (אופציונלי) מזהה הארגון שאליו שייך הנכס.נקודת קצה
POST /api/marketing/assets/upload
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/marketing/assets/upload \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של כל הדפים המותאמים אישית של ארגון.
פרמטרים
organisationId `string` (חובה) המזהה הפנימי של הארגון שעבורו יש להחזיר את הדפים המותאמים אישית.נקודת קצה
GET /api/marketing/custom-pages
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/custom-pages \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף או מעדכן דף מותאם אישית של ארגון.
פרמטרים
organisationId `string` (חובה) המזהה הפנימי של הארגון שעבורו יש להחזיר את הדפים המותאמים אישית. body `object` (חובה) נתוני הדף המותאם אישית להוספה או לעדכון.נקודת קצה
PUT /api/marketing/custom-pages
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/custom-pages \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של כל הדפים המותאמים אישית של מתקן.
פרמטרים
facilityId `string` (חובה) המזהה הפנימי של המתקן שעבורו יש להחזיר את הדפים המותאמים אישית.נקודת קצה
GET /api/facilities/{facilityId}/marketing/custom-pages
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/marketing/custom-pages \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל העיצובים שיוצאו או עובדו עבור מזהה מתקן מסוים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה. sort `string` (אופציונלי) המסנן למיון העיצובים; נתמכים 'oldest', 'newest' או 'design'.נקודת קצה
GET /api/marketing/designs/{club}/exports
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/{club}/exports \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את תוכן ה-HTML של עיצוב בודד בתבנית JSON לטעינה בעורך.
פרמטרים
id `string` (חובה) מזהה העיצוב לקבלה.נקודת קצה
GET /api/marketing/designs/get/{id}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/get/{id} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של מיפויי הקלט בעיצובי שיווק והדפסה ובתבניות עיצוב
פרמטרים
clubId `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה. availableFeatures `string` (אופציונלי) החזרת כל הפריטים בעלי תכונות מסוימות brand `string` (אופציונלי) מסנן עיצובים לפי מותג features `string` (אופציונלי) סינון התוצאות לפי תכונותנקודת קצה
GET /api/marketing/designs/input-mapping/{clubId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/input-mapping/{clubId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של העיצובים הזמינים למתקן מסוים, שניתן להשתמש בהם בעיצובים (Print Designs) שנוצרים בעורך השיווק וההדפסה של ה-Hub.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה. designAdmin `string` (אופציונלי) החזרת כל נתוני העיצוב (תצוגת מנהל / המשתמש חייב להיות מנהל מערכת). brand `string` (אופציונלי) מסנן עיצובים לפי מותגנקודת קצה
GET /api/marketing/designs/{club}/list
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/{club}/list \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מאלץ את המערכת לעבד או לעבד מחדש את כל התמונות הממוזערות והתצוגות המקדימות של העיצובים (משמש בעיקר כאשר משתנים נכסי 'upstream' ב-S3 וכו')... **הערה** ניתן לקרוא לפונקציה הזו רק פעם אחת בכל X דקות (ואם עיבוד כבר מתבצע, לא ניתן לקרוא לה). זאת כדי לא להעמיס יותר מדי על השרתים בזמן עיבוד כל העיצובים...
נקודת קצה
GET /api/marketing/designs/render-all-thumbnails
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/render-all-thumbnails \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מתחיל עיבוד של Dynamic Design
פרמטרים
body `string` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשלוח למעבד העיבוד של העיצוב...נקודת קצה
POST /api/marketing/designs/dynamic/render-design
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/marketing/designs/dynamic/render-design \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף, שומר או מעדכן עיצוב.
פרמטרים
body `string` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור.נקודת קצה
PUT /api/marketing/designs/{club}/save
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/designs/{club}/save \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר עיצוב סטטי בודד בתבנית JSON לטעינה
פרמטרים
id `string` (חובה) מזהה העיצוב הסטטי לקבלה.נקודת קצה
GET /api/marketing/designs/static/get/{id}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/static/get/{id} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף, שומר או מעדכן תבנית עיצוב סטטית.
פרמטרים
body `string` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור.נקודת קצה
PUT /api/marketing/designs/static/{club}/save
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/designs/static/{club}/save \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מסיר מהמערכת משתנה שהוגדר על ידי משתמש.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה. body `string` (חובה) Json שמכיל את מזהה המשתנה להסרה.נקודת קצה
DELETE /api/marketing/variables/{club}/delete
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/marketing/variables/{club}/delete \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של המשתנים הזמינים למתקן מסוים, שניתן להשתמש בהם בעיצובים (Print Designs) שנוצרים בעורך השיווק וההדפסה של ה-Hub.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה.נקודת קצה
GET /api/marketing/variables/{club}/list
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/marketing/variables/{club}/list \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר 'משתנה' חדש יחיד מבוסס משתמש עבור המתקן הנתון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה. body `string` (חובה) אובייקט Json של המשתנה החדש.נקודת קצה
POST /api/marketing/variables/{club}/new
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/marketing/variables/{club}/new \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוסיף, שומר או מעדכן משתנה עיצוב אחד או יותר במערכת באמצעות מערך של אובייקטים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המתקן ששולח את הבקשה. body `string` (חובה) מערך של אובייקט Json אחד או יותר להוספה או לעדכון (מאפשר לשמור מספר פריטים או אובייקטים בבקשת API אחת).נקודת קצה
PUT /api/marketing/variables/{club}/save
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/variables/{club}/save \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את מניפסט התיעוד של MCP עבור המשתמש המחובר
מפעיל את הדף `/mcp-docs` באפליקציה. מחזיר את כתובת ה-URL של שרת ה-MCP, את כותרות האימות הנתמכות, את הזהות ואת דגל המנהל של הקורא ואת רשימת הכלים המסוננת (מסוננת בדיוק כמו `/mcp/tools/list`, כך שדף התיעוד אף פעם לא מציג כלי שהקורא לא יכול להשתמש בו בפועל).
נקודת קצה
GET /api/mcp/docs-manifest
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/mcp/docs-manifest \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת הסכם משתמש.
פרמטרים
body `object` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור.נקודת קצה
POST /api/member-agreements/contracts-tna/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימת הסכמים.
נקודת קצה
GET /api/member-agreements/contracts-tna/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת הסכם משתמש.
נקודת קצה
DELETE /api/member-agreements/contracts-tna/:club/:id
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club/:id \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את הפרטים של הסכם.
נקודת קצה
GET /api/member-agreements/contracts-tna/:club/:id
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club/:id \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון הסכם משתמש.
פרמטרים
body `object` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור.נקודת קצה
PATCH /api/member-agreements/contracts-tna/:club/:id
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club/:id \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הסכמי ברירת המחדל של המתקן.
פרמטרים
body `object` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור.נקודת קצה
GET /api/member-agreements/default-tna/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/default-tna/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הגדרת הסכם ברירת המחדל של המתקן.
פרמטרים
body `object` (חובה) אובייקט Json של נתוני המתקן שברצונכם לשמור.נקודת קצה
POST /api/member-agreements/default-tna/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/member-agreements/default-tna/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הסכמים גלובליים או אזוריים.
נקודת קצה
GET /api/member-agreements/global-tna/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/global-tna/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של חברים עם הסכם.
נקודת קצה
GET /api/member-agreements/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של חברי המתקן לפי עונה עבור האפליקציה של מחנה האימונים.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. season `string` (אופציונלי) העונה של מחנה האימונים שלפיה ברצונכם לסנן. userIds `string` (אופציונלי) מערך של מזהי משתמשים לסינון. useCache `string` (אופציונלי) האם להשתמש במטמון. isUserMemberInfo `string` (אופציונלי) אם האפשרות מופעלת, הנתונים יסוננו לפי userIds (מומלץ להשתמש במזהה משתמש אחד בלבד) ויכללו נתונים נחוצים כמו טבלת המובילים והעדפות המשתמש.נקודת קצה
GET /api/members-leads/trainingcamp/club/season-members/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/members-leads/trainingcamp/club/season-members/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוחק מספר לידים של הזמנות אימון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. body `string` (חובה)נקודת קצה
DELETE /api/members-leads/workout-booking/club/leads/{club}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הלידים של הזמנות אימון במתקן.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. all `string` (אופציונלי) האם להציג את כל הלידים או רק את הקרובים.נקודת קצה
GET /api/members-leads/workout-booking/club/leads/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן ליד של הזמנת אימון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת. body `string` (חובה)נקודת קצה
PUT /api/members-leads/workout-booking/club/leads/{club}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחליף את מצב הסימון של ליד של הזמנת אימון.
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון. body `string` (חובה)נקודת קצה
PATCH /api/members-leads/workout-booking/club/leads/{club}/flag
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club}/flag \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת המודולים האפקטיביים של מתקן
מחזיר את כל המודולים הזמינים למתקן על ידי פענוח ההיררכיה: העדפות המתקן → מודולי המותג → מודולי הארגון. התוצאות נשמרות במטמון ב-Redis לשיפור הביצועים.
פרמטרים
facilityId `string` (חובה) מזהה המתקן שעבורו יש לקבוע את המודוליםנקודת קצה
GET /api/facilities/{facilityId}/modules
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/modules \
-H "x-api-key: YOUR_API_KEY"
תגובה
[]
מחזיר את קטלוג המודולים וגם את תצורת התצוגה של התפריט הצדדי. מוחזרת רשימת המודולים המלאה כדי שרכיב התצוגה בצד הלקוח יוכל להחליט על הנראות לכל משתמש; בקרת הגישה (ACL) עדיין נאכפת בצד השרת באמצעות `auth.checkModuleAccess()`.
נקודת קצה
GET /api/modules
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/modules \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת קטגוריות ההתראות.
נקודת קצה
GET /api/notification/categories
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/notification/categories \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת התראה שנצפתה.
נקודת קצה
DELETE /api/club/notification/consumed/:club
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/club/notification/consumed/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר הודעת התראה.
נקודת קצה
POST /api/club/notification/consumed/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/club/notification/consumed/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר מערך של התראות שנצפו.
נקודת קצה
GET /api/club/notification/consumed/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/notification/consumed/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת הודעת התראה.
נקודת קצה
DELETE /api/club/notification/messages/:club
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר מערך של הודעות התראה.
נקודת קצה
GET /api/club/notification/messages/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן הודעת התראה.
נקודת קצה
PATCH /api/club/notification/messages/:club
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר הודעת התראה.
פרמטרים
body `string` (חובה)נקודת קצה
POST /api/club/notification/messages/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הצופים בהתראה לפי מתקן.
נקודת קצה
POST /api/club/notification/viewers/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/club/notification/viewers/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת קטגוריות ההתראות לפי משתמש.
נקודת קצה
GET /api/club/notification/user-categories/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/notification/user-categories/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר הודעת התראה.
נקודת קצה
POST /api/notification/webhook
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/notification/webhook \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת המפתח הציבורי של VAPID עבור התראות HTML5 push
מחזיר את המפתח הציבורי של VAPID שמשמש ליצירת מינויים להתראות push בדפדפן.
נקודת קצה
GET /html5-push/vapid-public-key
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/html5-push/vapid-public-key \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שמירה או עדכון של מינוי HTML5 push
שומר מינוי להתראות push בדפדפן עבור המשתמש הנוכחי.
גוף הבקשה
נקודת קצה
POST /html5-push/subscribe
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/html5-push/subscribe \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקת מינוי HTML5 push
מסיר מינוי להתראות push בדפדפן של המשתמש הנוכחי.
גוף הבקשה
נקודת קצה
POST /html5-push/unsubscribe
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/html5-push/unsubscribe \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת סטטוס הקליטה של המיקום עבור המשתמש הקורא
מחזיר את שני חלקי הקליטה של מתקן — הגדרה (פרטים + בחירת מוצרים, שנשמרים בהעדפות המתקן) ותשלום (נגזר בזמן אמת מרשומת הגדרות התשלום של החיוב ב-SaaS) — וגם דגל `required` מותאם אישית לקורא, שלפיו מעטפת האפליקציה מגבילה את הגישה. רק למיקומים של מערך הטכנולוגיה; מיקומים של מערך העסקים תמיד מחזירים required=false.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/onboarding/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שמירת ההתקדמות הנוכחית באשף הקליטה של מתקן
שומר מצב חלקי של האשף (בחירת מוצרים, טקסט חופשי ב-"Other", פרטי העסק שנבדקו, השלב הנוכחי), כך שאחרי רענון או נטישה ההמשך יהיה מהמקום שבו המשתמש הפסיק. אף פעם לא מסמן השלמה — ראו את נקודת הקצה complete.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/onboarding/{facilityId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יצירת הצעות מילוי מראש מבוססות בינה מלאכותית לאשף הקליטה
משתמש בהקשר הקיים של המתקן, המותג והארגון כדי להציע פרטי מתקן (טקסט אודות, שדות קשר מסודרים), בחירות מוצרים מוצעות וטיפים קצרים מותאמים אישית. התוצאות נשמרות במטמון ב-Redis למשך 7 ימים. ההצעות הן המלצה בלבד — הלקוח מציג אותן בטופס בדיקה שניתן לעריכה. תמיד מחזיר 200; `suggestions` הוא null כאשר הבינה המלאכותית אינה זמינה, כך שהאשף ממשיך לפעול בצורה מוגבלת.
פרמטרים
facilityId `string` (חובה)נקודת קצה
POST /api/onboarding/{facilityId}/ai-prefill
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/onboarding/{facilityId}/ai-prefill \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
השלמת חלק ההגדרה בקליטת המיקום
מאמת את הבחירות והפרטים שאושרו, שומר את פרטי העסק ברשומת המתקן, יוצר את פריסת התפריט הטכנולוגי של המתקן לפי בחירת המוצרים (אלא אם כבר קיימת פריסה מותאמת אישית) ומסמן את השלמת ההגדרה. בכוונה לא ניתן להשלים כאן את חלק התשלום — הוא נגזר בזמן אמת מרשומת הגדרות התשלום של החיוב ב-SaaS, כך שלא ניתן לעקוף את דרישת הכרטיס החובה בקריאה לנקודת הקצה הזו. מחזיר את הסטטוס המעודכן.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/onboarding/{facilityId}/complete
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/onboarding/{facilityId}/complete \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הפעלת פעולת שילוב שותף מוצהרת עבור מתקן
מריץ פעולת "Run integration" שהוצהרה ברשומת השותף (ph-partners.actions[]), בטווח של מתקן. נעילת single-flight ב-Redis מונעת הרצות ידניות מקבילות עבור אותה פעולה ואותו מתקן.
פרמטרים
partnerId `string` (חובה) actionId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/partners/{partnerId}/actions/{actionId}/run
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/partners/{partnerId}/actions/{actionId}/run \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
קריאת סטטוס ההרצה של פעולת שילוב שותף
מחזיר אם הרצה ידנית מתבצעת כרגע (נעילת single-flight מוחזקת) וגם את ההרצה האחרונה שהתבקשה, לצורך תשאול על ידי כפתור ההגדרות.
פרמטרים
partnerId `string` (חובה) actionId `string` (חובה) facilityId `string` (חובה)נקודת קצה
GET /api/partners/{partnerId}/actions/{actionId}/status
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/partners/{partnerId}/actions/{actionId}/status \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת כל תצורות השותפים של מותג
פרמטרים
brandId `string` (חובה) מזהה המותגנקודת קצה
GET /api/partners/brand-config/{brandId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/partners/brand-config/{brandId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
[]
יצירה או עדכון של תצורת שותף של מותג
פרמטרים
body `object` (חובה)נקודת קצה
PUT /api/partners/brand-config
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/partners/brand-config \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
העברת נתוני השילוב של GymMaster אל facility-partner-config
שולח שאילתה לכל המתקנים שיש להם השדות gymMasterAPI ו-gymMasterDomain ויוצר או מעדכן רשומות facility-partner-config תואמות. זוהי נקודת קצה להעברה חד-פעמית.
פרמטרים
partnerId `string` (חובה) מזהה השותף GymMaster לשימוש בכל הרשומות שהועברו dryRun `boolean` (אופציונלי) אם הערך הוא true, רק מדווח מה יועבר, בלי לכתוב למסד הנתוניםנקודת קצה
GET /api/partners/migrate-gymmaster
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/partners/migrate-gymmaster \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלת שותף עבור ארגון.
פרמטרים
partnerId `string` (חובה) מזהה השותףנקודת קצה
POST /api/partners/organisation/enable
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/partners/organisation/enable \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת השותפים של הארגון. מנהלי ארגון רואים רק את השותפים של הארגון שלהם.
נקודת קצה
GET /api/partners/organisation
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/partners/organisation \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הסרת שותף של ארגון.
פרמטרים
keyId `string` (חובה) מזהה המפתח של השותף בארגון organisationId `string` (חובה) מזהה הארגון של השותףנקודת קצה
DELETE /api/partners/organisation/{keyId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/partners/organisation/{keyId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון מצב הגישה והמודולים של שותף בארגון.
פרמטרים
keyId `string` (חובה) מזהה המפתח של השותף בארגון organisationId `string` (חובה) מזהה הארגון של השותף partnerId `string` (חובה) מזהה השותף accessMode `string` (חובה) מצב הגישה של השותף modules `string` (אופציונלי) רשימת המודולים עבור מצב הגישה LIMITEDנקודת קצה
PUT /api/partners/organisation/update-access
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/partners/organisation/update-access \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת צ'ק-אינים עבור מתקן
מקבל מערך של אובייקטי צ'ק-אין ומעביר אותם ל-Partner API לעיבוד. עד 25 צ'ק-אינים בכל בקשה.
גוף הבקשה
נקודת קצה
POST /api/partners/check-ins
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/partners/check-ins \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקת תצורת שותף של מתקן
מסיר את התצורה של שילוב שותף במתקן
פרמטרים
facilityId `string` (חובה) מזהה המתקן (club ID) partnerId `string` (חובה) מזהה השותףנקודת קצה
DELETE /api/partners/facility-config/{facilityId}/{partnerId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/partners/facility-config/{facilityId}/{partnerId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת כל תצורות השותפים של מתקן
מחזיר את כל שילובי השותפים שהוגדרו עבור המתקן הנתון
פרמטרים
facilityId `string` (חובה) מזהה המתקן (club ID)נקודת קצה
GET /api/partners/facility-config/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/partners/facility-config/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה או עדכון של תצורת שותף עבור מתקן
מוסיף או מעדכן את התצורה של שילוב שותף במתקן
גוף הבקשה
נקודת קצה
POST /api/partners/facility-config
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/partners/facility-config \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקת חבר לפי memberId
מוחק רשומת חבר קיימת באמצעות memberId.
פרמטרים
memberId `string` (חובה) המזהה הייחודי של החברנקודת קצה
DELETE /api/partners/members/{memberId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/partners/members/{memberId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון חבר לפי memberId
מעדכן רשומת חבר קיימת באמצעות memberId.
פרמטרים
memberId `string` (חובה) המזהה הייחודי של החברגוף הבקשה
נקודת קצה
PUT /api/partners/members/{memberId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/partners/members/{memberId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
קבלת הסטטוס של פעולת סנכרון חברים
מחזיר את המצב הנוכחי של פעולה אסינכרונית ליצירה או למחיקה של חבר שהתחילה באמצעות POST /api/partners/members או DELETE /api/partners/members/{memberId}. צד הלקוח מתשאל את נקודת הקצה הזו במקום התהליך הישן של תשאול רשימה והתאמת שמות. הערה: הגבלת טווח ברמת השורה לפי partnerId/facilityId נדרשת לפי כללי הבידוד בין דיירים, אך נדחתה ל-PR הקשחה של שלב 3a.1 — מזהי operationIds הם UUIDs של 128 סיביות והנתיב כבר מוגבל לגישה למודול `external-integrations`. כל מי שיש לו operationId תקף וגישה למודול הניהול יכול לשאול על הסטטוס שלו.
פרמטרים
operationId `string` (חובה) ה-UUID שהוחזר מ-POST/DELETEנקודת קצה
GET /api/partners/members/operations/{operationId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/partners/members/operations/{operationId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה או עדכון של חברים במתקן
מקבל מערך של אובייקטי חברים ומעביר אותם ל-Partner API לעיבוד. עד 25 חברים בכל בקשה.
גוף הבקשה
נקודת קצה
POST /api/partners/members
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/partners/members \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יצירה או עדכון של תוכניות חברות במתקן
מקבל מערך של אובייקטי תוכניות חברות ומעביר אותם ל-Partner API לעיבוד. עד 25 תוכניות חברות בכל בקשה.
גוף הבקשה
נקודת קצה
POST /api/partners/membership-plans
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/partners/membership-plans \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יוצר תפקיד חדש
פרמטרים
body `string` (חובה) אובייקט תפקידנקודת קצה
POST /api/roles
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/roles \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של כל התפקידים
נקודת קצה
GET /api/roles
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/roles \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מוחק תפקיד לפי מזהה
נקודת קצה
DELETE /api/roles/{roleId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/roles/{roleId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן תפקיד לפי מזהה
פרמטרים
body `string` (חובה) אובייקט תפקידנקודת קצה
PUT /api/roles/{roleId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/roles/{roleId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת פריט שורה נוסף חדש בחשבונית החיוב של SaaS
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון שעבורו יש ליצור את פריט השורה הנוסף body `string` (אופציונלי) גוף הבקשהנקודת קצה
POST /api/saas-billing/additional-line-items
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/saas-billing/additional-line-items \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של פריטי השורה הנוספים בחשבונית החיוב של SaaS
פרמטרים
organisationId `string` (חובה) מזהה הארגוןנקודת קצה
GET /api/saas-billing/additional-line-items
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/additional-line-items \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של פריטי השורה הנוספים בחשבונית החיוב של SaaS של המתקן
נקודת קצה
GET /api/clubs/{clubId}/saas-billing/additional-line-items
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/saas-billing/additional-line-items \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן פריט שורה נוסף בחשבונית החיוב של SaaS
פרמטרים
itemId `string` (חובה) מזהה פריט השורה הנוסף לעדכון body `string` (חובה) גוף הבקשהנקודת קצה
PUT /api/saas-billing/additional-line-items/{itemId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/saas-billing/additional-line-items/{itemId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תעריפים שעתיים משולבים של Cloud Agent עבור Your Rates
מחזיר את הגדלים המוצעים של Cloud Agent עם מחיר שעתי משולב יחיד (אירוח + תוכנה). הפירוט אינו כלול. usedPlans הם מק"טים שהמתקן הזה הפעיל ב-30 הימים האחרונים.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/cloud-agent-rates
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/cloud-agent-rates \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת דוח חודשי מיובא
פרמטרים
club `string` (אופציונלי) מזהה מועדון reportId `string` (אופציונלי) מזהה הדוחנקודת קצה
DELETE /api/saas-billing/extended-access/monthly-usage-report/{reportId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{reportId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת דוח האחסון העדכני ביותר של טלוויזיה במעגל סגור עבור מתקן
מחזיר את תמונת המצב היומית האחרונה של אחסון הטלוויזיה במעגל סגור במתקן מתוך יומני החיוב השמורים (עד 31 הימים האחרונים). כולל את totalStorage, את התאריך ואת החיובים הקשורים לאחסון.
פרמטרים
club `string` (חובה) מזהה מועדוןנקודת קצה
GET /api/saas-billing/extended-access/latest-cctv-storage-report/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/latest-cctv-storage-report/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר חשבונית PDF של המתקן עבור התקופה הנתונה.
פרמטרים
club `string` (אופציונלי) מזהה מועדון month `string` (אופציונלי) החודש של הדוח בתבנית מספרית. 1 = ינואר, 2 = פברואר וכן הלאה. year `string` (אופציונלי) השנה של הדוח בתבנית מספרית, לדוגמה 2021נקודת קצה
GET /api/saas-billing/extended-access/monthly-usage-report/:club/invoice
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/:club/invoice \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חבילה של חשבוניות הפלטפורמה בתבנית PDF עבור חודשי השימוש שנבחרו, כקובץ ZIP. המקבילה המרובה של נקודת הקצה הבודדת .../invoice — מפעילה את ההורדה של פריטים מרובים בכרטיסייה Invoices & Receipts ביישומון Billing & Cost Management.
פרמטרים
club `string` (אופציונלי) מזהה מועדון months `string` (אופציונלי) חודשי שימוש או דוח מופרדים בפסיקים בתבנית YYYY-MM (עד 24)נקודת קצה
GET /api/saas-billing/extended-access/monthly-usage-report/{club}/invoices.zip
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{club}/invoices.zip \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר דוחות שימוש חודשיים עבור מספר חודשי שימוש בקריאה אחת. מפעיל את התרשים Cost History ואת ההפרשים בין חודש לחודש ביישומון Billing & Cost Management. חודשים שעדיין אין בהם שימוש מחזירים report: null (בהתאם ל-404 → $0 בממשק של נקודת הקצה לחודש בודד).
פרמטרים
club `string` (אופציונלי) מזהה מועדון months `string` (אופציונלי) חודשי שימוש מופרדים בפסיקים בתבנית YYYY-MM (עד 12)נקודת קצה
GET /api/saas-billing/extended-access/monthly-usage-report/{club}/batch
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{club}/batch \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ייבוא דוחות חודשיים של המתקן.
פרמטרים
club `string` (אופציונלי) מזהה מועדוןנקודת קצה
PUT /api/saas-billing/extended-access/usage-report/:club
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/saas-billing/extended-access/usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר דוח CSV של השימוש בטלוויזיה במעגל סגור ב-30 הימים האחרונים עבור כל המתקנים.
נקודת קצה
GET /api/saas-billing/extended-access/usage-report/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מציג את כל הדוחות היומיים של החודש עבור המתקן.
פרמטרים
club `string` (אופציונלי) מזהה מועדון month `string` (אופציונלי) החודש של הדוח בתבנית מספרית. 1 = ינואר, 2 = פברואר וכן הלאה. year `string` (אופציונלי) השנה של הדוח בתבנית מספרית, לדוגמה 2021נקודת קצה
GET /api/saas-billing/extended-access/monthly-usage-report/{club}/daily-reports
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{club}/daily-reports \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר למנהל רשימה של דוחות חודשיים מיובאים
פרמטרים
organisationId `string` (חובה) מזהה הארגוןנקודת קצה
GET /api/saas-billing/extended-access/usage-report/imported
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/usage-report/imported \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר דוח CSV של השימוש בטלוויזיה במעגל סגור ב-30 הימים האחרונים עבור כל המתקנים.
פרמטרים
club `string` (אופציונלי) מזהה מועדון month `string` (אופציונלי) החודש של הדוח בתבנית מספרית. 1 = ינואר, 2 = פברואר וכן הלאה. year `string` (אופציונלי) השנה של הדוח בתבנית מספרית, לדוגמה 2021נקודת קצה
GET /api/saas-billing/extended-access/monthly-usage-report/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את דוח השימוש התקופתי של המתקן.
פרמטרים
club `string` (אופציונלי) מזהה מועדון periodStart `string` (אופציונלי) תחילת התקופה בתבנית YYYY-MM-DD periodEnd `string` (אופציונלי) סוף התקופה בתבנית YYYY-MM-DDנקודת קצה
GET /api/saas-billing/extended-access/periodical-usage-report/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/periodical-usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חבילה של מסמכי חיוב בתבנית PDF כקובץ ZIP יחיד, עם סוגי מסמכים שונים: חשבוניות פלטפורמה (לפי חודש שימוש), קבלות על טעינת ארנק SaaS וקבלות על טעינת Model Router. המקבילה המרובה של נקודות הקצה invoices.zip / receipts.zip לפי סוג, עבור הכרטיסייה המאוחדת Invoices & Receipts. כל חודש או מזהה שמתבקש חייב להתאים למסמך ששייך למתקן — ערך שגוי אחד גורם לכשל של החבילה כולה.
פרמטרים
clubID `string` (חובה) invoiceMonths `string` (אופציונלי) חודשי שימוש מופרדים בפסיקים בתבנית YYYY-MM walletIds `string` (אופציונלי) מזהי עסקאות של טעינת ארנק SaaS, מופרדים בפסיקים aiIds `string` (אופציונלי) מזהי עסקאות של טעינת Model Router, מופרדים בפסיקיםנקודת קצה
GET /api/clubs/{clubID}/saas-billing/documents.zip
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/documents.zip \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספת הערה לרשומה חודשית
פרמטרים
recordID `string` (אופציונלי) מזהה הרשומה לקבלה note `string` (אופציונלי) ההערה להוספה לרשומהנקודת קצה
POST /api/saas-billing/monthly-records/{recordID}/notes
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/saas-billing/monthly-records/{recordID}/notes \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הרשומות החודשיות של חיוב SaaS
פרמטרים
club `string` (אופציונלי) מזהה המתקן לקבלה month `string` (אופציונלי) חודש החיוב בתבנית YYYY-MMנקודת קצה
GET /api/saas-billing/monthly-records/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/monthly-records/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הרשומות החודשיות של חיוב SaaS שנכשלו או שדורשות 3D Secure
פרמטרים
clubID `string` (אופציונלי) מזהה המתקן שעבורו יש לקבל את הרשומות החודשיות שנכשלונקודת קצה
GET /api/clubs/:clubID/saas-billing/flagged
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/:clubID/saas-billing/flagged \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל הרשומות החודשיות של חיוב SaaS (פנקס החשבוניות) של מתקן, מחודש החיוב החדש ביותר. המקבילה ברמת המתקן לנקודת הקצה paginate-monthly-records המיועדת למנהלים בלבד — מפעילה את הכרטיסייה "Invoices & Receipts" של הלקוח ביישומון Billing & Cost Management.
פרמטרים
clubID `string` (אופציונלי) מזהה המתקן שעבורו יש להציג את הרשומות החודשיותנקודת קצה
GET /api/clubs/{clubID}/saas-billing/monthly-records
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/monthly-records \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של הרשומות החודשיות של חיוב SaaS
פרמטרים
organisationId `string` (אופציונלי) מזהה הארגון month `string` (אופציונלי) החודש בתבנית MM. year `string` (אופציונלי) השנה בתבנית YYYY. filters `string` (אופציונלי) מסנני מחרוזת השאילתה שנוצרו על ידי Datatable. order `string` (אופציונלי) מחרוזת השאילתה שנוצרה על ידי Datatable.נקודת קצה
GET /api/saas-billing/monthly-records
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/monthly-records \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ניסיון חוזר של תשלומים שנכשלו עבור מתקן
פרמטרים
clubID `string` (אופציונלי) מזהה המתקן שעבורו יש לקבל את הרשומות החודשיות שנכשלונקודת קצה
PUT /api/clubs/:clubID/saas-billing/retry-failed-payments
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/:clubID/saas-billing/retry-failed-payments \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון רשומה חודשית
פרמטרים
recordID `string` (אופציונלי) מזהה הרשומה לקבלה status `string` (אופציונלי) הסטטוס שאליו יש לעדכן את הרשומהנקודת קצה
PUT /api/saas-billing/monthly-records/{recordID}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/saas-billing/monthly-records/{recordID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בודק אם התשלומים הצליחו ומעדכן את סטטוס הרשומה
פרמטרים
clubID `string` (אופציונלי) recordID `string` (אופציונלי) מזהה הרשומה לקבלהנקודת קצה
PUT /api/clubs/{clubID}/saas-billing/monthly-records/{recordID}/validate
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/monthly-records/{recordID}/validate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הוספת אמצעי תשלום למתקן.
פרמטרים
clubID `string` (אופציונלי)נקודת קצה
POST /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מסנכרן את אמצעי התשלום של מתקן עם Stripe.
פרמטרים
clubID `string` (אופציונלי)נקודת קצה
PUT /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את תקציב ההוצאות של המתקן וגם את הסכום מתחילת החודש והתחזית המחושבים.
פרמטרים
clubID `string` (אופציונלי)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/budget
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/budget \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה, עדכון או ניקוי של תקציב ההוצאות של המתקן.
פרמטרים
clubID `string` (אופציונלי) body `object` (אופציונלי)נקודת קצה
PUT /api/clubs/{clubID}/saas-billing/budget
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/budget \
-H "x-api-key: YOUR_API_KEY"
מחיקת אמצעי תשלום מהגדרות התשלום של המתקן.
פרמטרים
clubID `string` (אופציונלי) paymentMethodID `string` (אופציונלי)נקודת קצה
DELETE /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת הגדרות התשלום של מתקן.
פרמטרים
clubID `string` (אופציונלי)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/payment-settings
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון הגדרות התשלום של מתקן.
פרמטרים
clubID `string` (אופציונלי) lockedOut `boolean` (אופציונלי) האם הגישה של המתקן למערכת תיחסם. pauseBilling `boolean` (אופציונלי) האם החיוב האוטומטי של המתקן יושהה. customerID `string` (אופציונלי) הוספת הערך הזה תעדכן את מזהה הלקוח ב-Stripe של המתקן. deleteSourceID `string` (אופציונלי) האם למחוק את לקוח המקור מ-Stripe.נקודת קצה
PUT /api/clubs/{clubID}/saas-billing/payment-settings
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת החודש המוקדם ביותר שחויב עבור כל המתקנים.
פרמטרים
clubID `string` (אופציונלי)נקודת קצה
GET /api/saas-billing/payment-settings/earliest-billed-month
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/payment-settings/earliest-billed-month \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת החשבונות שיכולים לבטל חסימת חיוב של מתקן, לפי שכבות: תחילה משתמשים שיש להם את מודול החיוב, ומנהלי ארגון רק כחלופה כשאין משתמש כזה.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/lockout-contacts
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/lockout-contacts \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעבר בדפים על כל המתקנים במערכת והחזרת מזהי הלקוח של כל מתקן.
פרמטרים
clubID `string` (אופציונלי) organisationId `string` (אופציונלי) מזהה הארגוןנקודת קצה
GET /api/saas-billing/payment-settings/customer-ids
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/payment-settings/customer-ids \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הגדרת אמצעי התשלום הראשי של מתקן.
פרמטרים
clubID `string` (אופציונלי)נקודת קצה
PUT /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID}/primary
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID}/primary \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון פרופיל החיוב של מתקן.
פרמטרים
clubID `string` (אופציונלי) invoiceEntity `string` (אופציונלי) billingContacts `string` (אופציונלי) רשימת UUIDs של אנשי קשר לצורכי KYC ccEmails `string` (אופציונלי) רשימת כתובות דוא"ל לשליחת העתק של החשבוניותנקודת קצה
PUT /api/clubs/{clubID}/saas-billing/payment-settings/billing-profile
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/billing-profile \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון אמצעי תשלום של מתקן.
פרמטרים
clubID `string` (אופציונלי) cardID `string` (אופציונלי)נקודת קצה
PUT /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{cardID}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{cardID} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר פירוט לפי מתקן של כל חיובי המוצרים הרלוונטיים ופריטי השורה הנוספים לייצוא CSV. מפענח את היררכיית העקיפות הגלובלית, האזורית וברמת המתקן עבור כל מתקן שלמשתמש יש גישה אליו.
פרמטרים
organisationId `string` (חובה) מזהה הארגון עבור בקרת הגישה (ACL)נקודת קצה
GET /api/saas-billing/charges-config/export
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/charges-config/export \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את תצורת החיובים של יעד מסוים
פרמטרים
clubId `string` (אופציונלי) מזהה המתקן שעבורו יש לקבל את תצורת החיוביםנקודת קצה
GET /api/saas-billing/charges-config/{clubId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/charges-config/{clubId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סיכום החיוב של הארגון שאליו שייך המתקן — טווח המשלם האפקטיבי, כל שינוי איחוד מתוזמן, והאם הקורא רשאי לנהל את מתג האיחוד.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/org/summary
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/org/summary \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
רשומות חודשיות מאוחדות של הארגון (דפי חשבון) עם פירוט לפי מתקן, החדשות ביותר תחילה. ריק עד שהחודש המאוחד הראשון של הארגון נסגר.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/org/monthly-records
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/org/monthly-records \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
סיכום הארנק בתשלום מראש — יתרה, חיובי שימוש מתחילת החודש, תצורת הטעינה האוטומטית ושיטת החיוב.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/wallet
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פנקס התנועות של הארנק, החדשות ביותר תחילה. ארנקים ברמת הארגון כוללים את השורות של כל המתקנים (בכל שורה מופיע ה-clubID שממנו היא הגיעה).
פרמטרים
clubID `string` (חובה) limit `string` (אופציונלי) types `string` (אופציונלי) סוגי עסקאות מופרדים בפסיקים from `string` (אופציונלי) to `string` (אופציונלי) cursor `string` (אופציונלי) nextCursor מהדף הקודםנקודת קצה
GET /api/clubs/{clubID}/saas-billing/wallet/transactions
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/transactions \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת PDF ממותגת עבור עסקה בודדת בארנק (טעינות וזיכויים).
פרמטרים
clubID `string` (חובה) txId `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/wallet/transactions/{txId}/receipt.pdf
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/transactions/{txId}/receipt.pdf \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חבילה של קבלות PDF ממותגות עבור עסקאות טעינת הארנק שנבחרו, כקובץ ZIP. כל מזהה חייב להיות טעינה (בכרטיס או בחשבונית) ששייכת לארנק של המתקן הזה — לחיובי שימוש ולהתאמות אין קבלות, והם נדחים.
פרמטרים
clubID `string` (חובה) ids `string` (חובה) מזהי תנועות מופרדים בפסיקים (עד 50)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/wallet/transactions/receipts.zip
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/transactions/receipts.zip \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיוב כרטיס שמור של חיוב SaaS כדי להוסיף יתרה בתשלום מראש. מחזיר requires_action + clientSecret כאשר נדרש 3DS.
פרמטרים
clubID `string` (חובה) body `object` (אופציונלי)נקודת קצה
POST /api/clubs/{clubID}/saas-billing/wallet/topup
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/topup \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
השלמת טעינת ארנק לאחר שהיישומון מסיים את אימות ה-3DS. אידמפוטנטי.
פרמטרים
clubID `string` (חובה)נקודת קצה
POST /api/clubs/{clubID}/saas-billing/wallet/topup/confirm
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/topup/confirm \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון כלל הטעינה האוטומטית של המתקן (נשמר בשורת העקיפה של פרופיל החיוב שלו).
פרמטרים
clubID `string` (חובה) body `object` (אופציונלי)נקודת קצה
PATCH /api/clubs/{clubID}/saas-billing/wallet/auto-topup
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/auto-topup \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חשבוניות הטעינה של הארנק של המתקן הזה (אמצעי תשלום בחשבונית), החדשות ביותר תחילה.
פרמטרים
clubID `string` (חובה)נקודת קצה
GET /api/clubs/{clubID}/saas-billing/wallet/invoices
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/invoices \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
בקשת חשבונית טעינה לתשלום לפי אסמכתה (באמצעי תשלום בחשבונית בלבד). לכל היותר חשבונית ממתינה אחת לכל ארנק — בקשה שנייה מחזירה את החשבונית הקיימת עם alreadyPending=true.
פרמטרים
clubID `string` (חובה) body `string` (אופציונלי) { amountCents: number }נקודת קצה
POST /api/clubs/{clubID}/saas-billing/wallet/topup-invoice
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/topup-invoice \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של ההזמנות של המתקן.
פרמטרים
facilityID `string` (אופציונלי)נקודת קצה
GET /api/store/facilities/:facilityID/orders
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/store/facilities/:facilityID/orders \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר רשימה של המוצרים הזמינים למתקן.
פרמטרים
clubID `string` (חובה) search `string` (אופציונלי) limit `string` (אופציונלי) page `string` (אופציונלי) מספר הדף לחלוקה לדפים (מתחיל ב-1).נקודת קצה
GET /api/store/clubs/{clubID}/products
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/store/clubs/{clubID}/products \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת רשומות Stripe של המתקן.
פרמטרים
club `string` (חובה) fromDate `string` (אופציונלי) חותמת זמן Unix toDate `string` (אופציונלי) חותמת זמן Unix socketID `string` (חובה) מזהה ייחודי של בקשת ה-socketנקודת קצה
GET /api/club/{club}/stripe/records
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/records \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ביטול payment intent
פרמטרים
club `string` (חובה) paymentIntent `string` (אופציונלי)נקודת קצה
GET /api/club/{club}/stripe/payment-intent/:paymentIntent/cancel
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/payment-intent/:paymentIntent/cancel \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת Stripe Account Session עבור רכיבים מוטמעים
יוצר Stripe Account Session עבור חשבון מחובר. מחזיר client_secret שמשמש לאתחול רכיבי Connect מוטמעים (מחלוקות, תשלומים, ניהול חשבון, מסמכים).
גוף הבקשה
נקודת קצה
POST /api/stripe/account-session
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/stripe/account-session \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יוצר קישור חד-פעמי לדף ה-KYC של Stripe עבור חשבון מחובר.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/club/{club}/stripe/generate-kyc-token
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/generate-kyc-token \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל את פרטי החשבון של חשבון Stripe מחובר כחלק מתהליך ה-KYC.
פרמטרים
club `string` (חובה)נקודת קצה
GET /api/club/{club}/stripe/connect-account-details
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/connect-account-details \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחזיר את כל היסטוריית הפניות לפי מזהה המתקן
פרמטרים
club `string` (חובה) המזהה הפנימי של המועדון שאליו ברצונכם לגשת.נקודת קצה
GET /api/ticketing/clubtickets/{club}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/clubtickets/{club} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל את המחלקות
נקודת קצה
GET /api/ticketing/departments
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/departments \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל את הפרטים של פנייה בודדת
פרמטרים
user `string` (חובה) כתובת הדוא"ל של המשתמש. ticketNumber `string` (חובה) המזהה בן 6 הספרות של הפנייה שאליה ברצונכם לגשת. club `string` (חובה) מזהה המתקן שנבחר.נקודת קצה
GET /api/ticketing/ticket-details/:ticketNumber/:club
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/ticket-details/:ticketNumber/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל את הנושאים
נקודת קצה
GET /api/ticketing/topics
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/topics \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מקבל את כל הפניות שיצר המשתמש המחובר הנוכחי - שימו לב שהערך נקבע מהכותרות שמספק שירות ה-SSO של google שלנו.
פרמטרים
user `string` (חובה) כתובת הדוא"ל של המשתמש המחובר כעתנקודת קצה
GET /api/ticketing/usertickets
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/usertickets \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר פנייה חדשה
פרמטרים
club `string` (חובה) מזהה המתקן שנבחר.נקודת קצה
POST /api/ticketing/clubticket/:club
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ticketing/clubticket/:club \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר פנייה חדשה
פרמטרים
subject `string` (חובה) נושא הפנייה. message `string` (חובה) ההודעה המלאה של הפנייה.נקודת קצה
POST /api/ticketing/userticket
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ticketing/userticket \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר תשובה לפנייה קיימת
פרמטרים
subject `string` (חובה) נושא הפנייה. message `string` (חובה) ההודעה המלאה של הפנייה.נקודת קצה
POST /api/ticketing/user-reply
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/ticketing/user-reply \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מאחזר את ההעדפות של משתמש
נקודת קצה
GET /api/user-preferences
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/user-preferences \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מעדכן את ההעדפות של משתמש
פרמטרים
body `string` (חובה)נקודת קצה
PUT /api/user-preferences
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/user-preferences \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שינוי סיסמת המשתמש
משנה את הסיסמה של המשתמש. נדרש אימות OTP אם למשתמש יש מספר טלפון, או שנדרש להוסיף מספר טלפון אם אין.
גוף הבקשה
נקודת קצה
POST /api/user/change-password
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/change-password \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
בדיקת סטטוס האימות הדו-שלבי של המשתמש
מחזיר אם האימות הדו-שלבי מופעל עבור המשתמש והאם אחד מהתפקידים שלו מחייב אימות דו-שלבי
נקודת קצה
GET /api/user/check-2fa-status
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/user/check-2fa-status \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת הארגונים, המתקנים והאזורים שלמשתמש יש גישה אליהם במודול מסוים.
פרמטרים
moduleId `string` (חובה)נקודת קצה
POST /api/user/me/modules/{moduleId}/org-access
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/me/modules/{moduleId}/org-access \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יוצר 'בקשת קישור' ממשתמש קצה, שמבקש 'להצטרף' למתקן.
פרמטרים
body `string` (חובה) אובייקט JSON של המועדון החדש שיש להוסיף למערכת.נקודת קצה
POST /api/user/linkclub
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/linkclub \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מציג את כל המתקנים שהמשתמש מורשה אליהם.
נקודת קצה
GET /api/user/listauthorised
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/user/listauthorised \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שליחת OTP בשני ערוצים (דוא"ל + SMS)
שולח קודי OTP גם לכתובת הדוא"ל של המשתמש וגם למספר טלפון שצוין. משמש לפעולות ברמת אבטחה גבוהה, כמו אימות ראשון של מספר טלפון. נקודת הקצה הזו רק שולחת קודי OTP ואינה משנה נתוני משתמש.
גוף הבקשה
נקודת קצה
POST /api/user/send-dual-otp
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/send-dual-otp \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
שליחת OTP למספר טלפון או לדוא"ל
שולח קוד OTP למספר הטלפון של המשתמש (SMS) או לכתובת הדוא"ל שלו לצורך אימות
גוף הבקשה
נקודת קצה
POST /api/user/send-otp
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/send-otp \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
בדיקה אם למשתמש יש גישה תקפה לדפים רגישים
מחזיר אם למשתמש יש הפעלה תקפה שאומתה ב-OTP לגישה לדפים רגישים
נקודת קצה
GET /api/user/sensitive-page-access
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/user/sensitive-page-access \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
אימות OTP והענקת גישה לדפים רגישים
מאמת את קוד ה-OTP, ואם הוא תקף, מעניק גישה לדפים רגישים למשך שעה
גוף הבקשה
נקודת קצה
POST /api/user/sensitive-page-access/verify
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/sensitive-page-access/verify \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
ביטול הגישה לדפים רגישים (התנתקות מדפים רגישים)
מבטל את הפעלת הגישה הנוכחית של המשתמש לדפים רגישים
נקודת קצה
POST /api/user/sensitive-page-access/revoke
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/sensitive-page-access/revoke \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה או השבתה של אימות דו-שלבי
מפעיל או משבית את האימות הדו-שלבי של המשתמש. נדרשים מספר טלפון ואימות OTP.
גוף הבקשה
נקודת קצה
POST /api/user/toggle-2fa
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/user/toggle-2fa \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עדכון הפרופיל של המשתמש עצמו
מאפשר למשתמש לעדכן את פרטי הפרופיל שלו (שם פרטי, שם משפחה, מספר טלפון). בהוספת מספר טלפון בפעם הראשונה נדרש אימות OTP בשני ערוצים (קודים גם בדוא"ל וגם ב-SMS). בשינוי מספר טלפון קיים נדרש רק OTP בדוא"ל.
גוף הבקשה
נקודת קצה
PATCH /api/user/update-profile
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/user/update-profile \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
אחזור סמל לפי כתובת ה-URL.
נקודת קצה
GET /api/website-icon
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/website-icon \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת תבניות הרשומות בכספת הסיסמאות
פרמטרים
organisationId `string` (אופציונלי) הקשר הארגון לבדיקות הגישה למודוליםנקודת קצה
GET /api/vault/templates
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/vault/templates \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת הרשומות הגלויות בכספת הסיסמאות
פרמטרים
organisationId `string` (חובה) scope `string` (אופציונלי)נקודת קצה
GET /api/vault/entries
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/vault/entries \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת רשומה בכספת הסיסמאות
נקודת קצה
POST /api/vault/entries
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/vault/entries \
-H "x-api-key: YOUR_API_KEY"
קבלת רשומה מכספת הסיסמאות בלי לחשוף ערכים סודיים
פרמטרים
entryId `string` (חובה) organisationId `string` (חובה)נקודת קצה
GET /api/vault/entries/{entryId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/vault/entries/{entryId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
עדכון רשומה בכספת הסיסמאות
נקודת קצה
PUT /api/vault/entries/{entryId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/vault/entries/{entryId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת רשומה מכספת הסיסמאות
נקודת קצה
DELETE /api/vault/entries/{entryId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/vault/entries/{entryId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חשיפת שדות מוסתרים או סודיים שנבחרו
נקודת קצה
POST /api/vault/entries/{entryId}/reveal
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/vault/entries/{entryId}/reveal \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת סיכומי התיקיות בכספת הסיסמאות
נקודת קצה
GET /api/vault/folders
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/vault/folders \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת רשומות עם קודי אימות
נקודת קצה
GET /api/vault/authenticator
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/vault/authenticator \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת סוגי הצמתים הרשומים של Workflows
נקודת קצה
GET /api/workflow-engine/node-types
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/node-types \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת תחזית שעות הפעילות של המתקן שבה משתמשים הבלוקים של Workflows
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/facility-hours/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/facility-hours/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
תצוגה מקדימה של שולח הדוא"ל הממותג של המתקן עבור Workflows
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/email-branding/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/email-branding/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת משאבי המתקן להגדרת טריגרים
פרמטרים
facilityId `string` (חובה) resourceType `string` (חובה)נקודת קצה
GET /api/workflow-engine/resources/{facilityId}/{resourceType}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/resources/{facilityId}/{resourceType} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת ה-Workflows של מתקן
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/workflows/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת טיוטת Workflow מגרף שאינו ריק
העורך שומר Workflow חדש באופן מקומי עד שיש בו לפחות בלוק אחד, כך שהשמירה הראשונה יוצרת אותו יחד עם הגרף שלו בקריאה אחת. גוף בקשה ללא `nodes` נדחה ואינו נשמר.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצגת האישורים שה-Workflows של מתקן רשאים להשתמש בהם
מחזיר את האישורים של המתקן עצמו וגם אישורים שמשותפים ברמת המותג או הארגון שלו. סודות לעולם אינם מוחזרים; `hasValue` מציין רק שקיים סוד שמור.
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/credentials/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת אישור עבור Workflows
רמת הטווח נקבעת לפי `scopeType`; מזהי המותג והארגון נגזרים מהמתקן ואינם מתקבלים מהקורא.
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/credentials/{facilityId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
הגדרות Workflows ברמת המתקן (נמעני התראות כשל)
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/facility-settings/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/facility-settings/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שמירת נמעני התראות הכשל ברמת המתקן
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/workflow-engine/facility-settings/{facilityId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/facility-settings/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
החלפת אישור של Workflows
`secret` ריק שומר על הסוד הקיים, כך שניתן לשנות את שם האישור בלי להזין אותו מחדש. אין דרך לקרוא סוד בחזרה.
פרמטרים
facilityId `string` (חובה) credentialId `string` (חובה)נקודת קצה
PUT /api/workflow-engine/credentials/{facilityId}/{credentialId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId}/{credentialId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקת אישור של Workflows
צמתים שמפנים אליו נכשלים במצב סגור בקריאה הבאה, כולל ב-Workflows שכבר פורסמו, מכיוון שתמונת מצב שומרת רק את ההפניה.
פרמטרים
facilityId `string` (חובה) credentialId `string` (חובה)נקודת קצה
DELETE /api/workflow-engine/credentials/{facilityId}/{credentialId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId}/{credentialId} \
-H "x-api-key: YOUR_API_KEY"
קבלת כתובת ה-URL של ה-webhook של טריגר Workflow
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה) nodeId `string` (חובה)נקודת קצה
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
החלפת כתובת ה-URL של ה-webhook של טריגר Workflow
מבטל מיד את תוקף כתובת ה-URL הקודמת.
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה) nodeId `string` (חובה)נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook/rotate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook/rotate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קבלת Workflow לפי מזהה
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)נקודת קצה
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירה או עדכון של טיוטת Workflow
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
PUT /api/workflow-engine/workflows/{facilityId}/{workflowId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
עדכון השם ו/או התיאור של Workflow
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
PATCH /api/workflow-engine/workflows/{facilityId}/{workflowId}
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
מחיקת Workflow והגרסאות שלו
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)נקודת קצה
DELETE /api/workflow-engine/workflows/{facilityId}/{workflowId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שכפול Workflow לטיוטה חדשה לא פעילה
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/duplicate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/duplicate \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
פרסום הטיוטה הנוכחית (תמונת מצב של גרסה שאינה ניתנת לשינוי)
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/publish
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/publish \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
איפוס הטיוטה לגרסה האחרונה שפורסמה
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/discard
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/discard \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הפעלה או השבתה של Workflow
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
PATCH /api/workflow-engine/workflows/{facilityId}/{workflowId}/active
בקשה לדוגמה
curl -X PATCH https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/active \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
יצירה או עדכון של גרף Workflow באמצעות בינה מלאכותית
פרמטרים
facilityId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/generate/{facilityId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/generate/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצגת המודלים שצומת Agent יכול לפעול עליהם במתקן הזה
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/agent-models/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-models/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת כלי ה-MCP שצומת Agent רשאי לצרף במתקן הזה
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/agent-tools/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-tools/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש בשיחות ה-Agent השמורות של המתקן הזה (קישורי Conversation key)
פרמטרים
facilityId `string` (חובה) deviceId `string` (אופציונלי) הגבלה לשיחות של מכשיר Agent אחד (ה-deviceId שהוגדר בצומת) q `string` (אופציונלי) התאמה לפי מחרוזת חלקית, ללא תלות באותיות רישיות, ב-Conversation key, במזהה ההפעלה או בשם המכשיר limit `integer` (אופציונלי) offset `integer` (אופציונלי)נקודת קצה
GET /api/workflow-engine/agent-conversations/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-conversations/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש בשיחות השמורות במכשיר ה-Agent של המתקן עצמו
מציג את ההפעלות של המכשיר עצמו (השיחות בסרגל הצד של ממשק ה-Agent), כך ש-Workflow יכול להמשיך שיחה קיימת עם ההקשר שלה. ההיסטוריה שייכת למכשיר; כאשר במתקן יש כמה מכשירים, `deviceId` בוחר באחד מהם (המכשיר שהוגדר בצומת). מכשיר שאינו זמין → 502.
פרמטרים
facilityId `string` (חובה) deviceId `string` (אופציונלי) מכשיר ה-Agent שהוגדר בצומת; השמיטו כדי להשתמש במכשיר היחיד של המתקן q `string` (אופציונלי) התאמה לפי מחרוזת חלקית, ללא תלות באותיות רישיות, בכותרת או במזהה של ההפעלה limit `integer` (אופציונלי) offset `integer` (אופציונלי)נקודת קצה
GET /api/workflow-engine/agent-device-sessions/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-device-sessions/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש בלוחות בקנבן של מכשיר ה-Agent של המתקן
מזין את בורר ה-Board ID בבלוק Agent: Kanban. התאמה לפי מחרוזת חלקית, ללא תלות באותיות רישיות, בשם הלוח או ב-slug שלו; `current` הוא ה-slug של הלוח הפעיל במכשיר, כך שבורר המשימות יכול להשתמש בו כטווח ברירת מחדל. כאשר במתקן יש כמה מכשירים, `deviceId` בוחר באחד מהם. מכשיר שאינו זמין → 502.
פרמטרים
facilityId `string` (חובה) deviceId `string` (אופציונלי) מכשיר ה-Agent שהוגדר בצומת; השמיטו כדי להשתמש במכשיר היחיד של המתקן q `string` (אופציונלי) התאמה לפי מחרוזת חלקית, ללא תלות באותיות רישיות, בשם הלוח או ב-slug שלו limit `integer` (אופציונלי) offset `integer` (אופציונלי)נקודת קצה
GET /api/workflow-engine/kanban-boards/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/kanban-boards/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
חיפוש במשימות של לוח אחד בקנבן של מכשיר ה-Agent של המתקן
מזין את בורר ה-Task ID בבלוק Agent: Kanban. התאמה לפי מחרוזת חלקית, ללא תלות באותיות רישיות, במזהה, בכותרת או בגוף של המשימה; המשימות שמורות לפי לוח (אין במכשיר חיפוש בכל הלוחות), ולכן `board` קובע את טווח האחזור — השמיטו אותו כדי להשתמש בלוח הפעיל של המכשיר. מכשיר שאינו זמין → 502.
פרמטרים
facilityId `string` (חובה) deviceId `string` (אופציונלי) מכשיר ה-Agent שהוגדר בצומת; השמיטו כדי להשתמש במכשיר היחיד של המתקן board `string` (אופציונלי) ה-slug של הלוח להצגה; השמיטו כדי להשתמש בלוח הפעיל של המכשיר q `string` (אופציונלי) התאמה לפי מחרוזת חלקית, ללא תלות באותיות רישיות, במזהה, בכותרת או בגוף של המשימה limit `integer` (אופציונלי) offset `integer` (אופציונלי)נקודת קצה
GET /api/workflow-engine/kanban-tasks/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/kanban-tasks/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת תבניות Workflow נבחרות, מסוננות עבור המתקן הזה
פרמטרים
facilityId `string` (חובה)נקודת קצה
GET /api/workflow-engine/templates/{facilityId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/templates/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת מקטע גרף מתבנית עבור הטיוטה הפתוחה
פרמטרים
facilityId `string` (חובה) templateId `string` (חובה)נקודת קצה
POST /api/workflow-engine/templates/{facilityId}/{templateId}
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/templates/{facilityId}/{templateId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הקשר בורר הטווח עבור דף ניהול התבניות (רמות ניהול)
נקודת קצה
GET /api/workflow-engine/template-admin/context
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/context \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הצגת התבניות שהקורא רשאי לנהל, עם דגלי הרשאות
נקודת קצה
GET /api/workflow-engine/template-admin
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/template-admin \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
יצירת תבנית (רמות ניהול)
גוף הבקשה
נקודת קצה
POST /api/workflow-engine/template-admin
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/template-admin \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
פרטי התבנית כולל הגרף, עבור עורך הניהול
נקודת קצה
GET /api/workflow-engine/template-admin/{templateId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
החלפת תבנית (הארגון הבעלים)
נקודת קצה
PUT /api/workflow-engine/template-admin/{templateId}
בקשה לדוגמה
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
מחיקה רכה של תבנית (הארגון הבעלים)
נקודת קצה
DELETE /api/workflow-engine/template-admin/{templateId}
בקשה לדוגמה
curl -X DELETE https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שכפול תבנית גלויה לטווח יעד שהקורא רשאי להשתמש בו
גוף הבקשה
נקודת קצה
POST /api/workflow-engine/template-admin/{templateId}/duplicate
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId}/duplicate \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
הרצת הגרף שפורסם של Workflow מטריגר ידני
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/run
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/run \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
בדיקת הטיוטה השמורה בלי לפרסם אותה
מריץ את גרף הטיוטה הנוכחי ורושם את התוצאה עם `mode: test` וללא `versionId`. הפרסום, דגל live ו-`publishedVersionId` לעולם אינם משתנים. תופעות הלוואי מדומות כברירת מחדל; `sideEffects: live` מחייב בנוסף `confirmLiveSideEffects: true`.
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/test
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/test \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
בדיקה של צומת Workflow אחד שנמצא ברשימת ההיתרים
מריץ צומת אחד מהטיוטה השמורה שניתן לבדוק בנפרד. ניתן לספק ערכי משתנים משלבי הרצה שנרשמו. שיטות HTTP שמשנות נתונים מחייבות אישור מפורש.
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/test-node
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/test-node \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
הצגת ההרצות האחרונות של Workflow
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה)נקודת קצה
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קריאת הרצה אחת (סטטוס + שלבים לפי הסדר)
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה) executionId `string` (חובה)נקודת קצה
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
ביטול ה-Delay הממתין שעליו עומדת הרצה ממתינה
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה) executionId `string` (חובה)נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/cancel
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/cancel \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
הרצה חוזרת של הרצה שהסתיימה ממטען הטריגר שנרשם
`mode: published` מריץ מחדש בדיוק את הגרסה שאליה הוצמדה ההרצה המקורית, עם תופעות לוואי אמיתיות. `mode: draft-test` מריץ מחדש את הטיוטה הנוכחית כבדיקה מדומה. לא ניתן להריץ מחדש הרצה שמטען הטריגר שלה נקטע בזמן הכתיבה.
פרמטרים
facilityId `string` (חובה) workflowId `string` (חובה) executionId `string` (חובה)גוף הבקשה
נקודת קצה
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/retry
בקשה לדוגמה
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/retry \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
תגובה
{}
חיפוש מאונדקס של Workflows שמכילים סוג צומת
פרמטרים
nodeType `string` (חובה) facilityId `string` (אופציונלי) organisationId `string` (אופציונלי)נקודת קצה
GET /api/workflow-engine/master-view/{nodeType}
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/master-view/{nodeType} \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
שרת proxy להפניית OAuth במיתוג לבן (Connected Apps)
הפניית 302 ציבורית ללא אימות שמעבירה קריאה חוזרת של ספק OAuth לקריאה החוזרת של האימות בפלטפורמת הכלים במעלה הזרם, תוך שמירה על מחרוזת השאילתה. מאפשרת לאפליקציות OAuth בבעלות PH לרשום URI להפניה תחת performancehub.co, כך שהדומיין של הספק במעלה הזרם לעולם אינו מופיע בשורת הכתובת (נדרש לפרויקט העתידי של אפליקציות OAuth מותאמות אישית; אינו מזיק באימות מנוהל).
נקודת קצה
GET /guest/connected-apps/oauth-callback
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/guest/connected-apps/oauth-callback \
-H "x-api-key: YOUR_API_KEY"
דף הסיום של שרשרת החיבור (Connected Apps)
דף נחיתה קל מסוג "אפשר לסגור את החלון הזה" עבור כרטיסיית ה-OAuth שבה רצה שרשרת החיבור. שולח את התוצאה (החבילה או ערכת הכלים שחוברה + מזהי החשבונות החדשים, או ערכת הכלים שנכשלה) בחזרה לכרטיסיית ה-marketplace באמצעות window.opener.postMessage מאותו מקור; אם הקשר לחלון הפותח נותק, הוא עובר לקישור עומק ליישומון ph-ai-agent שמשחזר את דף הנחיתה באפליקציה. למטרות מידע בלבד — אינו מחזיק סודות ואינו מבצע כתיבות.
פרמטרים
connected `string` (אופציונלי) מזהה החבילה או ה-slug של ערכת הכלים שהחיבור שלה הסתיים (במקרה של הצלחה). accounts `string` (אופציונלי) מזהי החשבונות המחוברים שהשרשרת יצרה, מופרדים בפסיקים. connectError `string` (אופציונלי) ה-slug של ערכת הכלים שהשלב שלה נכשל (במקרה של כשל).נקודת קצה
GET /guest/connected-apps/finish
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/guest/connected-apps/finish \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}
קריאה חוזרת לשרשור החיבור של חבילה (Connected Apps)
שלב קריאה חוזרת של OAuth בתהליך החיבור של חבילה בלחיצה אחת. ה-JWT החתום של המצב (HS256, TTL של 30 דקות) מקודד את { clubID, deviceId, suite, toolkits, step, caids } — החשבונות מתחברים למכשיר הסוכן האחד הזה, ו-caids צובר את מזהי החשבונות שכל שלב יצר (ההפניה הסופית ליישומון מעבירה אותם, כך שה-marketplace יכול להציע לתת תוויות לחשבונות החדשים). מסמן את ערכת הכלים של השלב כמחוברת, ולאחר מכן מפנה ב-302 ל-Connect Link של ערכת הכלים הבאה — או לדף היישומון ph-ai-agent (עם קישור עומק לסוכן) כאשר החבילה הושלמה. חיבורים של ערכת כלים יחידה עוברים דרך אותו מטפל עם חבילה של ערכת כלים אחת.
פרמטרים
state `string` (חובה) JWT חתום של מצב שרשרת החיבור.נקודת קצה
GET /guest/connected-apps/connect-next
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/guest/connected-apps/connect-next \
-H "x-api-key: YOUR_API_KEY"
שליחת הודעת דוא"ל להגדרת סיסמה
מאמת את הקישור החתום מהודעת דוא"ל של קבלת פנים, שולח הודעת דוא"ל לאיפוס סיסמה ומציג דף אישור. לא נדרש אימות.
פרמטרים
email `string` (חובה) כתובת הדוא"ל של המשתמש sig `string` (חובה) חתימת HMAC עבור הדוא"לנקודת קצה
GET /guest/setup-password
בקשה לדוגמה
curl -X GET https://portal.hub.gymsystems.co/guest/setup-password \
-H "x-api-key: YOUR_API_KEY"
תגובה
{}