Erste Schritte

Was jeder Benutzer sehen kann

Ein Schlüssel sieht genau das, was sein Benutzer im Kontrollzentrum sieht. In der API müssen Sie nichts konfigurieren: Die Regeln ergeben sich aus den Organisationen und Berechtigungen des Benutzers.

Nur die Organisationen des Benutzers

Die API berücksichtigt nur die Organisationen, die mit dem Benutzer verknüpft sind, also dieselben, die er im Kontrollzentrum auswählen kann.

Administratoren sehen alles in der Organisation

Ein Administrator der Organisation oder der Hauptorganisation sieht alle TVs, Dateien und Playlists dieser Organisation.

Für alle anderen zählen die Berechtigungen

Für andere Benutzer gelten in jeder Organisation die Berechtigungen zum Anzeigen von TVs, Dateien und Playlists, also dieselben, die diese Seiten im Kontrollzentrum freischalten.

Änderungen gelten sofort

Eine entzogene Berechtigung, eine entfernte Organisation oder ein deaktivierter Benutzer im Kontrollzentrum wirkt sich bereits bei der nächsten Anfrage aus.

Was nicht angezeigt wird

  • Elemente aus Organisationen ohne Berechtigung erscheinen nicht in Listen. Wird eines davon direkt abgerufen, kommt 404 zurück, als würde es nicht existieren.
  • In einer Playlist wird eine Datei, die der Benutzer nicht sehen kann, mit file gleich null geliefert. Die TVs einer Playlist und die Playlists einer Datei zeigen nur, was der Benutzer sehen kann.
  • Gelöschte Elemente und noch nicht aktivierte TVs erscheinen nicht.

Um herauszufinden, was ein Schlüssel abrufen kann, rufen Sie /organizations auf: Jede Organisation enthält admin und permissions.

Wenn Ihr System nur einen Teil der Daten benötigt, legen Sie im Kontrollzentrum einen eigenen Benutzer dafür an, nur mit den nötigen Berechtigungen, und generieren Sie den Schlüssel im Konto dieses Benutzers.

Anfrage
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();
Antwort200
{
  "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
      }
    }
  ]
}
Element aus einer anderen Organisation404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}