রেফারেন্স · টিভি

টিভির তালিকা

GET /v1/tvs

যেসব প্রতিষ্ঠানে ব্যবহারকারী টিভি দেখতে পারেন, সেগুলোর সক্রিয় টিভির তালিকা বর্ণানুক্রমে দেয়।

পেজে ভাগ করা রেসপন্স: আইটেমগুলো আসে data-তে এবং পেজের তথ্য আসে meta-তে। পেজিনেশন ও ফিল্টার

প্যারামিটার

নামধরনবিবরণ
organizationstringকোনো প্রতিষ্ঠানের uid, শুধু সেই প্রতিষ্ঠানের আইটেম আনার জন্য (দেখুন /organizations)।
qstringনামের অংশ, সর্বোচ্চ 100টি অক্ষর।
pageintegerপেজ, 1 থেকে শুরু। ডিফল্ট: 1।
per_pageintegerপ্রতি পেজে আইটেম, 1 থেকে 100 পর্যন্ত। ডিফল্ট: 50।

প্রতিটি আইটেমের ফিল্ড

uid string
টিভির শনাক্তকারী, কন্ট্রোল প্যানেলে ব্যবহৃত শনাক্তকারীর মতোই।
name string
টিভির নাম।
description string
টিভির বিবরণ (খালি থাকতে পারে)।
organization object
টিভির প্রতিষ্ঠান: uid ও name।
playlist object | null
টিভির প্লেলিস্ট (uid ও name), অথবা না থাকলে null।
status string
online, alert বা offline, নিচে যেমন ব্যাখ্যা করা হয়েছে।
last_seen_at string | null
প্ল্যাটফর্মের সঙ্গে টিভির সর্বশেষ যোগাযোগ, অথবা কখনো সংযুক্ত না হলে null।
activated_at string | null
টিভি কখন সক্রিয় করা হয়েছে।
app_version string
টিভিতে ইনস্টল করা অ্যাপের ভার্সন।
os string
টিভির অপারেটিং সিস্টেম, যেমন android।
device object
ডিভাইসের ব্র্যান্ড (brand) ও মডেল (model), যদি টিভি তা জানায়।
timezone string | null
টিভির টাইম জোন, যেমন America/Sao_Paulo, অথবা null।

স্ট্যাটাস যেভাবে নির্ধারিত হয়

  • online 3 মিনিটের কম আগে যোগাযোগ, প্লে হচ্ছে
  • alert 3 থেকে 9 মিনিট আগে যোগাযোগ, অথবা টিভি এখনো চালু হচ্ছে
  • 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
  }
}