Интеграция оператора с VoD библиотекой
Инструкция по работе с VoD контентом размещенном на Платформа24
Данная инструкция описывает основные и необходимые действия, которые необходимо произвести оператору партнёру для организации доступа своим пользователям для целей просмотра VoD контента.
Основные этапы
Получить у владельцев платформы технический доступ к панели администратора. В дальнейшем он будет использоваться и для доступа к описанию методов API. Также необходимо запросить ID библиотеки
Получить у владельцев платформы доступ к файлу с выгрузкой мета-данных контента для последующего импорта.
В панели администратора получить TOKEN оператора. Полученный TOKEN будет использоваться для подписания всех запросов к API при работе интеграции.
ВАЖНО: При повторной генерации токена, ранее выданный токен будет инвалидирован (отключён)Реализовать логику регистрации пользователя в Платформа24
Реализовать управление подписками пользователя в Платформа24 (Назначение/Отключение подписки)
Реализовать получение потока запрашиваемого контента для пользователя оператора
РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЯ
Для полноценного управления услугой/подпиской необходимо создать пользователя в платформе.
Позже созданному пользователю будут назначаться соответствующие подписки.
Общая документация по методу создания пользователя здесь: https://$platform_name$.platform24.tv/v2/redoc#tag/users/operation/users_create
Для создания пользователя необходимо использовать метод
POST /v2/users
Обязательными полями являются username и password
{
"username": "string", // Не может содержать точки в имени пользователя
"first_name": "string",
"last_name": "string",
"provider_uid": "string",
"email": "user@example.com",
"password": "string",
"device_limit": 0,
"is_active": true
}
Нижеприведенный запрос создаёт пользователя с логином tele_720 и паролем 2472024. При этом устанавливается provider_uid равный 720. 720 это идентификатор пользователя у вас как у оператора (Например номер договора)
В результате запроса будут возвращены данные в json формате.
В ответе будет содержаться идентификатор пользователя в платформе (ID), его необходимо сохранить и использовать для дальнейшей работы с пользователем. В данном примере ответа это “10364“
Пользователь успешно создан, теперь можно подключить ему подписку.
В случае возникновения ошибки, в ответе будет содержаться описание ошибки
ПОЛУЧЕНИЕ СПИСКА ДОСТУПНЫХ ПАКЕТОВ
Список доступных пакетов и их ID можно посмотреть в панели администратора или выполнив запрос к API
POST /v2/packets
В ответе вернётся структурный список содержащий все доступные для подключения пакеты.
Обработав ответ, вы можете понять ID пакета, который надо подключить созданному пользователю.
ПОДКЛЮЧЕНИЕ ПАКЕТА ПОЛЬЗОВАТЕЛЮ
Зная ID созданного в Платформе пользователя и ID подключаемого пакета можно подключить пакет пользователю. Для этого используется метод
POST /v2/users/{user_id}/subscriptions
В качестве данных надо передать следующее:
ID пользователя в Платформе (10364)
ID подключаемого пакета
Дата и время начала действия подписки
Параметр автопродления подписки (renew)
В качестве ответа будет JSON структура, из которой нужно сохранить ID подписки и дату окончания, если она вам нужна.
ПРОВЕРКА ТЕКУЩИХ ПОДПИСОК ПОЛЬЗОВАТЕЛЯ
Получить список текущих подключенных подписок пользователю можно с помощью метода
GET /v2/users/{user_id}/subscriptions
В качестве ответа будет JSON структура
ОТКЛЮЧЕНИЕ ПОДПИСКИ ПОЛЬЗОВАТЕЛЯ
Для отключения подписки пользователю нужно использовать метод
DELETE/v2/users/{user_id}/subscriptions/{id}
В случае успеха будет ответ
В результате этого запроса подписка закончится временем выполнения запроса.
В случае когда надо изменить срок действия подписки, например когда идёт отключение в запланированный день и время, то надо использовать метод
PATCH/v2/users/{user_id}/subscriptions/{id}
Работа с этим методом аналогична методу DELETE описанному выше.
ДОБАВЛЕНИЕ УСТРОЙСТВА ПОЛЬЗОВАТЕЛЯ
Для того что бы пользователь смог получить ссылку на поток, необходимо зарегистрировать устройство пользователя. Необходимо что бы у пользователя был минимум одно зарегистрированное устройство. Для регистрации необязательно указывать реальные данные.
Для регистрации устройства необходимо использовать метод
POST /v2/devices
Поле device_type должно содержать одно из следующих значений: tv, stb, tablet, phone, pc
В случае успешного выполнения запроса будет JSON из которого нужно будет сохранить для этого пользователя ID созданного устройства. Он содержится в теге ID (e67044b9-70a2-482d-b857-f80369c14187).
АВТОРИЗАЦИЯ ПО device_id
Теперь надо получить пользовательский токен для созданного пользовательского устройства с помощью метода
POST /v2/auth/device
В случае успеха будет JSON ответ
Из полученного ответа нужено только значение поля “access_token“. Это значение далее надо будет использовать для получения ссылки на контент запрашиваемый пользователем.
ЗАПРОС ССЫЛКИ НА СТРИМ
Теперь когда все зарегистрировано, подключено, создано и т.п. можно запросить поток.
Для запроса потока надо знать library_id, content_id запрашиваемого контента и токен пользователя, для которого получаем поток.
library_id - неизменный в рамках всей библиотеки и сообщается партнёром
content_id - содержится в файле с выгрузкой метаданных. Доступ к файлу также предоставляется партнёром.
ВНИМАНИЕ: Если JSON файл с мета-данными будет открываться в браузере, то из-за особенностей реализации java-script, ID используемые в файле могут отображаться не корректно.
Для получение непосредственно ссылки на контент надо использовать метод
GET/v2/libraries/{library_id}/contents/{id}/stream
В полученном ответе в теге hls будет содержаться ссылка на запрошенный контент, которую надо отдать клиенту на воспроизведение.