Primeros pasos
Qué puede ver cada usuario
La clave ve exactamente lo mismo que ve en el panel el usuario al que pertenece. No hace falta configurar nada en la API: las reglas salen de las organizaciones y los permisos del usuario.
Solo las organizaciones del usuario
La API solo tiene en cuenta las organizaciones vinculadas al usuario, las mismas que puede elegir en el panel.
El administrador ve todo en su organización
Quien es administrador de la organización, o de la organización principal, ve todas sus TVs, archivos y listas de reproducción.
Los demás dependen de los permisos
Para los demás usuarios rigen, en cada organización, los permisos para ver TVs, archivos y listas de reproducción, los mismos que habilitan esas páginas en el panel.
Los cambios rigen al instante
Si en el panel se saca un permiso, se quita una organización o se desactiva un usuario, el cambio ya rige en la siguiente solicitud.
Qué queda afuera
- Los elementos de organizaciones sin permiso no aparecen en los listados. Si se pide uno de ellos directamente, la respuesta es
404, como si no existiera. - En una lista de reproducción, un archivo que el usuario no puede ver viene con
fileigual anull. Las TVs de una lista y las listas de un archivo muestran solo lo que el usuario puede ver. - Los elementos eliminados y las TVs que todavía no se activaron no aparecen.
Para saber qué puede consultar una clave, llamá a /organizations: cada organización viene con admin y permissions.
Si tu sistema solo necesita una parte de los datos, creá en el panel un usuario exclusivo para él, con los permisos necesarios, y generá la clave en la cuenta de ese usuario.
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();{
"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
}
}
]
}{
"error": {
"code": "not_found",
"message": "Item not found or you do not have access to it."
}
}