Кинотеатры: импорт, подписки, отчёты
Проведён большой рефакторинг интеграции внутреннего биллинга Smarty с биллингами внешних кинотеатров, в рамках которого были исправлены некоторые неточности работы списаний, подписок, а также убраны ограничения на добавления нескольких кинотеатров в один тарифный план. #осторожносовместимость
Поэтому всем операторам, использующим интеграции с внешними кинотеатрами, а особенно тем, у кого вместе с этим используются кастомные скрипты интеграции с их биллинговыми системами — рекомендуем сразу после обновления перепроверить все механизмы, связанные с покупкой подписки на фильмы, а также закрытием подписки. Ниже прилагаем настройки, которые возможно потребуется изменить, в случае проблем:
- обязательно проверьте на странице интеграции в админке список тарифов, привязанных к кинотеатру — с этого релиза этот список един и за то, доступен ли будет просмотр фильма при подключении данного тарифа, отвечает тип доступа этого тарифа:
 

- если вы используете свой, переписанный API handler class для интеграции с кинотеатром, то обратите внимание, что методы 
subscribe_svodиunsubscribe_svodбыли переделаны и вам следует обратиться к нам в техническую поддержку для актуализации вашей интеграции. 
PREMIER
- исправлена ошибка, возникающая из-за слишком длинного описания фильма при импорте;
 - для фильмов Premier теперь также импортируются рекламные баннеры.
 
START
- добавлена новая опция импорта фильмов 
-update_actorsдля возможности обновления фотографий актёров. 
MEGOGO
- возобновлена поддержка импорта фильмов от MEGOGO;
 - исправлено дублирование транзакций при покупке фильмов;
 - исправлена работа интеграции с несколькими 
service_id. 
Отчёты
- Добавлен новый отчёт по тарифам, с помощью которого можно узнать, сколько абонентов пользовались тем или иным тарифом в указанном периоде.
 

- Добавлен отчёт по кинотеатру PREMIER, чтобы подсчитать количество подписок на данный кинотеатр в указанном периоде.
 

- Исправлены мелкие неточности при генерации отчёта для START.
 
Kinopoisk API Unofficial
- Теперь парсер меты фильмов 
kinopoisk_api_unofficialявляется парсером меты по умолчанию, поддержка старого парсера Кинопоиска отключена. - При импорте актёров реализован пропуск фотографий-заглушек, чтобы на стороне портала для таких актёров подставлялась заглушка, предусмотренная дизайном приложения.
 - Добавлено ограничение на длину при парсинге описания фильма.
 - При реимпорте меты фильма старые описания и изображения удаляются только если они будут заменены новыми данными.
 - Реимпорт меты для актёров заполняет данные только для новых актёров и актёров без фотографий.
 
Оптимизации
- При добавлении/удалении/изменении каналов и тарифов теперь флаг необходимости перезапросить список каналов в приложении присылается только абонентам, у которых была активность в недавнее время.
 - Добавили новую опцию 
RQ_CHANNEL_LIST_CHANGED_JOB_TIMEOUT, с помощью которой можно увеличить максимальное время работы очереди выставления флага обновления списка каналов для аккаунтов. - Проведена оптимизация метода поиска передач, добавлено дополнительное кеширование.
 
Новые опции конфигурации
- Добавлена новая опция 
TVMIDDLEWARE_LOGIN_TYPE_PRIORITY_ORDER, с помощью которой можно задавать порядок проверки типа аутентификации аккаунта при авторизации. - Новая опция 
TVMW_REGISTRATION_DEFAULT_TARIFFS_LOCATION_FILTERпозволяет включить игнорирование фильтров геолокации при регистрации. - Новая опция 
TVMW_VIDEO_LIST_SEARCH_BY_RELEVANCEпозволяет включить учёт пробелов и позицию поисковой строки в названии фильма. 
Рассылка сообщений
- Исправлена ошибка, из-за которой сообщение на экран телевизора отправлялось в любом случае, вне зависимости от чекбокса, отвечающего за его отправку.
 - Для команды удаления старых сообщений 
clean_old_messagesдобавлены параметры, с помощью которых можно более точно регулировать время очистки сообщений. 
Админка
- Исправлена работа фильтра «Доступно для User-Agent» на странице устройства — теперь в него можно указать подстроку из искомого User-Agent.
 

- На страницу списка актёров добавлены дополнительные фильтры по стране, полу и году рождения.
 

- В настройку групп прав пользователей добавлены отдельные права на вкладку «Режиссёры».
 

- Для мультиоператорских Smarty исправлена проблема, из-за которой в некоторых формах отображались лишние типы устройств, принадлежащие смежным Client.
 - Для мультиоператорских Smarty при смене Client теперь присходит автоматический переход на главную страницу.
 - Поправлено отображение прогресс-бара при импорте каналов в Smarty из файла.
 
Рефакторинг подписочной модели биллинга (ПМБ)
- Оптимизация работы служебной команды 
check_accountsдля ПМБ для случая независимых подписок. - Исправлена работа промокодов с типом «Бесплатная активация тарифа» для ПМБ, а также отдельно для случаев, если по промокоду подключаются тарифы с внешними кинотеатрами.
 - Добавлен принудительный сброс кеша аккаунта при применении промокодов на активацию тарифов, чтобы результат применения мгновенно отображался в приложении абонента.
 - Внесены исправления в механизм создания транзакций при при подключении тарифов: деньги с баланса абонента не списываются при подключении тарифов через админку и через Billing API, в остальных случаях списания происходят. Исключением являются тарифы с подключенной интеграцией MEGOGO, в которой можно явно выставить чекбокс о том, что списывать деньги с баланса пользователя при подключении не нужно.
 
Новое в подборках
- Появилась возможность выставлять сортировку для элементов подборки:
 

- В команду формирования подборки «Популярные передачи» create_epg_selection_by_popularity добавлена возможность выбирать определенные категории каналов, из передач которых строить эту подборку.
 
Постеры EPG
- Добавлен новый параметр 
TVMW_SELECTION_PREVIEW_ASPECT_RATIO, с помощью которого можно выбрать дефолтное соотношение сторон для постера, который будет являться промо-изображением для подборки. Актуально для шаблона Redmax, так как там используются одновременно постеры разных соотношений сторон. - Опция TVMW_EPG_DEFAULT_ASPECT_RATIO теперь также актуальная и для метода 
PortalDashboardProgramList, который используется для ленты передач в дашборде. - Добавлены новые опции 
TVMW_EPG_PREVIEW_MAX_WIDTH_16_9иTVMW_EPG_PREVIEW_MAX_HEIGHT_16_9для указания размера сжатия для постеров EPG. 
TVMW API
- Добавлен новый метод 
CustomerBalance, который можно использовать для получения баланса вместоCustomerInfo, так как он более быстрый и производительный. - Исправлена работа метода 
NoAuthVideoUrl, теперь он возвращает трейлер фильма также и для внешних кинотеатров. - В методах 
SelectionDetailиNoAuthSelectionDetailпараметрlimitтеперь также влияет на подборки передач. А также при отдаче фильмов в рамках этих методов теперь учитываются фильтры устройств в настройках внешних интеграций. - Исправлены ошибки в документации многих методов, например, в 
CustomerTariffList,CustomerInfo,AccountTariffList,VideoDetail. 
Content API
- Исправлены неточности в документации метода 
VideofileCreate. - При передаче параметра 
load_metaв методVideoModifyтеперь также обновляются и жанры, помимо этого не затираются поля в Smarty, если от Кинопоиска приходит None. 
Billing API
- В методы 
AccountCreateиAccountModifyдобавлен новый входной параметр для передачи шаблона интерфейсаtemplate. 
Другое
- Для платежного шлюза Stripe была добавлена поддержка открытия платежной формы с помощью QR-кода.
 - Исправлены ошибки совместимости Python в интеграции с Astra.