Začíname

Čo vidia jednotliví používatelia

Kľúč vidí presne to, čo jeho používateľ v ovládacom paneli. V API netreba nič nastavovať: pravidlá vychádzajú z organizácií a oprávnení používateľa.

Iba organizácie používateľa

API berie do úvahy iba organizácie prepojené s používateľom, teda tie isté, ktoré si môže vybrať v ovládacom paneli.

Administrátor vidí v organizácii všetko

Administrátor organizácie alebo hlavnej organizácie vidí všetky jej TV, súbory a playlisty.

Ostatní sa riadia oprávneniami

Pre ostatných používateľov platia v každej organizácii oprávnenia na zobrazenie TV, súborov a playlistov – tie isté, ktoré sprístupňujú tieto stránky v ovládacom paneli.

Zmeny platia okamžite

Keď v ovládacom paneli odoberiete oprávnenie alebo organizáciu, prípadne deaktivujete používateľa, zmena platí už pri ďalšej požiadavke.

Čo sa nezobrazí

  • Položky organizácií bez oprávnenia sa v zoznamoch nezobrazujú. Priamy dotaz na niektorú z nich vráti 404, akoby neexistovala.
  • V playliste má súbor, ktorý používateľ nemôže vidieť, file nastavené na null. TV pri playliste a playlisty pri súbore zobrazujú iba to, čo používateľ môže vidieť.
  • Odstránené položky a TV, ktoré ešte neboli aktivované, sa nezobrazujú.

Ak chcete zistiť, čo môže kľúč načítať, zavolajte /organizations: každá organizácia obsahuje admin a permissions.

Ak váš systém potrebuje iba časť údajov, vytvorte preň v ovládacom paneli samostatného používateľa iba s potrebnými oprávneniami a kľúč vygenerujte v účte tohto používateľa.

Požiadavka
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();
Odpoveď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
      }
    }
  ]
}
Položka inej organizácie404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}