צעדים ראשונים
מה כל משתמש יכול לראות
המפתח רואה בדיוק את מה שהמשתמש שלו רואה בלוח הבקרה. אין צורך להגדיר שום דבר ב-API: הכללים נקבעים לפי הארגונים וההרשאות של המשתמש.
רק הארגונים של המשתמש
ה-API מתייחס רק לארגונים שמשויכים למשתמש, אותם ארגונים שהוא יכול לבחור בלוח הבקרה.
מנהל רואה את כל מה שבארגון
מי שמוגדר כמנהל של הארגון, או של הארגון הראשי, רואה את כל הטלוויזיות, הקבצים והפלייליסטים שלו.
כל השאר תלויים בהרשאות
לגבי שאר המשתמשים, חלות בכל ארגון ההרשאות לצפייה בטלוויזיות, בקבצים ובפלייליסטים, אותן הרשאות שפותחות את הדפים האלה בלוח הבקרה.
שינויים חלים מיד
הסרת הרשאה, הסרת ארגון או השבתת משתמש בלוח הבקרה חלות כבר בבקשה הבאה.
מה לא נכלל
- פריטים מארגונים ללא הרשאה לא מופיעים ברשימות. בקשה ישירה לאחד מהם מחזירה
404, כאילו הוא לא קיים. - בפלייליסט, קובץ שהמשתמש לא יכול לראות מגיע עם
fileשערכוnull. הטלוויזיות של פלייליסט והפלייליסטים של קובץ מציגים רק את מה שהמשתמש יכול לראות. - פריטים שנמחקו וטלוויזיות שעדיין לא הופעלו לא מופיעים.
כדי לדעת לאילו נתונים מפתח יכול לגשת, יש לשלוח בקשה ל-/organizations: כל ארגון מגיע עם admin ו-permissions.
אם המערכת שלך צריכה רק חלק מהנתונים, כדאי ליצור בלוח הבקרה משתמש ייעודי עבורה, עם ההרשאות הנחוצות בלבד, וליצור את המפתח בחשבון של אותו משתמש.
curl "https://api.on-cloud.live/v1/organizations" \
-H "X-API-Key: $API_KEY"<?php
$ch = curl_init('https://api.on-cloud.live/v1/organizations');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')],
]);
$response = json_decode(curl_exec($ch), true);const res = await fetch('https://api.on-cloud.live/v1/organizations', {
headers: { 'X-API-Key': process.env.API_KEY }
});
const { data } = await res.json();{
"data": [
{
"uid": "8f14e45fceea167a5a36dedd4bea2543",
"name": "Loja Centro",
"neutral_zone": false,
"admin": true,
"permissions": {
"tvs": true,
"files": true,
"playlists": true
}
},
{
"uid": "1679091c5a880faf6fb5e6087eb1b2dc",
"name": "Loja Shopping Norte",
"neutral_zone": false,
"admin": true,
"permissions": {
"tvs": true,
"files": true,
"playlists": true
}
}
]
}{
"error": {
"code": "not_found",
"message": "Item not found or you do not have access to it."
}
}