Referencia · TV

Listar TV

GET /v1/tvs

Devolve as TV activadas das organizacións nas que o usuario pode ver TV, en orde alfabética.

Resposta paxinada: os elementos veñen en data e a información da páxina, en meta. Paxinación e filtros

Parámetros

NomeTipoDescrición
organizationstringuid dunha organización, para obter só os seus elementos (consulte /organizations).
qstringParte do nome, ata 100 caracteres.
pageintegerPáxina, a partir de 1. Valor predeterminado: 1.
per_pageintegerElementos por páxina, de 1 a 100. Valor predeterminado: 50.

Campos de cada elemento

uid string
Identificador da TV, o mesmo que se usa no panel.
name string
Nome da TV.
description string
Descrición da TV (pode estar baleira).
organization object
Organización da TV: uid e name.
playlist object | null
Lista de reprodución da TV (uid e name), ou null se non ten ningunha.
status string
online, alert ou offline, tal como se explica máis abaixo.
last_seen_at string | null
Último contacto da TV coa plataforma, ou null se nunca se conectou.
activated_at string | null
Cando se activou a TV.
app_version string
Versión da aplicación instalada na TV.
os string
Sistema operativo da TV, como android.
device object
Marca (brand) e modelo (model) do dispositivo, cando a TV os comunica.
timezone string | null
Fuso horario da TV, como America/Sao_Paulo, ou null.

Como se calcula o estado

  • online último contacto hai menos de 3 minutos e en reprodución
  • alert último contacto hai entre 3 e 9 minutos, ou a TV aínda se está a iniciar
  • offline sen contacto desde hai 10 minutos ou máis, ou nunca se conectou

É a mesma regra que seguen as cores de estado do panel.

Erros posibles

  • 400 invalid_parameter Un parámetro ten un valor non válido, como per_page por riba do máximo.
  • 404 organization_not_found O organization indicado non corresponde a unha organización na que o usuario poida ver este tipo de elemento.
  • Os erros de chave e de límite aplícanse a todos os endpoints. Ver todos os erros
Solicitude
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
  }
}