시작하기
페이지네이션 및 필터
목록 엔드포인트(/tvs, /files, /playlists)는 페이지 단위로 나뉘어 반환됩니다. 항목은 data에, 페이지 정보는 meta에 담깁니다.
| 이름 | 타입 | 설명 |
|---|---|---|
page | integer | 페이지 번호(1부터 시작). 기본값: 1. |
per_page | integer | 페이지당 항목 수(1~100). 기본값: 50. |
meta 필드
pageinteger- 현재 페이지.
per_pageinteger- 페이지당 항목 수.
totalinteger- 모든 페이지를 합친 전체 항목 수.
total_pagesinteger- 전체 페이지 수.
전체 데이터를 가져오려면 page=1부터 시작해 total_pages에 도달할 때까지 페이지를 넘기세요. 마지막 페이지 이후의 페이지를 요청하면 빈 data가 반환됩니다.
필터
필터는 서로 조합할 수 있고 페이지네이션과 함께 사용할 수도 있습니다. meta의 total에는 필터가 이미 반영되어 있습니다.
| 이름 | 타입 | 설명 |
|---|---|---|
organization | string | 회사의 uid. 해당 회사의 항목만 반환합니다(/organizations 참고). |
q | string | 이름의 일부(최대 100자). |
type | string | 파일 유형(예: image, video). /files에서만 사용할 수 있습니다. |
archived | integer | 1이면 보관된 파일만, 0이면 보관되지 않은 파일만 반환합니다. /files에서만 사용할 수 있습니다. |
정렬 순서
TV와 재생목록은 이름순으로, 파일은 최신순으로 정렬됩니다.
요청
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."
}
}