リファレンス · TV

TV一覧を取得

GET /v1/tvs

ユーザーがTVを閲覧できる組織の有効化済みTVを、名前順で一覧表示します。

ページ分割されたレスポンスです。項目はdataに、ページ情報はmetaに入ります。 ページネーションとフィルター

パラメーター

名前型説明
organizationstring組織のuid。その組織の項目のみを返します(/organizationsを参照)。
qstring名前の一部(最大100文字)。
pageintegerページ番号(1から)。デフォルト:1。
per_pageinteger1ページあたりの項目数(1~100)。デフォルト:50。

各項目のフィールド

uid string
TVの識別子で、コントロールパネルで使われているものと同じです。
name string
TVの名前。
description string
TVの説明(空の場合もあります)。
organization object
TVが属する組織:uidとname。
playlist object | null
TVのプレイリスト(uidとname)。ない場合はnull。
status string
online、alert、offlineのいずれか。詳しくは下記をご覧ください。
last_seen_at string | null
TVがプラットフォームと最後に通信した日時。一度も接続したことがない場合はnull。
activated_at string | null
TVが有効化された日時。
app_version string
TVにインストールされているアプリのバージョン。
os string
TVのOS(androidなど)。
device object
デバイスのブランド(brand)とモデル(model)。TVから報告された場合のみ。
timezone string | null
TVのタイムゾーン(America/Sao_Pauloなど)、またはnull。

ステータスの判定方法

  • online 3分以内に通信があり、再生中
  • alert 最後の通信が3~9分前、またはTVが起動中
  • offline 10分以上通信がない、または一度も接続していない

コントロールパネルのステータスの色と同じルールです。

発生しうるエラー

  • 400 invalid_parameter パラメーターの値が無効です(例:per_pageが上限を超えている)。
  • 404 organization_not_found 指定されたorganizationは、ユーザーがこの種類の項目を参照できる組織ではありません。
  • キーとレート制限に関するエラーは、すべてのエンドポイントに共通です。 すべてのエラーを見る
リクエスト
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();
レスポンス200
{
  "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
  }
}