Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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

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

Основные этапы

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

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

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

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

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

РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЯ

Для полноценного управления услугой/подпиской необходимо создать пользователя в платформе.
Позже созданному пользователю будут назначаться соответствующие подписки.

Общая документация по методу создания пользователя здесь: https://signaltv.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",
  "phone": "string",
  "email": "user@example.com",
  "password": "string",
  "device_limit": 0,
  "is_active": true
}

Нижеприведенный запрос создаёт пользователя с логином tele_720 и паролем 2472024. При этом устанавливается provider_uid равный 720. 720 это идентификатор пользователя у вас как у оператора (Например номер договора)

 curl запрос для создания пользователя
curl -X 'POST' \
  'https://signaltv.platform24.tv/v2/users?token=21de6432fdc13f2d78f28eebdb46960e' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRFTOKEN: 9ewDrRwnm4gDhH7rrEl4Q1o5yd4GnouM9weVEnwXlCwb8QcAeJoHWkqDY7qx21eB' \
  -d '{
  "username": "tele_720",
  "provider_uid": "720",
  "password": "2472024"
}'

В результате запроса будут возвращены данные в json формате.
В ответе будет содержаться идентификатор пользователя в платформе (ID), его необходимо сохранить и использовать для дальнейшей работы с пользователем. В данном примере ответа это “10364“

 Response code 200
{
  "id": 10364,
  "username": "tele_720",
  "first_name": "",
  "last_name": "",
  "provider_uid": "720",
  "parental_code": "0000",
  "parental_status": "notset",
  "phone": null,
  "email": null,
  "timezone": null,
  "device_limit": 5,
  "provider": {
    "id": 4,
    "name": "Telatel-PlanB",
    "proxy": null,
    "landing": {
      "logo": null,
      "url": "",
      "shortname": "Telatel",
      "login": {
        "title": "Поздравляем!",
        "description": "Услуги современного интерактивного телевидения доступны в сети Вашего провайдера! Уточните, пожалуйста, у своего провайдера логин и пароль для доступа к услуге от компании \"signaltv\""
      },
      "support": {
        "email": "",
        "phone": "",
        "url": ""
      }
    },
    "auto_auth": null,
    "is_allow_additional_packets_without_base": false,
    "free_channels_count": 100,
    "store_sources": [],
    "language": null,
    "currency": {
      "ISO_CODE": "RUB",
      "UTF_NAME": "₽",
      "ASCII_NAME": "руб.",
      "FORMAT": "{amount} {symbol}"
    },
    "phone_mask": null
  },
  "is_provider_free": true,
  "is_active": true,
  "is_testuser": false,
  "is_self_deletion_allowed": false,
  "is_validated": false,
  "is_guest": false,
  "last_login": null,
  "date_joined": "2023-04-04T10:03:06.257865Z",
  "subscriptions": [],
  "parental_dialogue": {}
}

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

В случае возникновения ошибки, в ответе будет содержаться описание ошибки

 Response code 400
{
  "detail": {
    "username": [
      "Пользователь с таким именем уже существует."
    ]
  },
  "error": {
    "message": "{'username': [ErrorDetail(string='Пользователь с таким именем уже существует.', code='invalid')]}"
  },
  "status_code": 400,
  "error_code": "invalid"
}

ПОЛУЧЕНИЕ СПИСКА ДОСТУПНЫХ ПАКЕТОВ

Список доступных пакетов и их ID можно посмотреть в панели администратора или выполнив запрос к API

POST /v2/packets

 curl /v2/packets
curl -X 'GET' \
  'https://signaltv.platform24.tv/v2/packets?token=bd21de6432fdc13f2d783ecf28eebdb46960e052' \
  -H 'accept: application/json'

В ответе вернётся структурный список содержащий все доступные для подключения пакеты.

 Response code 200
[
  {
    "id": 9,
    "name": "Телеателье Plan B",
    "row_slug": "",
    "short": "Библиотека Plan B для партнера",
    "description": "Библиотека Plan B для партнера",
    "old_price": "0.00",
    "price": "0.00",
    "base": true,
    "is_public": 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
    }
  }
]

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

ПОДКЛЮЧЕНИЕ ПАКЕТА ПОЛЬЗОВАТЕЛЮ

Зная ID созданного в Платформе пользователя и ID подключаемого пакета можно подключить пакет пользователю. Для этого используется метод

POST /v2/users/{user_id}/subscriptions

В качестве данных надо передать следующее:

  • ID пользователя в Платформе (10364)

  • ID подключаемого пакета

  • Дата и время начала действия подписки

  • Параметр автопродления подписки (renew)

 Подключение подписки пользователю
curl -X 'POST' \
  'https://signaltv.platform24.tv/v2/users/10364/subscriptions?token=bd21de6432fdc13f2d783ecf28eebdb46960e052' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRFTOKEN: NYFDQ99YklE3PSI0niBM3DbjXrOJe5dxNgnV3F9yjTUBG1N9anEp9WdRnlaATIXm' \
  -d '[{
  "packet_id": 9,
  "start_at": "2023-04-04T13:49:12.903Z",
  "renew": true,
  "is_paused": true
}
]'

В качестве ответа будет JSON структура, из которой нужно сохранить ID подписки и дату окончания, если она вам нужна.

 В случае успеха, будет ответ Response code 200
[
  {
    "id": "849505762352128683",
    "packet": {
      "id": 9,
      "name": "",
      "row_slug": "",
      "short": "Библиотека Plan B для партнера",
      "description": "",
      "old_price": "0.00",
      "price": null,
      "base": true,
      "is_public": 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-05-04T13:49:11.903000Z",
    "renew": true,
    "is_paused": false,
    "pauses": [],
    "type": "subscribe"
  }
]

ПРОВЕРКА ТЕКУЩИХ ПОДПИСОК ПОЛЬЗОВАТЕЛЯ

Получить список текущих подключенных подписок пользователю можно с помощью метода

GET /v2/users/{user_id}/subscriptions

 Получение текущих пользовательских подписок
curl -X 'GET' \
  'https://signaltv.platform24.tv/v2/users/10364/subscriptions?token=bd21de6432fdc13f2d783ecf28eebdb46960e052' \
  -H 'accept: application/json'

В качестве ответа будет JSON структура

 Список текущих подписок пользователя
[
  {
    "id": "849505762352128683",
    "packet": {
      "id": 9,
      "name": "",
      "row_slug": "",
      "short": "Библиотека Plan B для партнера",
      "description": "",
      "old_price": "0.00",
      "price": null,
      "base": true,
      "is_public": 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-05-04T13:49:11.903000Z",
    "renew": true,
    "is_paused": false,
    "pauses": [],
    "type": "subscribe"
  }
]

ОТКЛЮЧЕНИЕ ПОДПИСКИ ПОЛЬЗОВАТЕЛЯ

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

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

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

  • No labels