快速入门

分页和筛选

列表端点(/tvs、/files 和 /playlists)采用分页返回。项目位于 data 中,分页信息位于 meta 中。

名称类型说明
pageinteger页码,从 1 开始。默认值:1。
per_pageinteger每页项目数,范围为 1 到 100。默认值:50。

meta 字段

page integer
当前页码。
per_page integer
每页项目数。
total integer
所有页面中找到的项目总数。
total_pages integer
总页数。

如需获取全部数据,请从 page=1 开始逐页向后请求,直到 total_pages。请求最后一页之后的页面会返回空的 data。

筛选

筛选条件可以相互组合,也可以与分页一起使用。meta 中的 total 已将筛选条件计算在内。

名称类型说明
organizationstring组织的 uid,用于只返回该组织的项目(参见 /organizations)。
qstring名称中的部分文字,最多 100 个字符。
typestring文件类型,例如 image 或 video。仅适用于 /files。
archivedinteger1 表示仅返回已归档的文件,0 表示仅返回未归档的文件。仅适用于 /files。

排序

电视和播放列表按字母顺序排列;文件按从新到旧排列。

请求
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
  }
}
参数无效400
GET /v1/tvs?per_page=500

{
  "error": {
    "code": "invalid_parameter",
    "message": "per_page must be a number between 1 and 100."
  }
}