Referència · TV

Llistar TV

GET /v1/tvs

Retorna les TV activades de les organitzacions en què l'usuari pot veure TV, en ordre alfabètic.

Resposta paginada: els elements es retornen a data i la informació de la pàgina, a meta. Paginació i filtres

Paràmetres

NomTipusDescripció
organizationstringuid d'una organització, per obtenir només els seus elements (vegeu /organizations).
qstringPart del nom, fins a 100 caràcters.
pageintegerPàgina, a partir d'1. Valor per defecte: 1.
per_pageintegerElements per pàgina, d'1 a 100. Valor per defecte: 50.

Camps de cada element

uid string
Identificador de la TV, el mateix que s'utilitza al tauler.
name string
Nom de la TV.
description string
Descripció de la TV (pot estar buida).
organization object
Organització de la TV: uid i name.
playlist object | null
Llista de reproducció de la TV (uid i name), o null si no en té cap.
status string
online, alert o offline, tal com s'explica més avall.
last_seen_at string | null
Darrer contacte de la TV amb la plataforma, o null si no s'ha connectat mai.
activated_at string | null
Quan es va activar la TV.
app_version string
Versió de l'aplicació instal·lada a la TV.
os string
Sistema operatiu de la TV, com ara android.
device object
Marca (brand) i model (model) del dispositiu, quan la TV els comunica.
timezone string | null
Fus horari de la TV, com ara America/Sao_Paulo, o null.

Com es calcula l'estat

  • online darrer contacte fa menys de 3 minuts i en reproducció
  • alert darrer contacte fa entre 3 i 9 minuts, o la TV encara s'està iniciant
  • offline sense contacte des de fa 10 minuts o més, o no s'ha connectat mai

És la mateixa regla que segueixen els colors d'estat del tauler.

Errors possibles

  • 400 invalid_parameter Un paràmetre té un valor no vàlid, com ara per_page per sobre del màxim.
  • 404 organization_not_found El valor d'organization indicat no correspon a cap organització en què l'usuari pugui veure aquest tipus d'element.
  • Els errors de clau i de límit s'apliquen a tots els endpoints. Veure tots els errors
Sol·licitud
curl "https://api.on-cloud.live/v1/tvs?per_page=2" \
  -H "X-API-Key: $API_KEY"
<?php
$ch = curl_init('https://api.on-cloud.live/v1/tvs?per_page=2');
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/tvs?per_page=2', {
  headers: { 'X-API-Key': process.env.API_KEY }
});
const { data, meta } = await res.json();
Resposta200
{
  "data": [
    {
      "uid": "d3d9446802a44259755d38e6d163e820",
      "name": "Caixa 2",
      "description": "",
      "organization": {
        "uid": "1679091c5a880faf6fb5e6087eb1b2dc",
        "name": "Loja Shopping Norte"
      },
      "playlist": null,
      "status": "offline",
      "last_seen_at": "2026-11-01T18:04:51-03:00",
      "activated_at": "2025-03-12T09:41:05-03:00",
      "app_version": "3.12.83",
      "os": "android",
      "device": {
        "brand": "Philco",
        "model": "PTV32G70"
      },
      "timezone": "America/Sao_Paulo"
    },
    {
      "uid": "c98cb8f9cc62887d1f6cf5693df9219c",
      "name": "Recepção",
      "description": "TV da entrada",
      "organization": {
        "uid": "8f14e45fceea167a5a36dedd4bea2543",
        "name": "Loja Centro"
      },
      "playlist": {
        "uid": "e4da3b7fbbce2345d7772b0674a318d5",
        "name": "Lista principal"
      },
      "status": "online",
      "last_seen_at": "2026-11-03T14:32:10-03:00",
      "activated_at": "2025-03-12T09:41:05-03:00",
      "app_version": "3.12.84",
      "os": "android",
      "device": {
        "brand": "TCL",
        "model": "43P635"
      },
      "timezone": "America/Sao_Paulo"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 2,
    "total": 3,
    "total_pages": 2
  }
}