Primeros pasos
Qué puede ver cada usuario
La clave ve exactamente lo mismo que ve en el panel el usuario al que pertenece. No hay que 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 lo 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 el resto de usuarios se aplican, en cada organización, los permisos para ver TVs, archivos y listas de reproducción, los mismos que dan acceso a esas páginas en el panel.
Los cambios se aplican al instante
Si en el panel se retira un permiso, se quita una organización o se desactiva un usuario, el cambio se aplica ya en la siguiente petición.
Qué queda fuera
- Los elementos de organizaciones sin permiso no aparecen en los listados. Si se pide uno de ellos directamente, se obtiene
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 aún no se han activado no aparecen.
Para saber qué puede consultar una clave, llame a /organizations: cada organización incluye admin y permissions.
Si su sistema solo necesita una parte de los datos, cree en el panel un usuario exclusivo para él, con los permisos imprescindibles, y genere 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."
}
}