Versions Compared

Key

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

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

...

  • Получить у владельцев платформы технический доступ к панели администратора. В дальнейшем он будет использоваться и для доступа к описанию методов API. Также необходимо запросить ID библиотеки

  • В панели администратора получить TOKEN оператора. Полученный TOKEN будет использоваться для подписания всех запросов к API при работе интеграции.
    Реализовать логику ВАЖНО: При повторном получении

  • Реализовать логику регистрации пользователя в Платформа24

  • Реализовать управление подписками пользователя в Платформа24 (Назначение/Отключение подписки)

  • Реализовать получение потока запрашиваемого контента для пользователя оператора

...

Для отключения подписки пользователю нужно использовать метод

ДОБАВЛЕНИЕ УСТРОЙСТВА ПОЛЬЗОВАТЕЛЯ

...

DELETE/v2/users/{user_id}/subscriptions/{id}

Expand
titlecurl запрос для удаления подписки
Code Block
curl -X 'DELETE' \
  'https://signaltv.platform24.tv/v2/users/10364/subscriptions/849505762352128683?token=bd21de6432fdc13f2d783ecf28eebdb46960e052' \
  -H 'accept: */*' \
  -H 'X-CSRFTOKEN: tUhy3Z7t5LMOVtVsOoIGvadOorFcht5RPZ3vjjntproxIJrW2wFs63fqc7zADuAL'

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

Expand
titleУспешный ответ
Code Block
{
  "id": "849505762352128683",
  "packet": {
    "id": 9,
    "name": "",
    "row_slug": "",
    "short": "Библиотека Plan B для партнера",
    "description": "",
    "old_price": "0.00",
    "price": null,
    "base": true,
    "agreement": "",
    "libraries": [
      {
        "id": 23,
        "title": "Plan B",
        "description": "SignalTV",
        "library_type": "signaltv",
        "cover": {
          "light_bg": "http://media.24h.tv/background_images/40/26/4026c4464529468379b479eff6750abe.png",
          "dark_bg": "http://media.24h.tv/background_images/56/d3/56d3f7cd0696d143c7689567bb23dc5a.png",
          "color_bg": "http://media.24h.tv/background_images/62/21/6221aaeead0642af39c1ef46902ad8df.png",
          "bg": "http://media.24h.tv/background_images/8c/4f/8c4fa62226c40094093e344b95e17f09.png"
        },
        "logo": null
      }
    ],
    "available": null,
    "include": null,
    "period": "0-1-0",
    "period_human": {
      "days": 0,
      "months": 1,
      "years": 0
    },
    "design": {
      "background_tv": null,
      "background_mobile": null,
      "small_background_tv": null,
      "small_background_mobile": null,
      "big_background_tv": null,
      "logo": null,
      "mini_logo": null,
      "corner_badge": null,
      "inline_badge": null,
      "special_features": null
    }
  },
  "start_at": "2023-04-04T13:49:12.903000Z",
  "end_at": "2023-04-07T15:26:57.217095Z",
  "renew": false,
  "is_paused": false,
  "pauses": [],
  "type": "subscribe"
}

В результате этого запроса подписка закончится временем выполнения запроса.

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

PATCH/v2/users/{user_id}/subscriptions/{id}

Работа с этим методом аналогична методу DELETE описанному выше.

ДОБАВЛЕНИЕ УСТРОЙСТВА ПОЛЬЗОВАТЕЛЯ

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

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

POST /v2/devices

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

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

АВТОРИЗАЦИЯ ПО 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": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}'

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

Expand
Code Block
{
  "access_token": "bd999428c6760a0369b299e74d9f98899bc2ed4a",
  "expired": null,
  "device": {
    "id": "42a757fe-9126-4809-8ac7-2989f8c555ce",
    "name": "SHIELD",
    "device_type": "stb",
    "vendor": "NVIDIA",
    "model": "SHIELD Android TV",
    "version": "3.348 (2022-12-24 19:37:48)",
    "serial": "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": [
          "original",
          "zoom",
          "wide",
          "letterbox"
        ],
        "adapter": null,
        "value": "original"
      },
      "streamType": {
        "accept": [
          "hls",
          "local_low",
          "local"
        ],
        "adapter": null,
        "value": "hls"
      },
      "tvOnly": false,
      "unique_id": null
    },
    "notification": {
      "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