Referencia · TVs

Listar TVs

GET /v1/tvs

Devuelve las TVs activadas de las organizaciones en las que el usuario puede ver TVs, en orden alfabético.

Respuesta paginada: los elementos vienen en data y la información de la página, en meta. Paginación y filtros

Parámetros

NombreTipoDescripción
organizationstringuid de una organización, para obtener solo sus elementos (consulte /organizations).
qstringParte del nombre, hasta 100 caracteres.
pageintegerPágina, a partir de 1. Por defecto: 1.
per_pageintegerElementos por página, de 1 a 100. Por defecto: 50.

Campos de cada elemento

uid string
Identificador de la TV, el mismo que se usa en el panel.
name string
Nombre de la TV.
description string
Descripción de la TV (puede estar vacía).
organization object
Organización de la TV: uid y name.
playlist object | null
Lista de reproducción de la TV (uid y name), o null si no tiene ninguna.
status string
online, alert u offline, como se explica más abajo.
last_seen_at string | null
Último contacto de la TV con la plataforma, o null si nunca se ha conectado.
activated_at string | null
Cuándo se activó la TV.
app_version string
Versión de la app instalada en la TV.
os string
Sistema operativo de la TV, como android.
device object
Marca (brand) y modelo (model) del dispositivo, si la TV los comunica.
timezone string | null
Zona horaria de la TV, como America/Sao_Paulo, o null.

Cómo se calcula el estado

  • online último contacto hace menos de 3 minutos y reproduciendo
  • alert último contacto hace entre 3 y 9 minutos, o la TV todavía se está iniciando
  • offline sin contacto desde hace 10 minutos o más, o nunca se ha conectado

Es la misma regla que siguen los colores de estado del panel.

Posibles errores

  • 400 invalid_parameter Un parámetro tiene un valor no válido, como per_page por encima del máximo.
  • 404 organization_not_found El organization indicado no corresponde a una organización en la que el usuario pueda ver este tipo de elemento.
  • Los errores de clave y de límite se aplican a todos los endpoints. Ver todos los errores
Petición
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();
Respuesta200
{
  "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
  }
}