Pierwsze kroki

Co widzi każdy użytkownik

Klucz widzi dokładnie to samo, co jego użytkownik w panelu sterowania. W API nie trzeba niczego konfigurować: reguły wynikają z organizacji i uprawnień użytkownika.

Tylko organizacje użytkownika

API uwzględnia wyłącznie organizacje powiązane z użytkownikiem – te same, które może wybrać w panelu sterowania.

Administrator widzi wszystko w organizacji

Administrator organizacji lub organizacji głównej widzi wszystkie jej telewizory, pliki i playlisty.

Pozostali zależą od uprawnień

W przypadku pozostałych użytkowników w każdej organizacji obowiązują uprawnienia do wyświetlania telewizorów, plików i playlist – te same, które odblokowują te strony w panelu sterowania.

Zmiany obowiązują od razu

Gdy w panelu sterowania odbierzesz uprawnienie, usuniesz organizację lub dezaktywujesz użytkownika, zmiana obowiązuje już przy następnym żądaniu.

Co jest pomijane

  • Elementy organizacji, do których użytkownik nie ma uprawnień, nie pojawiają się na listach. Bezpośrednie żądanie któregoś z nich zwraca 404, tak jakby nie istniał.
  • W playliście plik, którego użytkownik nie może widzieć, ma file ustawione na null. Telewizory przypisane do playlisty i playlisty zawierające plik pokazują tylko to, co użytkownik może widzieć.
  • Usunięte elementy i telewizory, które nie zostały jeszcze aktywowane, nie są wyświetlane.

Aby sprawdzić, co może odczytywać klucz, wywołaj /organizations: każda organizacja zawiera admin i permissions.

Jeśli Twój system potrzebuje tylko części danych, utwórz dla niego w panelu sterowania osobnego użytkownika tylko z niezbędnymi uprawnieniami i wygeneruj klucz na koncie tego użytkownika.

Żądanie
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();
Odpowiedź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
      }
    }
  ]
}
Element innej organizacji404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}