Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Инструкция по работе с VoD контентом размещенном на Платформа24

...

ДОБАВЛЕНИЕ УСТРОЙСТВА ПОЛЬЗОВАТЕЛЯ (Пока не работает)

Для того что бы пользователь смог получить ссылку на поток, необходимо зарегистрировать устройство пользователя. Необходимо что бы у пользователя был минимум одно зарегистрированное устройство. Для регистрации необязательно указывать реальные данные.

Для регистрации устройства необходимо использовать метод

POST /v2/devices

Expand
Code Block
{
  "user_id" : 10364,
  "name": "Telatel_10364",
  "device_type": "pc",
  "vendor": "Telatel"
}

Поле device_type должно содержать одно из следующих значений: tv, stb, tablet, phone, pc

АВТОРИЗАЦИЯ ПО device_id

Теперь надо получить пользовательский токен для созданного пользовательского устройства с помощью метода

POST /v2/auth/device

В случае успешного выполнения запроса будет JSON из которого нужно будет сохранить для этого пользователя ID созданного устройства. Он содержится в теге ID (e67044b9-70a2-482d-b857-f80369c14187).

Expand
Code Block
curl{
 -X 'POST' \
  'https://signaltv.platform24.tv/v2/auth/device' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRFTOKEN: B8FOLywf3J5DEqOhXijJfO1oTnDrZjzaXdrL1SMfnpHmrGkLbqgvQH30H3xPlk44' \
  -d '{
  "device_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}'

В случае успеха будет JSON ответ

Expand
Code Block
{
  "access_token": "bd999428c6760a0369b299e74d9f98899bc2ed4a",
  "expired "id": "e67044b9-70a2-482d-b857-f80369c14187",
  "name": "Telatel_10364",
  "device_type": "pc",
  "vendor": "Telatel",
  "model": null,
  "version": null,
  "serial": null,
  "os_name": null,
  "os_version": null,
  "application_type": null,
  "profile": null,
  "devicestore_source": {null,
    "idsettings": "42a757fe-9126-4809-8ac7-2989f8c555ce"null,
    "namenotification": "SHIELD"null,
    "device_typeinterfaces": "stb",
 [],
  "vendorcreated_at": "NVIDIA2023-04-13T08:24:47.964052Z",
    "modellogin_at": "SHIELD Android TV",
 null,
  "versionuser_id": "3.348 (2022-12-24 19:37:48)",
 10364,
  "serialparental_settings": "NVIDIA_SHIELD Android TV_74e173f971f0ccc2_74e173f971f0ccc2_00:00:00:00:00:00",
    "os_name": "Android",
    "os_version": "30",
    "application_type": "android-tv",
    "profile": null,
    "store_source": null,
    "settings": {
      "adapter": null,
      "parentalControl": false,
      "referrer_url": "utm_source=google-play&utm_medium=organic",
      "sleepTimer": null,
      "startVersion": 3348,
      "streamAspect": {
        "accept": [
          "originalnull
}

АВТОРИЗАЦИЯ ПО device_id

Теперь надо получить пользовательский токен для созданного пользовательского устройства с помощью метода

POST /v2/auth/device

Expand
Code Block
curl -X 'POST' \
  'https://signaltv.platform24.tv/v2/auth/device' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRFTOKEN: B8FOLywf3J5DEqOhXijJfO1oTnDrZjzaXdrL1SMfnpHmrGkLbqgvQH30H3xPlk44' \
  -d '{
  "device_id": "e67044b9-70a2-482d-b857-f80369c14187"
}'

В случае успеха будет JSON ответ

Expand
Code Block
{
  "access_token": "bd999428c6760a0369b299e74d9f98899bc2ed4a",
  "expired": null,
  "device": {
    "id": "42a757fe-9126-4809-8ac7-2989f8c555ce",
    "name": "SHIELD",
    "device_type": "stb",
          "zoom"vendor": "NVIDIA",
    "model": "SHIELD Android    "wideTV",

         "letterboxversion": "3.348        ],
  (2022-12-24 19:37:48)",
     "adapterserial": null,
  "NVIDIA_SHIELD Android TV_74e173f971f0ccc2_74e173f971f0ccc2_00:00:00:00:00:00",
     "valueos_name": "originalAndroid",
      }"os_version": "30",
    "application_type":  "streamTypeandroid-tv":,
{    "profile": null,
    "acceptstore_source": [null,
    "settings": {
      "hlsadapter": null,
      "parentalControl": false,
  "local_low     "referrer_url": "utm_source=google-play&utm_medium=organic",
          "localsleepTimer": null,
      "startVersion": ]3348,
 
      "adapterstreamAspect": null,{
        "valueaccept": "hls"[
      },    "original",
  "tvOnly": false,       "unique_idzoom":,
null     },     "notificationwide":,
 {       "notification_type":  "android_stb"letterbox"
        ],
        "tokenadapter": "cWcaamu0TbCJqBTTA9EmCy:APA91bFBn1NN99ApJ7WwZ45mdH5lkZPK4N0USKfltLsCA8J7WEOvmuQy5A-XUP5D1p6iKMubOaksIHk9VU4xqLaYqioLFvjPobvXGKG3qzTqRuE-9DEOY_Kbu60YiSiRu4ww0JI6mlKI",null,
        "created_atvalue": "2022-12-24T22:33:41.880885Z"original"
      },
      "interfacesstreamType": [{
        "accept": [
{         "name": "lohls",
          "maclocal_low": "00:00:00:00:00:00,
          "local"
      }  ],
   ],     "created_atadapter": "2022-12-24T22:33:36.663327Z",null,
     "login_at   "value": "2023-04-07T16:10:08.296208Z",hls"
     "user_id": 43 },
      "parental_settingstvOnly": nullfalse,
      "unique_id": null
    },
    "profilenotification": null
}

Из полученного ответа нужен только значение поля “access_token“. Это значение далее надо будет использовать для получения ссылки на контент запрашиваемый пользователем.

ЗАПРОС ССЫЛКИ НА СТРИМ

Теперь когда все зарегистрировано, подключено, создано и т.п. можно запросить поток.

Для запроса потока надо знать его content_id и токен пользователя, для которого получаем поток и использовать метод

...

{
      "notification_type": "android_stb",
      "token": "cWcaamu0TbCJqBTTA9EmCy:APA91bFBn1NN99ApJ7WwZ45mdH5lkZPK4N0USKfltLsCA8J7WEOvmuQy5A-XUP5D1p6iKMubOaksIHk9VU4xqLaYqioLFvjPobvXGKG3qzTqRuE-9DEOY_Kbu60YiSiRu4ww0JI6mlKI",
      "created_at": "2022-12-24T22:33:41.880885Z"
    },
    "interfaces": [
      {
        "name": "lo",
        "mac": "00:00:00:00:00:00"
      }
    ],
    "created_at": "2022-12-24T22:33:36.663327Z",
    "login_at": "2023-04-07T16:10:08.296208Z",
    "user_id": 43,
    "parental_settings": null
  },
  "profile": null
}

Из полученного ответа нужено только значение поля “access_token“. Это значение далее надо будет использовать для получения ссылки на контент запрашиваемый пользователем.

ЗАПРОС ССЫЛКИ НА СТРИМ

Теперь когда все зарегистрировано, подключено, создано и т.п. можно запросить поток.

Для запроса потока надо знать content_id запрашиваемого контента и токен пользователя, для которого получаем поток и использовать метод

GET/v2/libraries/{library_id}/contents/{id}/stream

Expand
Code Block
curl -X 'GET' \
  'https://signaltv.platform24.tv/v2/libraries/23/contents/832404576750893135/stream?access_token=37efadb21cf871cfee4d47fe2d0521552dc4be5f' \
  -H 'accept: application/json'

В полученном ответе в теге hls будет содержаться ссылка на запрошенный контент, которую надо отдать клиенту на воспроизведение.

Expand
titleВ полученном ответе в теге hls будет содержаться ссылка на запрошенный контент, которую надо отдать клиенту на воспроизведение.
Code Block
{
  "history": null,
  "type": "full",
  "from": 0,
  "to": 0,
  "mime_type": "application/vnd.apple.mpegurl",
  "hls": "http://195.191.208.9:8060/hls/jwt/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXRoX21kNSI6IjhlNzQ3MDA2ODQ2YmQzNzQ0ZGNkYTc5NDgyMTIzNDliIiwidCI6IjM3ZWZhZGIyMWNmODcxY2ZlZTRkNDdmZTJkMDUyMTU1MmRjNGJlNWYiLCJ0cyI6MTY4MTM3NzI3MCwiaXQiOmZhbHNlfQ.UyWBryJ_FOvW3M_zdmd8MOuGVJD0P2zaLZOR2YzVBx4/vod/tracks/v1-v2-v3-a1/signaltv/db68a2a1266669a06fee290d5225b18d.mp4/clipFrom/0000/master.m3u8",
  "packshots": [],
  "stat": {
    "id": "4418d851-aab2-4fd4-a9d5-4888e7a484de"
  }
}