Этот релиз выдался коротким, ведь мая практически не было из-за праздников, а много апрельского времени мы посвятили кастомным доработкам, но тем не менее в него вошло много важных изменений 🙂
И ещё этот релиз ознаменован для нас радостным событием — мы прекращаем поддержку 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.