Référence · TVs

Lister les TVs

GET /v1/tvs

Liste les TVs activées des organisations dans lesquelles l'utilisateur peut voir les TVs, par ordre alphabétique.

Réponse paginée : les éléments se trouvent dans data et les informations de la page dans meta. Pagination et filtres

Paramètres

NomTypeDescription
organizationstringuid d'une organisation, pour ne renvoyer que ses éléments (voir /organizations).
qstringPartie du nom, 100 caractères maximum.
pageintegerPage, à partir de 1. Par défaut : 1.
per_pageintegerÉléments par page, de 1 à 100. Par défaut : 50.

Champs de chaque élément

uid string
Identifiant de la TV, le même que dans le panneau de contrôle.
name string
Nom de la TV.
description string
Description de la TV (peut être vide).
organization object
Organisation de la TV : uid et name.
playlist object | null
Playlist de la TV (uid et name), ou null s'il n'y en a pas.
status string
online, alert ou offline, comme expliqué ci-dessous.
last_seen_at string | null
Dernier contact de la TV avec la plateforme, ou null si elle ne s'est jamais connectée.
activated_at string | null
Date d'activation de la TV.
app_version string
Version de l'app installée sur la TV.
os string
Système d'exploitation de la TV, par exemple android.
device object
Marque (brand) et modèle (model) de l'appareil, lorsque la TV les communique.
timezone string | null
Fuseau horaire de la TV, par exemple America/Sao_Paulo, ou null.

Calcul du statut

  • online contact il y a moins de 3 minutes, lecture en cours
  • alert dernier contact il y a 3 à 9 minutes, ou TV en cours de démarrage
  • offline aucun contact depuis 10 minutes ou plus, ou jamais connectée

C'est la même règle que pour les couleurs de statut du panneau de contrôle.

Erreurs possibles

  • 400 invalid_parameter Un paramètre a une valeur invalide, par exemple per_page au-delà du maximum.
  • 404 organization_not_found Le paramètre organization indiqué ne correspond à aucune organisation dans laquelle l'utilisateur peut voir ce type d'élément.
  • Les erreurs de clé et de limite s'appliquent à tous les endpoints. Voir toutes les erreurs
Requête
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();
Réponse200
{
  "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
  }
}