Първи стъпки

Какво вижда всеки потребител

Ключът вижда точно това, което неговият потребител вижда в контролния панел. В 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();
Отговор200
{
  "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
      }
    }
  ]
}
Обект от друга организация404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}