В релизе Smarty 2.2 подготовили новые фичи внутри модуля «Фиды», интеграцию с платежным шлюзом Viva, новый режим работы видеотеки из архива и многое другое.
Новое в модуле «Фиды»
Доработан функционал показа фидов на платформе Tizen TV.


А также добавлена поддержка ленты «Продолжить просмотр/Избранное» для Android TV.

Интеграция Smarty с Viva
В Smarty интегрирована оплата с помощью европейского платёжного шлюза Viva, родом из Греции. Данная интеграция актуальна для операторов, использующих внутренний биллинг Smarty для тарификации абонентов.
Вы давно просили нас обогатить раздел «Архив» фичами основного видеокаталога: добавлением в избранное, фильтрами по актёрам, странам, рейтингу и прочему, а также правильным и красивым распределением серий по сезонам у сериалов. Поэтому в этом релизе представляем вашему вниманию новый режим показа архивных записей — Видеоархив.
В этом режиме специальная команда make_vodpvr создаёт объекты Video на основании прошедших передач с архивной записью. Перечислим особенности работы нового режима по сравнению со старым:
- так как команда создаёт именно объекты Video, то в интерфейсе такие архивные записи выглядят именно как фильмы и сериалы из обычного каталога: с вертикальными постерами и прочей кинотеатровой метой (при наличии данной графики в EPG-источнике)
- такие записи можно подмешивать в общий каталог с фильмами и не акцентировать внимание абонентов, что это записи с каналов (хотя по рекламным вставкам это всё равно будет понятно) — например, сейчас их можно подмешать в Кинозал в интерфейсе Sibseti с помощью новой опции
show_archive_in_vod_screen.

- объекты этих архивных фильмов создаются менеджмент-командой, поэтому «на лету» передача не будет появляться в каталоге, только после очередного запуска команды — это делает новый режим архива более отзывчивым, чем предыдущий
- распределение серий и сезонов для архивных сериалов формируется на основании мета-информации, указанной в EPG-источнике



Внутренняя видеотека
- Добавлена новая команда
remove_invalid_actorsдля очистки актёров, к которым не привязано ни одного фильма. - Добавлена настройка
TVMIDDLEWARE_TMDB_IMPORT_LANGUAGE, определяющая язык импорта из базы меты TMDB. - В парсере меты из Кинопоиска добавлена обработка исключения при некорректной заглушке фотографии актера — в этом кейсе парсинг теперь продолжается, пропуская битую картинку.
- У фильмов появилось поле «Короткое описание», которое заполняется из внешних кинотеатров, Content API и других баз меты контента.
- Появилась команда
clean_duplicated_genresдля поиска и очистки дублированных жанров, которые могли появиться при импорте из разных внешних кинотеатров. Команда ищет дубли, отвязывает от них фильмы, привязывает их к «оригинальным» жанрам и затем удаляет дубликаты.
Интеграции Smarty с кинотеатрами
Интеграция с биллингами кинотеатров
Интеграции с кинотеатрами START и Viju помимо синхронизации каталогов контента также содержат механизмы создания подписок в биллинговых системах кинотеатров. В рамках этого релиза сценарий интеграции в разрезе биллинга был скорректирован для будущей реализации триальных и акционных подписок. Что изменилось с точки зрения использования интеграций:
- появилась новая обязательная менеджмент-команда
check_video_subscriptions, которая выполняет продление и закрытие подписок на стороне внешних кинотеатров (актуальна для операторов, использующих стандартную логику биллинга — не подписочную); - ранее на стороне кинотеатров создавались бесконечные подписки и закрывались в момент отключения тарифа или деактивации аккаунта на стороне Smarty, сейчас создаются подписки на период, указанный в тарифе с кинотеатром и при необходимости продляются на такой же период командой
check_video_subscriptions; - исключением являются операторы, использующие внутренний биллинг Smarty для продления и деактивации аккаунтов (команда
check_accounts) — в их случае подписки во внешних кинотеатрах опираются на поля «дата продления» и «дата деактивации» у аккаунта, но также продляются командойcheck_video_subscriptions(рекомендуется запускатьcheck_video_subscriptionsсразу послеcheck_accounts).
PREMIER
- Новые опции
--load_actor_meta_from_mdbи--reimport_actorsу командыpremier_sync_contentдля возможности загрузки данных об актёрах из сторонней базы меты контента. - Добавлено сохранение порядковых номеров сезонов и эпизодов.
START
- Для актёров кинотеатра START в рамках опции
--update_actorsкомандыcinema_start_sync_contentтеперь скачиваются фотографии актёров с соотношением сторон 2:3. - Подборки кинотеатра START теперь не дублируются, в случае изменения её названия со стороны кинотеатра — для корректной работы нового механизма рекомендуем очистить старые загруженные подборки.
- Внесены исправления в механизм отправки статистики просмотров в кинотеатр START.
- Добавлены дополнительные попытки на скачивание изображений в случае недоступности API START.
- Обновлена команда
cinema_start_resync_subscriptionsпроверки синхронизации подписок между Smarty и START. - Добавлено сохранение порядковых номеров сезонов и эпизодов.
TVMW API
- Метод
CustomerTariffListтеперь учитывает доступность по IP и по регионам при вычислении списка доступных абоненту тарифов. - Ранее в методе
Loginдля неактивного аккаунта в качестве status_reason возвращалась пустая строка, теперь возвращается статусINACTIVE. - На вход методу
ContentPositionSetдобавлены вспомогательные поляdurationиis_viewed, при их передаче метод не обращается к постоянной БД для вычисления просмотренности для видеофайла, что положительно сказывается на нагрузке. - Добавлен новый метод
AccountSettingsChannelInfoдля получения информации о настройках аккаунта в отношении каналов: избранные каналы, скрытые, каналы с родительским контролем. - Оптимизирована работа метода
VideoRatingSet. - Добавлено поле
short_descriptionв ответ методов Video. - В методе
PortalDashboardVideoListв качестве пустого значения поля duration теперь используется 0 вместо пустой строки. - В ответ метода
VideoEpisodeListдобавлено полеnumber. - Добавлен новый входной параметр
merchant_typeв метод PaymentQRCode. - Добавлен новый метод
CustomerPaymentInfoдля получения детализации платежа. - На вход методов
GenreListиNoAuthGenreListдобавлен параметрsource_type. - Сокращён объём кеша для подготовки ответа метода
CameraList. - В методах поиска
VideoListиChannelListSearchреализован несенситивный поиск по e/ё — в результатах поиска будут отражаться результаты по обеим буквам вне зависимости от той, которая была передана в качестве поисковой комбинации. - Исправлена инвалидация кэша в методе
ProgramUrlпри изменении передачи с помощью точных меток.
Billing API
- Добавлено поле
metaна вход методовCustomerCreateиCustomerModify. - В 2 раза сокращено время работы метода
CustomerList. - На вход метода
TransactionCreateдобавлен параметрcustomer_ext_id.
External API
- Добавлены новые методы для возможности переопределения:
get_tariff_price,get_payment_sumиget_payment_sum_no_discount.
Content API
- Добавлены входные параметры
short_descriptionиad_banner_imageв методахVideoCreateиVideoModify. - Добавлен новый метод
VideoDetailдля получения фильма поid. - В методе
ActorCreateактёр теперь не создаётся, если его фотография недоступна для загрузки. А также добавлен новый входной параметрphoto_urlдля загрузки фото актёра по URL.
Новое в админке Smarty 2.2
- В «Каталог приложений» добавлен фильтр по шаблону.

- На страницу списка фильмов добавлен фильтр по источнику.

- На страницу устройства добавлено поле «Версия сборки», которое заполняется со стороны портала для Android STB.

- Добавлена кнопка «Создать несколько» для сезонов сериала.


- На страницу списка аккаунтов добавлен новый фильтр «Показать только неактивные».

- Обновлён фильтр по каналу для ленты дашборда «Передачи» — теперь для ленты можно точечно выбрать конкретные каналы, а не только один.

- А также добавлены новые фильтры для ленты «Фильмы»:

- Добавлена опция
UPDATE_CHANNEL_LIST_CHANGE, которая при значении False не инициирует обновление списка на абонентских устройствах при удалении/добавлении каналов в админке. - Исправлено отображение кнопки массового редактирования на странице «Настройки STB и приложений»
- На странице фильма текстовые поля «URL постера» и «URL скриншота» теперь используются только для автоматической заливки изображений из внешних источников — после успешного сохранения и скачивания они обнуляются.
- Проведена оптимизация экспорта списка видео в файл.
- Добавлен функционал удаления графиков для раздела «Статистика».
- В служебной админке Smarty появилась возможность изменять имя оператора, фигурирующее при отправке сообщений в SMS-шлюзе smsc.ru.
Другое
- Добавлена поддержка работы платформы на OS Debian 12 (Bookworm).
- Добавлен новый параметр
LOG_REQUEST_TIME, при включении которого в логи запросов к Smarty добавляется параметр runtime — время выполнения запроса. - Для стрим-сервисов с типом маршрутизации «Python-скрипт» добавлена возможность использовать библиотеку
feedparserвнутри этого скрипта. - Добавлена новая опция конфигурации
TVMW_CHECK_STATUS_REASON_ON_LOGIN, с помощью которой можно выключить проверку дополнительного статуса аккаунта во время авторизации. - Проведена оптимизация работы отчёта по рекламе.
