Логирование пользовательских просмотров

Информация по просмотрам видео

Параметры запроса:
  • id - идентификатор фильма/сериала/и тд

  • [video] - номер видео, начинается с 1. Если отсутсвует выводятся все видео.

  • [season] - номер сезона, присутсвует только у сериалов, начинается с 1. Если отсутсвует, выводятся все сезоны.

Запрос:

GET https://api.service-kp.com/v1/watching?id=123

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    'status' => 200,
    'item' => {
        'id' => 123,
        'title' => 'Item title',
        'type' => 'serial',

        // В зависимости от типа контента данная часть может меняться
        // Для сериалов
        'seasons' => [
            {
                'id': 432,
                'number': 1,
                'status': -1, // Статус просмотра сезона: -1 не смотрели вообще, 0 - начали смотреть, 1 - просмотрели
                'episodes': [
                    {
                        'id': 4567,
                        'number': 1,
                        'title': 'Episode title',
                        'duration': 1234, // Длительность видео в секундах
                        'time': 0, // На которой секунде остановлен просмотр
                        'status': -1, // Статус просмотра эпизода: -1 не смотрели вообще, 0 - начали смотреть, 1 - просмотрели
                        'updated': 123456782 // timestamp, Когда последний раз просматривали эпизод
                    }
                ]
            }
        ]

        // Для фильмов, многосерийных фильмов и тд
        'videos': [
            {
                'id': 1234,
                'number': 1,
                'title': 'Episode title',
                'duration': 1234, // Длительность видео в секундах
                'time': 123, // На которой секунде остановлен просмотр
                'status': 1, // Статус просмотра эпизода: -1 не смотрели вообще, 0 - начали смотреть, 1 - просмотрели
                'updated': 123456782 // timestamp, Когда последний раз просматривали эпизод
            },
        ]
    }
]

Недосмотренные фильмы/концерты/документальные фильмы/3Д

Запрос:

GET https://api.service-kp.com/v1/watching/movies

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    'status' => 200,
    'items' => [
        {
            'id': 123,
            'type': 'movie',
            'subtype': '', // если многосерийный фильм - multi
            'title': 'Название',
            'posters': [
                'small': 'http://url.to/small_poster.jpg',
                'medium': 'http://url.to/medium_poster.jpg',
                'big': 'http://url.to/big_poster.jpg',
            ]
        }
    ],
]

Список сериалов с новыми/не досмотренными сериями

Параметры запроса:
  • [subscribed] - 0/1. 0 - Показывать все недосмотренные сериалы, 1 - Показывать сериалы отмеченные “Буду смотреть”

Запрос:

GET https://api.service-kp.com/v1/watching/serials

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    'status' => 200,
    'items' => [
        {
            'id': 123,
            'type': 'serial',
            'subtype': '',
            'title': 'Название',
            'posters': [
                'small': 'http://url.to/small_poster.jpg',
                'medium': 'http://url.to/medium_poster.jpg',
                'big': 'http://url.to/big_poster.jpg',
            ],
            'total': 10, // всего эпизодов
            'watched': 5, // просмотренных эпизодов
            'new': 5 // новых/недосмотренных эпизовод
        }
    ],
]

Добавление метки о просмотре

Параметры запроса:
  • id - идентификатор фильма/сериала/и тд

  • video - номер видео, начинается с 1. Если отсутсвует выводятся все видео.

  • time - Время в секундах, где остановился просмотр

  • [season] - номер сезона, присутсвует только у сериалов, начинается с 1. Если отсутсвует для сезона, выдаст исключение 404 Not Found.

Запрос:

GET https://api.service-kp.com/v1/watching/marktime?id=123&time=123&video=1

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    'status' => 200
]

Добавление сериала в список “Буду смотреть”

Параметры запроса:
  • id - идентификатор сериала

Запрос:

GET https://api.service-kp.com/v1/watching/togglewatchlist?id=123

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    'status' => 200,
    'watching' => true // false - отмечено как непросмотренные, true - отмечено как просмотренные
]

Изменение просмотрено/не просмотрено

Параметры запроса:
  • id - идентификатор фильма/сериала и тд

  • [video] - номер видео/эпизода, начинается с 1. Если отсутствует, модификации подвергаются все эпизоды сезона.

  • season - номер сезона, присутствует только у сериалов, начинается с 1.

Запрос:

GET https://api.service-kp.com/v1/watching/toggle?id=123&season=1&video=1

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    'status' => 200,
    'watched' => 1 // 0 - отмечено как непросмотренные, 1 - отмечено как просмотренные
]