Этот релиз выдался коротким, ведь мая практически не было из-за праздников, а много апрельского времени мы посвятили кастомным доработкам, но тем не менее в него вошло много важных изменений 🙂
И ещё этот релиз ознаменован для нас радостным событием — мы прекращаем поддержку Python версий 2.x. Почему радостным? Долгое время мы поддерживали сразу обе версии языка и это увеличивало вдвое время тестирования новых фич, а также усложняло разработку — поэтому отказ от старой версии языка позволит нам вздохнуть свободнее и нарастить темп появления этих самых фич 🙂
Что делать тем, кто ещё не успел перейти на Python 3.x? Если ваш тариф тех.поддержки включает обновления нашими инженерами, то просто сделайте тикет и мы сами переведем вас на новую версию языка вместе с очередным обновлением, если нет, то обратитесь к своему менеджеру и мы придумаем, как лучше провести эти работы.
Внешний биллинг и кинотеатр START
В этом релизе мы переработали наши биллинговые механизмы взаимодействия при покупке подписок START, чтобы сделать процесс его внедрения оператору максимально прозрачным. Сам модуль START внутри Smarty настраивается в несколько шагов и не требует особенных вложений времени и сил, но многих интересует, как подружить его с операторской инфраструктурой так, чтобы подписка на фильмы покупалась из интерфейса приложения, а событие об этом приходило во внешний биллинг. Для ответа на этот вопрос мы подготовили демонстрационный скрипт ExternalAPI-интеграции в нашем публичном репозитории, по примеру которого можно внедрить в сценарий покупки подписки дополнительные действия по обращению к внешней системе — например, отправить в биллинг оператора событие о подключении соответствующего тарифного плана.
Прочие изменения по кинотеатрам и видеотеке
Помимо этого теперь для фильмов START во время импорта подгружается дополнительная графика — широкоформатный рекламный баннер, который используется в некоторых наших интерфейсах приложений. Сама команда импорта фильмов cinema_start_sync_content
обзавелась новым параметром --remove_outdated
, при указании которого из каталога удаляются неактуальные фильмы, которых уже нет в каталоге на стороне START. Внутри Smarty теперь помимо актеров появилась новая сущность «Режиссер», с помощью которой в интерфейсе Sibseti уже реализована лента «Другие фильмы этого режиссёра». И ещё одна доработка для видеотеки — появилась новая команда для подготовки списка стран, по которым можно фильтровать фильмы в интерфейсе — cache_video_country_list
.
Реклама
- Добавлена обработка усеченного
vast
, невозвращающего полеwidth
для видеофайлов. - В случае отсутствия страны у аккаунта для таргетирования рекламы теперь она берется из ip_location.
- Для провайдера AdStream добавлено транслирование
User Agent, IP, X-Serial-Number и X-Hwid
клиентского устройства. - Добавлен новый тип рекламного провайдера — Инетра.
EPG
- Исправлено конвертирование возрастного рейтинга передач при их загрузке из Epg-источника — теперь парсер учитывает «+».
- При отсутствии в источнике EPG категории у передачи, ей проставляется передача, указанная у канала в админке Smarty — это позволяет распределять передачи внутри раздела «Архив» даже при бесплатном источнике Epg с ограниченным количеством мета-информации.
TVMW API
- В ответ методов
CustomerTariffList
иCustomerInfo
для тарифа добавлены 2 новых поля:icon
иicon_tv
. - Метод подтверждения номера телефона внутри
CustomerInfoSet
теперь по умолчанию тот, который указан в настройках Client. - В метод
SelectionList
добавлены новые входные параметрыcontent_type
,video_provider_id
,order
,limit
. - В метод
NoAuthPortalClientChannelList
добавлены новые поля ответа, связанные с информацией о текущей передаче на каналах. - Метод
CategoryList
теперь дополнительно возвращает поляicon_url
иicon_tv_url
. - Добавлен новый метод
NoAuthDeviceExists
для проверки того, зарегистрировано ли уже такое устройство в Smarty. - Метод
Login
теперь всегда возвращаетerror=6
, если был передан уже зарегистрированный номер телефона. - В
VideoDetail
для трейлера теперь корректно отдаётся полеduration
.
Content API
- Во входные параметры методов
VideoCreate
иVideoModify
добавлены поляis_season
иis_announcement
. - Во входные параметры методов
CameraCreate
иCameraModify
добавлен параметрpreview_url
. - В ответ метода
ChannelList
добавлено полеcount
, а во входные параметры —id_for_stream_service
.
External & Billing API
- Метод AccountDeviceCreate теперь возвращает корректную ошибку при неверном
system_name
. - В TVMW методе Login реализована возможность аутентификации аккаунта по смс через внешний биллинг с помощью вебхука
auth_by_phone
.
Админка
- Исправлено отображение Online на странице списка аккаунтов.
- Теперь при загрузке актера берется не первый из списка, а тот, у которого в фильмографии есть искомый фильм. Также теперь можно искать актёра не только по имени, но и по оригинальному имени.
- Поправлено отображение dropdown-menu в верхней панели админки.
- Добавлена фильтрация аккаунтов и абонентов по обработчику биллинга.
- Камере добавлена возможность прописывать внешний URL до превью в админку — если у вас есть динамическая ссылка на последний скриншот камеры из Live, то с помощью этой ссылки можно увидеть в интерфейсе всегда актуальное состояние камеры.
Другое
- Добавлена новая опция
TVMW_UPDATE_IP_IN_REALTIME
в конфигурацию Smarty, которая включает обновление IP и геолокации у аккаунта при любых API-запросах. - Исправлена проблема с доступом к камере через прямую привязку камеры к аккаунту.
- Исправлена работа опции
TVWM_MULTILOGIN_CREATE_DEVICE
.