Мы уже перевели несколько крупных операторских сервисов на Python 3.9, поэтому в рамках обновления на этот релиз предлагаем вам тоже об этом подумать (планируем в скором времени перестать поддерживать Python 2.7). Переезд лучше осуществлять с помощью наших инженеров в рамках технической поддержки.
Новая интеграция рекламы от AdStream
В этом релизе обновили интеграцию с рекламным провайдером AdStream — теперь реклама от этого партнера приходит как для каналов, так и для фильмов.
Подробнее про то, как настроить рекламу, можно посмотреть в нашей документации, а за контактами и коммерческими условиями по AdStream можно обратиться к вашему менеджеру 🙂
Старый тип интеграции переименован в AdStream (old) и пока оставлен для совместимости.
Обновлена интеграция с MediaHills
В этом релизе реанимировали интеграцию с MediaHills, которая до этого была проведена аж в 2016-м году 🙂
Инструкция по тому, как воспользоваться интеграцией тут.
Фиды архивных записей для внешних интеграций
В некоторых интеграциях с медиаплатформами иногда необходимо иметь возможность отдать так называемые фиды — мета-информацию о контенте сервиса. В этом релизе мы добавили специальные пути для получения фидов по архивным записям.
Для того, чтобы фиды появились по нужному урлу, нужно проделать несколько простых шагов:
- Настроить отдачу фидов по инструкции
- Получать фиды по адресу
http://smarty.example.com/tvmiddleware/record/feed/<client_id>
Админка
- На страницу «Подборки контента» добавили новый фильтр «Тип контента» — с помощью него можно быстро найти нужные подборки при наполнении дашборда лентами.
- На страницу «Аккаунты» добавлен фильтр по его дате деактивации.
- Добавлен отдельный набор прав для управления доступом к вкладке «Виртуальные тарифы».
- Добавлена возможность массового редактирования глубины записи архива для каналов.
Новые опции для регистрации и авторизации
- Добавлена новая опция
TVMW_UPDATE_PHONE_NUMBER_ON_REGISTER, которая при попытке регистрации аккаунта на устройство, уже зарегистрированное в Smarty, не создаёт новый аккаунт, а дописывает к текущему аккаунту указанный номер телефона. - Добавлена опция
TVWM_MULTILOGIN_CREATE_DEVICEдля создания устройств при авторизации с аккаунтов с мультилогином. TVWM_REBIND_DEVICE_ON_LOGIN— при выставлении данной опции в True метод авторизации не возвращает ошибку о том, что устройство уже привязано к другому аккаунту, а вместо этого отвязывает устройство от старого аккаунта и привязывает к новому.
Помимо этого при авторизации по IP-адресу в Smarty теперь создаются привязанные устройства.
Полная документация по опциям тут.
Безопасность
- В админке в разделе «Общие настройки Client» появилась новая опция «Проверять IP адрес в TVMW API запросах с AuthKey», которая включает дополнительную проверку IP-адреса при обработке запросов с авторизацией — если авторизация была произведена с одного IP-адреса, а дальнейшие вызовы методов — с другого, то последующие запросы со старого IP-адреса будут возвращать 403.
- Добавлено ограничение при создании платежных транзакций — не более 3 транзакций за 10 минут.
- Добавлена генерация отдельного токена для
preview_urlвProgramUrl.
Доработки интеграций со START и Premier
Теперь интеграция со START дополнительно производит импорт фотографий актёров, а также доработан импорт изображений для серий сериалов и их скриншотов.
В рамках интеграции с Premier добавили импорт дополнительных жанров для фильмов и сериалов.
TVMW API
- В методы
ChannelIconListиNoAuthPortalClientChannelListдобавлены входные параметрыicon_widthиicon_height. - В метод
CameraListдобавлены поля ответаis_favoritedиpreview_url, а также возможность фильтровать камеры по признаку избранности с помощью параметраfavorited_only. - Добавлен новый метод
CameraSettingsSetдля добавления камеры в Избранное. - В методе
VideoRatingSetизменена шкала для выставления оценки с1-5до1-10#осторожносовместимость - В методе
VideoActionиз ответа убрано неиспользуемое полеresult#осторожносовместимость - В метод
PortalDashboardVideoListдобавлена возможность получения элементов для ленты «Недавно просмотренные фильмы», а также добавлены новые поля ответа:position,position_asset_id,duration,preview_url - В методы
VideoListиNoAuthVideoListдобавлен новый тип сортировки «По количеству оценок», возможность фильтрации фильмов по временному диапазону с помощью параметровyear_fromиyear_toи новый параметрgenre_any, который формирует список фильмов по принципу объединения, а не пересечения жанров - В метод
CustomerTariffSubscribeдобавлено полеtry_activateдля принудительной активации аккаунта при подключении тарифа, а также новые поля ответа, сигнализирующие о необходимости оплаты. - В методах
VideoEpisodeDetailиVideoEpisodeListтеперь в случае, если у эпизода не указанpreview_url, возвращается превью первого связанного ассета - Для программ из метода
PortalDashboardProgramListвpreviewтеперь отдается изображение 16:9, если оно имеется в исходном Epg - В метод
AccountStatusдобавлено поле ответаis_active(показывает состояние чекбокса «Активен» вне зависимости от подключенных тарифных планов) - В ответ метода
SelectionDetailдобавлено получение позиции программы, на которой остановились при её просмотре - Эпизоды в методе
VideoEpisodeListтеперь сортируются в соответствии с полемsort - Методы
CustomerTariffListиCustomerTariffSubscriptionCostтеперь возвращают полную стоимость тарифа в случае, если количество дней до следующего продления аккаунта больше периода тарифа - Метод
ChannelListLastтеперь не возвращает каналы, если доступа к стрим-сервисам у пользователя больше нет - Добавлены поля
iconиicon_tvв ответ методаGenreListиGenreListNoAuth
Billing API
- В ответ метода
AccountCreateдобавлено полеaccount_id - В ответ метода
AccountInfoдобавлены поляidиabonement - В ответ метода
AccountListдля каждого аккаунта добавлено полеabonement - В метод
AccountModifyдобавлена возможность менятьallowed_device_groups - Изменение тарифов с помощью Billing API методов теперь фиксируется в списке действий абонентов
Content API
- Добавлен новый метод
VideoListдля получения списка видео - Добавлен новый метод
ChannelListдля получения списка каналов
Постеры передач в 16:9 от EpgService
Постеры формата 4:3 старят внешний вид интерфейса приложения, поэтому в этом релизе мы добавили дополнительный парсинг постеров программы передач в соотношении 16:9 — совсем скоро их можно будет увидеть в дашборде шаблона Futuristic.

Другое
- Исправление работы платежного шлюза PayPal на Python3.
- Для строки локализации
payment_comment_with_idдобавлены аргументыamount,amount_units,customer_ext_id(платёжный шлюз Stripe). - Добавлена отправка сообщений пользователю при создании абонента через дилера.
- Исправлен механизм привязки камеры к аккаунту для ситуации, когда у абонента не подключен тариф с нужным стриминг-сервисом.