Primeiros pasos

Que pode ver cada usuario

A chave ve exactamente o mesmo que ve no panel o usuario ao que pertence. Non hai que configurar nada na API: as regras veñen das organizacións e dos permisos do usuario.

Só as organizacións do usuario

A API só ten en conta as organizacións vinculadas ao usuario, as mesmas que pode escoller no panel.

O administrador ve todo na organización

Quen é administrador da organización, ou da organización principal, ve todas as súas TV, ficheiros e listas de reprodución.

Os demais dependen dos permisos

Para os demais usuarios aplícanse, en cada organización, os permisos para ver TV, ficheiros e listas de reprodución, os mesmos que dan acceso a esas páxinas no panel.

Os cambios aplícanse ao instante

Se no panel se retira un permiso, se quita unha organización ou se desactiva un usuario, o cambio xa se aplica na seguinte solicitude.

Que queda fóra

  • Os elementos de organizacións sen permiso non aparecen nas listaxes. Se se pide un deles directamente, obtense 404, coma se non existise.
  • Nunha lista de reprodución, un ficheiro que o usuario non pode ver vén con file igual a null. As TV dunha lista e as listas dun ficheiro mostran só o que o usuario pode ver.
  • Os elementos eliminados e as TV que aínda non se activaron non aparecen.

Para saber que pode consultar unha chave, chame a /organizations: cada organización inclúe admin e permissions.

Se o seu sistema só necesita unha parte dos datos, cree no panel un usuario exclusivo para el, cos permisos necesarios, e xere a chave na conta dese usuario.

Solicitude
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();
Resposta200
{
  "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 doutra organización404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}