Първи стъпки
Какво вижда всеки потребител
Ключът вижда точно това, което неговият потребител вижда в контролния панел. В 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."
}
}