Початок роботи

Що бачить кожен користувач

Ключу доступне саме те, що його користувач бачить у панелі керування. Нічого налаштовувати в 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."
  }
}