Per iniziare

Cosa può vedere ogni utente

La chiave vede esattamente ciò che il suo utente vede nel pannello di controllo. Non serve configurare nulla nell'API: le regole derivano dalle organizzazioni e dai permessi dell'utente.

Solo le organizzazioni dell'utente

L'API considera solo le organizzazioni collegate all'utente, le stesse che può scegliere nel pannello di controllo.

L'amministratore vede tutto dell'organizzazione

Chi è amministratore dell'organizzazione, o dell'organizzazione principale, vede tutte le sue TV, i suoi file e le sue playlist.

Per gli altri contano i permessi

Per gli altri utenti valgono, in ogni organizzazione, i permessi per vedere TV, file e playlist, gli stessi che danno accesso a queste pagine nel pannello di controllo.

Le modifiche valgono subito

Un permesso rimosso, un'organizzazione rimossa o un utente disattivato nel pannello di controllo hanno effetto già dalla richiesta successiva.

Cosa resta escluso

  • Gli elementi delle organizzazioni senza permesso non compaiono negli elenchi. Richiederne uno direttamente restituisce 404, come se non esistesse.
  • In una playlist, un file che l'utente non può vedere arriva con file uguale a null. Le TV di una playlist e le playlist di un file mostrano solo ciò che l'utente può vedere.
  • Gli elementi eliminati e le TV non ancora attivate non compaiono.

Per sapere cosa può consultare una chiave, chiama /organizations: ogni organizzazione include admin e permissions.

Se il tuo sistema ha bisogno solo di una parte dei dati, crea nel pannello di controllo un utente dedicato, con i soli permessi necessari, e genera la chiave nell'account di quell'utente.

Richiesta
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();
Risposta200
{
  "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
      }
    }
  ]
}
Elemento di un'altra organizzazione404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}