December 10, 2024

Релиз 222

❄️😷 За последние две недели мы сделали многое: активно готовились к розыгрышу, завершили несколько важных проектов и запустили новые тарифы. В нашем релизе — только самое интересное и полезное. Читайте, вдохновляйтесь, а главное — берегите себя и не болейте!

Мобильное приложение
Store Безлимит v 1.23.0

🚀 Новая версия приложения скоро будет доступна в маркетах 👉📱!

  • Ввод номера стал проще и удобнее.
  • Отображение трек-номера — чётче некуда.
  • Иконки теперь сами меняются на темную версию, если включен ночной режим 🌙.
  • А еще убрали поиск кодов розыгрыша для тех, у кого шансов все равно нет.

Обновляйтесь скорее, чтобы все это попробовать! 😊

222.01 Обновили Flutter до версии 3.24

Обновили версию Flutter до 3.24.

Flutter — это инструмент от Google для создания приложений, которые работают на разных устройствах с одним кодом. Обновления Flutter важны, потому что они добавляют новые функции, исправляют ошибки и улучшают производительность, поддерживают совместимость с новыми версиями операционных систем, увеличивают безопасность приложений и обеспечивают актуальность с последними трендами и практиками в разработке.

Задача инициирована проектным отделом.

222.02 Окно обязательного и необязательного обновления

Теперь мы получаем текст описания версии приложения с сервера. Когда мы отправляем запрос на сервер для проверки актуальности приложения, сервер возвращает новый параметр — описание.

Также в мобильном приложении добавлена поддержка смайлов для красивого отображения текста.

Задача инициирована проектным отделом.

222.03 Переименовали статус номера, подключенного по акции, на «Закреплен по НПС»

Ранее в приложении Store Безлимит в разделе «Мои Бонусы» активированные дилером номера, а затем закрепленные по акции «Приведи друга +20%», после отмены бонусов отображались с пометкой «Перевыпущен».

Однако это определение не отражало настоящий статус номера. В рамках задачи внесли изменения: теперь эта категория номеров обозначается как «Закреплен по НПС», что более точно отражает их состояние.

Обновили отображение информации в мобильном приложении в разделе «Мои бонусы»:

  • Если номер подключен по акции «Не плати за связь», отображается текст «Закреплен по НПС».
  • Если номер перевыпущен, сохраняется прежнее обозначение «Перевыпущен».

Задача инициирована проектным отделом.

222.04 Отображение начислений дилеров и возможность создания сети

Ранее партнеры компании не могли видеть в виджете «Мои бонусы» информацию о начислениях от дилеров, а также раздел «Мои дилеры» был скрыт.

Доработали отображение информации о дилерах и начислениях за них. Изменения коснулись следующих разделов:

  • Главная страница, блок «Мои дилеры»
  • Главная страница, блок «Пригласить пользователя»
  • Виджет «Мои бонусы» на Главной странице
  • Меню «Еще» → «Мои дилеры»

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

Задача инициирована отделом продаж.

222.05 Widget-тесты и integration-тесты

Для ускорения процесса регресс-тестирования приложения Store Безлимит внедрили два типа тестов: widget-тесты и integration-тесты.

Widget-тесты — это вид тестирования, который фокусируется на проверке визуальной части приложения. Они используются для проверки корректного отображения интерфейса, например, верстки, элементов управления и дизайна. Эти тесты помогают убедиться, что элементы приложения правильно отображаются на различных устройствах.

Мы используем widget-тесты для экранов «Главная», «База номеров» и «Мои бонусы». Тесты проводятся на самых популярных моделях смартфонов, чтобы обеспечить корректность отображения на различных устройствах.

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

В integration-тестах мы сосредоточились на следующих аспектах:

  • Авторизация: проверка ввода специальных символов и букв в поле для номера телефона.
  • Отправка повторных запросов: при отправке запроса кнопка становится неактивной и не позволяет повторно отправить запрос, пока не получен ответ от сервера.

Эти меры помогают гарантировать, что приложение будет работать надежно и без сбоев.

Задача инициирована отделом тестирования.

222.06 Все поля для ввода номера телефона

Ранее для ввода номера телефона в разных разделах приложения использовались различные подходы. Теперь мы объединили все поля для ввода номеров в единый функционал.

В рамках задачи переработали модуль ввода номера во всех ключевых местах, а именно:

  • Вход в приложение
  • Регистрация
  • Пополнение номера
  • Доставка
  • Смена номера в Профиле
  • Приглашение пользователя

Теперь, если пользователь вставляет номер телефона из буфера обмена, и длина введенной последовательности превышает 10 цифр, то лишние символы удаляются до тех пор, пока не останется ровно 10 цифр. Все символы, кроме цифр, также удаляются.

Если первым введенным символом является 7 или 8, поле остается пустым. Первым символом нужно вводить цифру 9. В противном случае будет выдана ошибка. При вводе любые символы, кроме цифр, не будут отображаться в поле.

Пример:

Если пользователь вводит первыми символами цифру 9, отображается +7 (9).

Задача инициирована отделом продаж.

222.07 Доработка трек-номеров в разделе «Мои доставки»

В рамках задачи улучшили функцию отображения трек-номера. Теперь при нажатии на трек-номер открывается новая вкладка с сайтом для отслеживания статуса доставки, избавляя пользователя от необходимости вручную вводить трек-номер и номер телефона.

Когда пользователь впервые переходит в раздел «Мои доставки», рядом с трек-номером появляется подсказка, которая остается видимой в течение 10 секунд. Аналогично такая же подсказка появится рядом с кнопкой «Скопировать», которая также будет отображаться в течение 10 секунд.

Теперь, чтобы скопировать ссылку на сайт отслеживания, достаточно нажать на кликабельную кнопку рядом с трек-номером. При этом появится уведомление, подтверждающее, что данные были успешно скопированы.

Эти изменения сделают процесс отслеживания доставки более удобным для пользователей.

Задача инициирована отделом продаж.

222.08 Иконки приложения для темной темы

В iOS появилась возможность менять цвет иконок приложений для соответствия темной теме. Теперь это стало доступно и на Android.

Реализовали функцию автоматической подмены иконок приложения при переключении устройства в ночной режим. Этот функционал теперь доступен как для пользователей iOS, так и для пользователей Android, что позволяет им адаптировать интерфейс под свои предпочтения и условия освещения.

Теперь иконка приложения Store Безлимит будет выглядеть стильно и гармонично в любое время суток!

Задача инициирована отделом продаж.

222.09 Скрыли поиск кодов розыгрыша для пользователей без шансов

Ранее возникла проблема с тем, как отображался поиск шансов в разделе «Розыгрыш». Если у пользователя не было активных шансов в текущем розыгрыше, отображался поиск кодов розыгрыша, хотя этот функционал должен быть доступен только после генерации кодов.

Чтобы решить эту проблему, скрыли поиск кодов розыгрыша для всех пользователей до начала их генерации.

Задача инициирована отделом тестирования.

222.10 Передача часового пояса с использованием Accept-Datetime

Реализовали функцию отправки часового пояса с использованием заголовка Accept-Datetime при любых обращениях к API. Данные будут передаваться в стандартном формате.

Пример заголовка: Accept-Datetime: 2024-11-25T14:30:00+03:00

Формат даты и времени представлен следующим образом: YYYY-MM-DDTHH:MM:SS+03:00.

Ранее в Store Безлимит партнеры сталкивались с трудностями, связанными с различием часовых поясов, что не позволяло им корректно отслеживать оставшееся время до окончания бронирования, а также начало или завершение розыгрыша. Это создавало неудобства и путаницу в планировании. Реализация задачи исключает такие ситуации.

Задача инициирована проектным отделом.

222.11 Таймер удаления брони

Ранее, когда истекало время бронирования номера, вместо таймера появлялся текст «В процессе удаления». Также отображался дополнительный таймер на 15 минут, который работал после окончания основного времени бронирования.

Теперь после окончания основного времени отображается таймер, показывающий оставшееся время до момента удаления номера из резервации — это те же 15 минут.

Если время до момента удаления номера из резервации меньше текущего времени и таймер достигнет 0, на экране появится надпись «В процессе удаления».

Задача инициирована проектным отделом.

Веб-версия Store Безлимит

222.12 Переделали логику API в разделе «Брони и активации»

По запросу отдела продаж и на основе отзывов дилеров стало очевидно, что многие из них испытывают трудности в понимании текущего функционала привязки главного номера по акции «Не плати за связь» через раздел бронирования. Реализация задачи направлена на решение этой проблемы.

В рамках задачи доработали страницы «Мои активации» и «Профиль», куда добавлена кнопка «Подключить скидку».

Страница «Мои активации»

К активированным номерам добавили кнопку «Подключить скидку». Теперь партнер сможет во вкладке «Активации» находить номера клиентов и активировать номера их друзьям, при этом предоставляя клиенту скидку на связь по акции «Не плати за связь» — 20% от тарифа, на который подключился друг.

После нажатия на кнопку произойдет переход в Базу номеров с PRO-фильтрами, и в верхней части страницы появится выбранный номер НПС, аналогично странице бронирования. Вместо иконки турбоброни будет отображаться иконка завершения бронирования по акции НПС.

При нажатии на номер дилер перейдет в раздел редактирования резервации с использованием стандартной механики.

Если дилер нажимает на иконку НПС (вместо турбоброни), происходит быстрое бронирование номера с дополнительными данными.

В случае нажатия на кнопку «Отменить бронь», пользователь будет возвращен в Базу номеров, и бронирование будет сброшено.

При нажатии на стрелочку «Назад» пользователь вернется в Базу номеров с указанным номером НПС и сможет выбрать другой номер для бронирования. Если номер НПС был изменен в процессе редактирования, возвращение будет осуществляться с новым номером.

Если пользователь покинул Базу номеров, не завершив бронирования, главный номер для прикрепления по акции будет удален из памяти.

Также в рамках задачи поменяли фоновое изображение в Базе номеров. Фоновое изображение теперь размером с экран, а контент прокручивается.

Страница «Профиль»

В разделе «Профиль» рядом с полем «Номер телефона» теперь отображается кнопка «Подключить скидку». Если кнопка не отображается, значит, номер телефона дилера не оператора Безлимит или он не подтвердил номер в Профиле.

При нажатии на эту кнопку дилер будет перенаправлен в Базу номеров, и в верхней части страницы в отдельном поле появится выбранный номер НПС, как на странице бронирования. Вместо иконки турбоброни будет отображаться иконка завершения бронирования по акции.

При нажатии на номер или иконку НПС дилер перейдет в раздел редактирования резервации со стандартной механикой.

Если дилер нажимает на кнопку «Отменить бронь», он возвращается в Базу номеров с указанным номером НПС, где возможно выбрать другой номер для бронирования.

Если дилер выходит из Базы номеров, не завершив бронирования, главный номер для прикрепления по акции НПС будет удален из памяти.

После активации номера дилер получит скидку на связь в размере 20% от тарифа, на который он включил новый красивый номер клиенту.

Задача инициирована отделом продаж.

222.13 Оптимизация бронирования номеров на 1 час

В Базе номеров выявили проблему с отображением доступного времени бронирования для тех номеров, резервирование которых возможно всего на один час.

В рамках задачи внесли изменения, которые устранили эту проблему. Теперь корректное возможное время бронирования отображается для всех номеров. При турбобронировании номера на один час также отображается корректное время бронирования.

Задача инициирована отделом тестирования.

Мобильное приложение
Безлимит

222.14 Рефреш в разделе «Услуги»

Ранее в разделе «Услуги» возникала проблема с бесконечной загрузкой, когда на экране появлялся индикатор загрузки, но ничего не происходило. После проведенных работ и внесенных изменений процесс загрузки работает корректно.

Задача инициирована отделом тестирования.

Веб-версия Личного кабинета

222.15 Создали новый метод user/migrate

В рамках задачи по миграции аккаунтов при смене номера телефона в Store Безлимит было принято решение изменить ID ЕСА для аккаунта Личного Кабинета (ЛК) в случае, если номер Безлимит отвязывается. Для этого разработали новый метод, который будет принимать два параметра: старый ID ЕСА (old_user_id) и новый ID ЕСА (user_id).

Для реализации этой задачи создали специальный метод, который позволяет менять user_id пользователя ЛК во всех сервисах.

Задача инициирована проектным отделом.

222.16 Генерация бонусных шансов в процессе накопления шансов. Убрали удвоение в последний день розыгрыша

Ранее пользователи Личного кабинета сталкивались с непониманием того, почему удвоение шансов происходит в последний день розыгрыша. Блок с сообщением «Все твои шансы теперь X2» выглядел иначе, чем обычные шансы, что вызывало путаницу.

В рамках задачи создали новую таблицу lottery_chance_child, в которой есть два основных поля:

  • parent_id — главный шанс;
  • child_id — дочерний шанс.

В Базе данных установили связь между главным и дочерним шансом: если шансы не совпадают, то это главный шанс. Если они одинаковы, то это дочерний шанс.

Теперь при запросе информации о шансах через /lottery/phones с параметром expand == chances, данные выводятся следующим образом:

  1. Главный шанс.
  2. Дочерний шанс.
  3. Снова главный.
  4. Снова дочерний.

Таким образом, становится намного понятнее, какой шанс главный, а какой — дочерний.

Задача инициирована проектным отделом.

222.17 Логика для параметра chance_cnt. Показываем +2 при выполнении бонусных действий

Реализовали новую логику для параметра chance_cnt в методе GET /lottery/phones. По умолчанию каждому действию присваивается значение 1.

Теперь, когда мы проверяем выполнение бонусных действий с использованием метода GET /lottery/phones и расширения bonuses, принимаем во внимание следующие условия:

  • Если у пользователя номер подтвержден на Госуслугах (has_esia),
  • Если пользователь авторизован в мобильном приложении (has_mobile_app),
  • Если у пользователя есть активная подписка на наш телеграм-канал (has_telegram),

тогда значение chance_cnt удваивается, и для каждого действия будет установлено равное 2. Это значит, что мы удваиваем все шансы пользователей на победу в розыгрыше.

Если хотя бы одно из этих условий становится неактивным, возвращаем параметр chance_cnt к его исходному значению, то есть находимся снова на уровне обычных шансов.

Задача инициирована проектным отделом.

222.18 Иконка для бонуса

В рамках задачи обновили информацию о бонусе, добавив иконку и название.

Теперь, когда пользователь выполняет бонусное действие — такие как авторизация в приложении, подтверждение номера на Госуслугах и подписка на наш телеграм-канал — на экране будет отображаться новый блок с уведомлением о выполнении действия и новой иконкой.

Задача инициирована проектным отделом.

222.19 Убрали x2 за выполнение бонусных действий

Ранее мы планировали удваивать шансы за выполнение определенных действий в день розыгрыша. После получения отзывов от пользователей о том, что им не совсем понятен функционал и отображение Х2, они путаются с начисленными бонусами, мы решили изменить подход. Теперь шансы будут удваиваться сразу после выполнения трех действий: подписки на наш телеграм-канал, авторизации в приложении Безлимит и подтверждения номера на Госуслугах.

В рамках задачи убрали иконку Х2 рядом с общим количеством шансов. Теперь сумма шансов, отображаемая в оранжевом поле около номера, будет актуальной и учтет удвоенные шансы, если они были начислены.

Задача инициирована отделом продаж.

222.20 Раздел «Услуги». Отображение 422 ошибки и изменение цвета текста

Внесли исправления в раздел «Услуги».

Ранее, если сервер возвращал ошибку 422, отображалось лишь модальное окно с общим сообщением «Ошибка». Мы добавили более подробное сообщение, чтобы информировать пользователей о конкретной ошибке:

Произошла ошибка!

При нажатии на кнопку «Подключить» появляется модальное окно с условиями подключения услуги. Ранее текст в этом окне был белым на белом фоне, что делало его практически невидимым. Теперь цвет текста изменен на черный, что улучшает его читаемость.

Задача инициирована отделом тестирования.

Сайт

222.21 Настройка микроразметки JSON-LD для раздела Блог

Настроили микроразметку формата JSON-LD по стандартам schema.org для раздела «Блог», включая его подразделы: «Связь», «Гаджеты», «Путешествия», «Разное», «Компьютеры» и «Мессенджеры», а также для страниц статей.

Это улучшит видимость контента в поисковых системах и позволит лучше структурировать информацию.

Задача инициирована проектным отделом.

222.22 Поиск по Блогу. Экран «Результаты поиска»

Реализовали новую страницу «Результаты поиска» в Блоге. Структура карточек на этой странице схожа с тем, что представлено на странице со списком статей. Вот как осуществляется переход к этой странице:

  1. Нажмите на виджет «Поиск».
  2. Введите в текстовом поле нужные данные, например, sim.
  3. Нажмите Enter.

После этого на экране отобразятся все статьи, соответствующие вашему запросу. На странице выводится по 6 статей за раз — это максимальное количество для отображения.

В итоге в результатах поиска могут отображаться статьи из различных категорий, таких как Гаджеты, Разное, Компьютеры, Связь и так далее.

Задача инициирована отделом маркетинга.

222.23 Настройка микрофронтенда в Блоге

Реализовали новую структуру для раздела «Блог» на сайте, разбив его на небольшие компоненты.

Это позволит нам более эффективно использовать эти компоненты на других сайтах, как в целостном формате, так и в виде отдельных частей.

Задача инициирована проектным отделом.

222.24 Блог. Интеграция с API

В API добавлена новая секция «Блог», в которой реализованы следующие методы:

  • GET /blog/categories — получение списка категорий блога.
  • GET /blog — получение всех статей блога.
  • GET /blog/{slug} — получение детальной информации о конкретной статье.
  • GET /blog/search — поиск статей по названию, краткому содержанию и полной информации.
  • GET /blog/tags — получение списка тегов блога.

В рамках задачи интегрировали ранее разработанную верстка с методами API.

Реализация задачи позволит улучшить скорость загрузки страниц, легче и быстрее вносить изменения.

Задача инициирована проектным отделом.

222.25 Добавили хлебные крошки и вывод тегов

Улучшили отображение карточки статьи, добавив информацию о тегах. Теги теперь будут размещаться по всей ширине фотографии, что делает их более заметными.

Также реализовали функционал «хлебных крошек» в разделе с подробной информацией о статье. При наведении на элемент хлебных крошек появится золотая подсветка того раздела, на который предполагается переход. Это улучшает навигацию и удобство использования сайта.

Задача инициирована отделом маркетинга.

222.26 Закрытие сайдбара по клику на свободную область в Блоге

Теперь в Блоге реализовано закрытие сайдбара (боковой панели на веб-странице) при нажатии на свободную область экрана.

Закрытие сайдбара при нажатии на свободную область экрана позволяет пользователям легко и быстро скрывать дополнительные элементы интерфейса, сосредотачиваясь на содержании Блога.

Задача инициирована проектным отделом.

222.27 Добавили анимацию прокрутки телефона

На странице «Безлимит для СНГ» добавили плавную прокрутку номеров внутри телефона для создания более привлекательного и интерактивного визуального эффекта.

Задача инициирована отделом продаж.

222.28 Поддержка на странице «Безлимит для СНГ»

Реализовали новый функционал для блока «Поддержка» на странице «Безлимит для СНГ».

Теперь при нажатии на кнопку «Поддержка» открывается выпадающий список с несколькими вариантами связи: WhatsApp, Telegram и значок телефона (который отображается только в мобильной версии). Если пользователь нажимает на значок телефона, осуществляется вызов на номер +7 495 9669999.

Реализация задачи улучшит пользовательский опыт и повысит удобство взаимодействия пользователей с нашей службой поддержки.

Задача инициирована отделом продаж.

222.29 Новогоднее обновление сайта

С 1 декабря по 14 января Главная страница нашего сайта будет украшена в новогоднем стиле. Мы обновили видео в первом блоке, заменили шторки и обновили изображения в разделе с Новостями, чтобы создать праздничную атмосферу.

Задача инициирована отделом маркетинга.

222.30 Доработка отображения кнопок в разделе «О компании»

Ранее кнопки «Заказать пропуск» и «Контакты» на странице «О компании» перекрывали важную информацию в нижней части экрана (футере).

В рамках задачи установили фиксированное расстояние между кнопками при прокрутке страницы вниз, чтобы обеспечить удобный доступ к информации в футере.

Задача инициирована отделом тестирования.

222.31 Ссылка на пополнение баланса. Подстановка номера из URL в ячейки

Пользователи Безлимит получают СМС-уведомления о необходимости своевременного пополнения баланса номера. В этих сообщениях содержится ссылка, в которой указаны номер телефона и сумма пополнения.

В рамках задачи улучшили подстановку номера телефона в поле при открытии страницы по ссылке. Ранее возникала проблема, когда сумма пополнения корректно отображалась, но номер телефона оставался пустым. Теперь это недоразумение устранено, и номер телефона всегда отображается.

Задача инициирована отделом тестирования.

Биллинг

222.32 Доработали поле «Номер клиента» в отделе Контроля качества

Доработали поле «Номер клиента» во вкладках «Обработанные звонки» и «Необработанные звонки» в разделе «Отдел КК — Мои звонки» в Кол-центре. Теперь оно называется «Основной номер клиента».

Ранее номер телефона автоматически отображался в этом поле, но пользователи могли его редактировать. Теперь, когда номер клиента автоматически подтягивается, он становится кликабельным и содержит ссылку на карточку номера, если он принадлежит оператору Безлимит. В случае если номер не относится к Безлимит, он останется некликабельным.

Название поля «Основной номер клиента» теперь также включает ссылку на Карточку номера. При клике на поле пользователь будет перенаправлен к соответствующей карточке.

Задача инициирована отделом сервиса.

222.33 Контактное лицо «Карты оплаты»

Ранее при первичной активации номера в Биллинге, если у него не было трафика, контактное лицо автоматически менялось на «Карты оплаты». Это создавало недоразумение, так как не было понятно, где именно прошла активация: в Store Безлимит или в Личном кабинете.

В рамках задачи изменили скрипт таким образом, что если номер соответствует условиям для смены контактного лица на «Карты оплаты», теперь отобразим это как «Карты оплаты + (старое контактное лицо)».

Например:

  • Было: FromLK
  • Стало: Карты оплаты (FromLK)

Скрипт, который изменяет «Контактное лицо» на «Карты оплаты», запускается ежедневно в 23:30.

Также внедрили новый функционал в скрипт, который меняет контактное лицо на «Бывший без трафика». Этот процесс запускается ежедневно в 0:30. При смене статуса с «Карты оплаты» на «Бывший без трафика» предусмотрено отображение в формате «Бывший без трафика + (предыдущее контактное лицо)». Если же прежнее контактное лицо отсутствует и в скобках указано значение «Карты оплаты», то просто указываем «Бывший без трафика», как это было реализовано ранее.

Доработали скрипт смены контактного лица, чтобы он опирался на фиксированный текст «Карты оплаты». Это позволит избежать ошибок, если будет указано, например, «Карты оплаты (FromLK)».

Задача инициирована отделом продаж.

222.34 Печать наклеек. Права для кнопки «Добавить» для шаблонов с автоматической сменой срока годности

В шаблонах печати наклеек «Обычный» и «Интернет-связь» раньше была кнопка «Добавить», которая позволяла вручную создавать шаблоны с разными сроками годности, назначенными в групповых операциях. Сейчас необходимость в таком функционале отпала.

В связи с тем, что мы стремимся максимально автоматизировать процессы в отделе комплектации, включая заполнение сроков годности в шаблонах во время печати наклеек, решили изменить доступ к этой кнопке. Теперь она получает отдельные права, и мы скрыли ее от всех сотрудников, у которых нет соответствующих ролей.

Таким образом, кнопка «Добавить» в шаблонах «Обычный» и «Интернет-связь» будет отображаться только у тех пользователей, которым назначены специальные права. У всех остальных кнопка будет скрыта.

Задача инициирована отделом продаж.

222.35 Доработка вкладки «Розыгрыш» в Карточке номера

Реализовали функцию отображения шансов, когда их значение равно 0. Это означает, что если у номера нет шансов в текущем розыгрыше, то будет отображаться запись с нулевым значением. В этой записи также будут указаны возможные действия для удвоения шансов.

Например, если у номера есть шанс с типом PERIOD в статусе PROCESS, на данный момент неясно, участвует ли номер в розыгрыше или нет. Однако вся информация будет отображаться в отчете. В этом случае в столбце PERIOD будет указано значение 0 (если не имеется активных шансов).

Задача инициирована проектным отделом.

222.36 Добавили проверку поля «Новый номер SIM» и кнопки «Флаг замены SIM»

Ранее при редактировании поля «Номер SIM» и вводе существующего номера всплывало уведомление о том, что этот серийный номер SIM уже прикреплен к другому номеру.

В рамках задачи улучшили эту проверку. Теперь, если введенный новый номер SIM уже существует в системе, в поле «Номер SIM» отображается уведомление:

Номер SIM установлен в Билайн на номере ******.

При этом номер остается кликабельным.

Если же новый номер SIM используется в системе Безлимит, уведомление остается прежним. Рядом с кликабельным номером отображается кнопка «Открепление». При нажатии на эту кнопку происходит открепление SIM-карты (снятие флага замены SIM) от текущего номера. В Журнале карточки номера будет отображаться автор действия — пользователь, а не робот.

Такая же проверка применяется и при редактировании поля «Новый номер SIM», а также при нажатии на кнопку «Отправить запрос» при установке флага замены SIM.

Задача инициирована отделом продаж.

222.37 Добавили в процесс перевыпуска и выдачи из Облака дополнительные параметры для логирования

В процесс перевыпуска номера добавили логирование изменений для таких параметров, как «Контактное лицо», «Дилерский путь» и «Срок годности». Логируются как старые, так и новые значения.

События, которые фиксируются:

  • Процесс перевыпуска номера — reissue
  • Смена «Контактного лица» — Контактное лицо
  • Смена «Дилерского пути» — Дилер
  • Смена «Срока годности» — Срок годности

Номер можно перевыпустить двумя способами: «Выдать из Облака» и «На перевыпуск». При выполнении обоих этих процессов дополнительно логируются вышеупомянутые события.

Задача инициирована проектным отделом.

222.38 Убрали создание дублирующих задач на отключение услуги GPRSBL

Изменили процесс создания задач на отключение услуги «Запрет мобильного интернета [GPRSBL]», устранив дублирование.

Ранее отключение услуги осуществлялось следующим образом: сначала мы отправляли заявку на отключение через API. Если билайн возвращал пустой идентификатор запроса (requestId), мы повторно отправляли запрос через 7 минут. В случае повторного получения пустого requestId создавалась задача для аутсорсера.

Теперь, прежде чем создавать новую задачу, проверяем, существует ли уже активная задача на отключение услуги GPRSBL. Это значит, что создавать новую задачу больше не нужно, если для этого номера телефона уже зарегистрирована задача с такими параметрами:

  • Номер телефона;
  • Код услуги GPRSBL;
  • Статус услуги: «Новая» или «В работе».

Задача инициирована отделом сервиса.

222.39 Добавили новые фоны в Биллинг

Добавили новые фоны для Биллинга в новогодней тематике. Теперь вы сможете создать уютную и праздничную атмосферу при входе в ресурс. Настройтесь на новогодние праздники!

Задача инициирована отделом маркетинга.

222.40 Годовое обслуживание Безнал, Постоплата, Бесплатники (в декабре) 2024

В декабре в ноябрьском счете было отражено годовое обслуживание по номерам. Вот подробности:

Постоплата: 513 000 рублей
Безналичный расчет: 879 600 рублей
Бесплатные услуги: 285 000 рублей
Общая сумма: 1 667 600 рублей.

В декабре мы получили информацию о всех начислениях за ноябрь с учетом годового обслуживания по номерам.

Задача инициирована отделом продаж.

222.41 Сняли ограничение на подключение услуг по API из Личного кабинета в последний день месяца

У отдела сервиса возникла необходимость подключать бесплатные услуги DNTCALLME и NOSPAM через API, так как в последний день месяца возникала необходимость в ручной обработке заявок, поступающих из Личного кабинета.

Для реализации задачи изменили ограничения на подключение услуг через API для DNTCALLME и NOSPAM.

Теперь, если запрос на подключение услуги поступает из Личного кабинета в последний день месяца и содержит один из указанных кодов (244513 или 244518), обрабатываем его через API в Билайн.

Задача инициирована отделом сервиса.

API

222.42 GET /store/bonuses — Список бонусов приложения store. Поле status_reason

В методе получения бонусов теперь есть новое поле status_reason, которое объясняет, почему бонус был отменен.

Добавили поле status_reason в таблицу бонусов. Если причина отмены не указана, это поле будет пустым.

Вместо термина «Перевыпущен» теперь будет отображаться «Изменен статус активации», чтобы точнее отражать текущее состояние бонуса.

В метод обновления бонуса добавлен параметр status_reason, который может принимать значения, например, reissue (перевыпуск) или nps_pin (акция «Приведи друга»).

В API Store v2 в схему бонусов добавили новое поле status_reason, что поможет лучше управлять информацией о бонусах.

Задача инициирована отделом продаж.

222.43 Обновление метода проверки версии приложения

В метод GET /system/check-version мы добавили новый параметр description (строка) — описание сборки приложения, который поддерживает формат HTML и смайлики.

При установке флага обязательного или необязательного обновления разработчики смогут предоставлять информацию о новых функциях и причинах обновления. Этот текст будет отображаться на стартовом экране приложения, если включен соответствующий флаг.

Задача инициирована проектным отделом.

222.44 Новый метод POST /notifications/news/read-all

Ранее при открытии новости в приложении Store Безлимит отправлялся запрос на отметку ее как прочитанной с помощью метода POST /notifications/news/read.

Чтобы сделать приложение более удобным, мы решили улучшить раздел новостей и уведомлений, добавив кнопку «Прочитать все».

Для этого создали новый метод в API Store: POST /notifications/news/read-all. Этот метод позволяет отмечать все доступные пользователю новости как прочитанные одним нажатием кнопки.

Задача инициирована отделом продаж.

222.45 Добавили новый тип брони на 1 час

В API добавили новый тип бронирования номеров — на 1 час. Номера с этим признаком теперь можно бронировать на краткосрочный период в течение одного часа.

Внесли изменения в старый Store Безлимит, в приложение Store Безлимит и его десктоп-версию, а также обновили Суперссылку для корректной работы с новым типом бронирования.

Задача инициирована отделом продаж.

222.46 Возвращаем флаг наличия дилеров по аккаунту. Параметр has_levels

Ранее у нас была настроена возможность приглашать новых пользователей с помощью параметра can_invite_user. Если этот параметр установлен в значение false, информация о текущих дилерах скрывается.

Возникла ситуация, когда старым дилерам, у которых уже есть своя сеть, нужно закрыть возможность приглашать новых пользователей. В связи с этим появились сложности с отображением их сети и накопленных бонусов.

Для реализации задачи добавили новый параметр has_levels, который показывает, есть ли у пользователя дилерская сеть:

  • Если у пользователя есть дилеры, мы возвращаем значение has_levels = true.
  • Если дилеров нет, возвращаем has_levels = false.

Также обновили метод GET/system/vars для поддержки нового параметра.

Задача инициирована проектным отделом.

222.47 Доработали методы новыми тарифами GET/phones/filters и GET/super-link/phones/filters

Изменили возможные значения фильтров (service_limit) в методах GET/phones/filters и GET/super-link/phones/filters в связи с запуском новой тарифной линейки «Новогодний Безлимит».

Задача инициирована проектным отделом.

222.48 Изменили описание розыгрыша

В рамках задачи в API Store v2 изменили текст условий проведения Новогоднего розыгрыша для партнеров компании. Это связано с запуском новой тарифной линейки «Новогодний Безлимит». Теперь партнеры смогут получить актуальную информацию о начислении кодов за активацию красивых номеров, в зависимости от способа подключения и выбранного тарифа.

Задача инициирована отделом маркетинга.

SAS

222.49 Простановка push-уведомлениям значения delivered

Улучшили способ установки статуса уведомлений, чтобы было проще отслеживать, были ли они успешно доставлены пользователям. Ранее статус «Доставлено» (delivered) отображался только на уведомлениях, для которых был указан идентификатор устройства (fcm_id). При этом каждое устройство получало свое отдельное уведомление.

Теперь, если уведомление помечается как «Доставлено», также отмечаем его так, если оно действительно видимо для пользователя (то есть, у него есть значение is_visible, равное true).

Реализация задачи позволит более точно отслеживать доставку уведомлений и улучшит управление видимостью сообщений для пользователей.

Задача инициирована проектным отделом.

222.50 Удаление сессий с одинаковым device_id

Ранее реализовали задачу по удалению старых токенов-сессий, оставляя только одну токен-сессию, привязанную к UUID устройства для сессий типа mobile.

При этой реализации учитывали только параметр device_data, что привело к возникновению ошибки: когда пользователь авторизовался на одном устройстве в Личном кабинете, а затем заходил в Store Безлимит, происходила деавторизация в Личном кабинете.

Теперь, прежде чем объединить сессии, мы дополнительно анализируем параметр source. Объединяем только те сессии, которые созданы с одним и тем же источником. Если источники различаются, сессии не удаляются. Такой подход позволяет избежать нежелательных деавторизаций и улучшить пользовательский опыт.

Задача инициирована отделом тестирования.

DEV

222.51 Перенос базы данных на MySQL 8.0

Ранее при создании массовых рассылок в сервисе FERMA возникали проблемы с блокировкой таблиц, что приводило к сбоям в запущенных процессах. Чтобы решить эту проблему, перенесли базу данных на MySQL 8.0.

MySQL 8.0 — это современная версия популярной системы управления базами данных. Перенос на MySQL 8.0 повысит эффективности работы, улучшит безопасность и подготовку системы к будущим требованиям.

Перенос был осуществлен с DEV фермы на сервер с хостом 10.20.17.125.

Задача инициирована проектным отделом.

AUTO

222.52 Подготовка SQL-запросов для методов

В рамках задачи подготовили следующие SQL-запросы для использования в методах:

  • Запрос для получения данных о мобильном интернете по случайному номеру в Базе данных Биллинга.
  • Запрос для получения информации о мобильном интернете по конкретному номеру в базе данных ClickHouse.
  • Запрос для извлечения информации о банах, где количество номеров составляет не менее 100.

Подготовленные запросы служат для улучшения работы с данными, повышения качества услуг и принятия более обоснованных решений в сфере мобильной связи.

Задача инициирована отделом тестирования.

222.53 Создание методов подключения к Базе данных и выполнение запросов

Разработали методы подключения для следующих типов баз данных:

  • MySQL
  • ClickHouse

MySQL — это популярная система управления реляционными базами данных, которая используется для хранения, управления и извлечения данных.

ClickHouse — это колонковая база данных, предназначенная для аналитической обработки больших объемов данных.

Реализация задачи является важным этапом в решении задачи, связанной с разработкой методов для выполнения SQL-запросов.

Задача инициирована отделом тестирования.

FERMA

222.54 Групповые операции

Реализовали функцию массового выбора устройств для установки новой версии приложения либо перезагрузки устройства. Теперь, когда пользователь выбирает устройства с помощью чекбоксов, кнопка «Групповые операции» становится активной.

Некоторые чекбоксы будут отключены, чтобы исключить ненужные действия. Так, пользователь не сможет выбрать:

  • Устройства с версией, совпадающей с текущей активной;
  • Устройства, которые находятся не в сети.

После нажатия на кнопку «Групповые операции» появится всплывающее окно с возможностями:

  • Обновить версию сборки: при нажатии на эту кнопку произойдет обновление.
  • Перезагрузить устройства: нажатие также инициирует перезагрузку.

Добавили метки состояния для устройств: «В сети» и «Выключено». Иконка «Глазик» 👁 активна для всех устройств.

Кнопки «Обновить» и «Перезагрузить» в разделе «Устройства» убраны и заменены на групповые операции. Выполнять эти действия можно через новое окно.

Кнопки для обновления и перезагрузки устройств перенесены из общего списка устройств в карточку просмотра каждого устройства, где они находятся под заголовком.

Кнопки функционала доступны только для устройств, подключенных к сети.

Вместо порядкового номера теперь расположены чекбоксы для удобства выбора. Добавили проверку актуальности установленной сборки, которая будет работать только для кнопки «Обновить версию сборки».

Рядом с пагинацией появился селектор, позволяющий выбрать количество записей на странице, что упростит выделение чекбоксов для всех элементов в списке.

Задача инициирована проектным отделом.

222.55 Клонирование задачи

В связи с частой необходимостью создавать одинаковые рассылки с использованием различных аккаунтов, появилась идея упростить этот процесс, добавив возможность клонирования рассылок одним нажатием кнопки.

Теперь в списке рассылок рядом с функциональными кнопками есть иконка «Клонировать». Эта функция доступна как для завершённых рассылок, так и для тех, которые находятся в процессе выполнения.

При нажатии на иконку «Клонировать» открывается окно создания новой рассылки, в котором автоматически заполняются все параметры, идентичные тем, что были в исходной рассылке.

Также добавили кнопку «Клонировать» внутри каждой рассылки, что позволяет избежать возврата к списку. Для обеих функций используется единый механизм клонирования.

Задача инициирована отделом мессенджеров.

222.56 Добавили текст исходящего сообщения при создании лида

Усовершенствовали временное решение, которое добавляет текст сообщения из рассылки в ответ на входящие сообщения пользователей.

Например, если пользователь пишет «Привет», отправим следующий ответ:

«Привет» + [Текст сообщения рассылки от компании:] + «Текст последнего отправленного сообщения на номер».

Таким образом, итоговое сообщение будет выглядеть так:

«Привет»
Текст сообщения рассылки от компании: «Нашли для вас подходящий номер».

Здесь «Привет» — это сообщение клиента, а «Нашли для вас подходящий номер» — текст из рассылки.

Задача инициирована отделом продаж.

OmniChatter v 2.1.0

⚡️ OmniChatter — представляет собой многофункциональный инструмент, который значительно упрощает взаимодействие с различными программами и устройствами. Благодаря его удобному интерфейсу мы можем выполнять множество действий прямо из приложения, что делает управление нашим цифровым окружением FERMA более эффективным.

Одной из ключевых возможностей приложения является его способность находить номера телефонов и отправлять сообщения непосредственно из приложения. Через OmniChatte мы можем вести переписку с семейными номерами по проекту FERMA.

Еще одной важной функцией является возможность удаленной перезагрузки и управление зарядом устройств.

222.57 Доработали адаптацию для устройств SAMSUNG-A05

Ранее в Ферму добавили новые устройства Samsung A05. Однако после тестирования выяснили, что разметка чуть отличается, и приложение не выполняет свои функции.

В связи с этим адаптировали версию приложения OmniChatter до версии 2.1.0, чтобы она корректно работала в том числе и на устройствах Samsung A05. Также была протестирована версия WhatsApp 2.24.22.78.

Задача инициирована проектным отделом.

222.58 Резервная копия «Никогда»

В рамках задачи добавили новый функционал. Теперь перед закрытием окна «Резервная копия» автоматически выбирается параметр «Никогда». После этого нужно нажать кнопку «Продолжить».

Задача инициирована проектным отделом.

Битрикс

222.59 Изменения в воронке «Курьеры»

В рамках задачи обновили процесс модерации в воронке «Курьеры». Теперь курьер и менеджер по продажам отправляют автоматические сообщения клиенту через WhatsApp, что способствует увеличению случаев успешного получения посылок.

При возникновении сделки в воронке «Курьеры» на стадии «На доставку» курьер единоразово осуществляет отправка автоматического сообщения через WhatsApp получателю, а также уведомление от менеджера по продажам, в котором указано имя курьера, который будет осуществлять доставку, и ссылка на его WhatsApp. На данный момент авторассылка тестируется только с одним курьером — первопроходцем.

В воронку добавили новую стадию «Повторный звонок». Если курьер не может дозвониться до клиента, он переводит сделку в эту стадию. Затем, спустя 22 часа, сделка автоматически возвращается в работу на этап «На доставку». После первого перехода в стадию «Повторный звонок» отправляются два автоматических сообщения: одно от курьера и одно от менеджера, если менеджер оформлял доставку.

Сделка не может быть переведена в стадию "Не дозвонился" в тот же день, когда она была передана курьеру, а также если она не прошла через стадию "Повторный звонок". В случае попытки такого переноса сделка автоматически вернётся на стадию "На доставку". Если же сделка не была на стадии "Повторный звонок", она будет переведена именно на эту стадию.

При переводе сделки в любую из неудачных стадий («Не дозвонились», «Отказ», «Не доставлено, но засчитано») через 2 часа она переместится в стадию «На модерацию», где будет доступна для контроля качества.

При успешном завершении сделки с номера курьера (первопроходца) клиенту будет отправлено автоматическое сообщение о результате доставки: «Доставлено». Это сообщение срабатывает через 5 минут, чтобы курьер мог внести корректировки перед тем, как сделка покинет воронку. Если доставка завершилась неудачно, сообщения отправляются сразу после подтверждения модератором.

Для повышения эффективности связи добавлено новое правило касательно времени отправки сообщений от курьера и менеджера. Если сделка попадает к курьеру до 18:00, сообщения отправляются немедленно. Если после, отправка сообщений произойдет следующим утром в 10:00.

Также в сделку добавлена кликабельная ссылка на WhatsApp клиента в формате «wa.me/(номер клиента)», что позволяет курьерам быстро связываться с клиентами через WhatsApp.

Задача инициирована дирекцией продаж.

222.60 Корректировка в «Согласовании счетов»: запрет на перескакивание стадий

В рамках задачи усилили меры по защите от несанкционированного перевода сделок по оплате в воронке «Согласование счетов». Основной целью является запрещение перескакивания сделок между этапами на начальной стадии согласований. Теперь для каждого пользователя установлены ограничения в зависимости от его роли, что позволяет переводить сделки только на разрешенные стадии. В частности, теперь можно отклонять счета и возвращать сделки на предыдущие этапы.

Задача инициирована операционным директором.

Маркетинг

222.61 Обработка заявок на выплату выигрыша

Поскольку у победителей Новогоднего розыгрыша может быть несколько выигрышей одновременно, мы обновили макеты отправки заявки на выплату выигрыша. Теперь пользователи смогут видеть статус обработки заявок по всем полученным выигрышам.

Задача инициирована проектным отделом.

222.62 Экран активности для приложений

Подготовили макеты для реализации экрана активности в наших приложениях. В день розыгрыша пользователям и партнерам, у которых установлены приложения Безлимит и Store Безлимит, будет предложено разрешить отображение экрана активности. Также появится кнопка, которая приведет на страницу Розыгрыша, где начнется прямой эфир.

Задача инициирована отделом маркетинга.

222.63 Экран с ошибкой при получении приза

Подготовили экран, который будет отображать ошибку, возникающую у пользователя при попытке перейти на страницу выплаты приза за победу в розыгрыше. Эта ошибка появится в случае, если код выигрыша не совпадет ни с одним из кодов пользователя.

Задача инициирована проектным отделом.

222.64 Видеозаставка для Store Безлимит

Разработали новую видеозаставку для приложения Store Безлимит, которая информирует пользователей о дате и времени проведения розыгрыша. В заставке также указана сумма призового фонда — 10 миллионов. Дизайн выполнен в новогоднем стиле, чтобы создать праздничное настроение!

Задача инициирована отделом маркетинга.

222.65 Сторис с обратным отсчетом

Для отдела продаж подготовили изображения с обратным отсчетом до розыгрыша для размещения в соцсетях и мессенджерах. Обратный отсчет создает ощущение ожидания и интриги, что может повысить интерес и вовлеченность аудитории.

Задача инициирована отделом продаж.

222.66 Изображения для телеграм-канала

Подготовили изображения для публикации новостей в телеграм-канале для партнеров. Визуальный контент делает сообщения более привлекательными и легкими для восприятия, что способствует лучшему пониманию и запоминанию передаваемой информации.

Задача инициирована отделом продаж.

222.67 Обновление лендинга storechance.ru к Новому году

Обновили оформление сайта розыгрыша для партнеров. Изменили обложку и фоновое изображение, добавили декоративные элементы, такие как елочное украшение и Деда Мороза с новогодним поздравлением внизу экрана. Кроме того, на обложке теперь падают снежинки, что создает уютную и праздничную атмосферу.

Хотим поднять настроение нашим партнерам и сделать процесс участия в розыгрыше более увлекательным.

Задача инициирована отделом маркетинга.

222.68 Видео на storechance.ru

Обновили видео на странице розыгрыша для партнеров компании. Сделали его в праздничной новогодней атмосфере.

Мы стремимся создать праздничный дух и укрепить взаимоотношения с партнерами, показывая, что мы ценим их участие и хотим сделать этот момент особенным.

Задача инициирована отделом маркетинга.

222.69 Обновили информацию на storechance.ru

В связи с запуском тарифной линейки «Новогодний Безлимит» обновили информацию в Правилах участия на странице Розыгрыша для дилеров на сайте storechance.ru. Указали количество кодов, которые можно получить за активацию красивого номера для каждого способа подключения.

Задача инициирована отделом маркетинга.

222.70 Обновили информацию о правилах участия в розыгрыше

В связи с запуском новой тарифной линейки «Новогодний Безлимит» обновили правила участия в розыгрыше как в приложении, так и в веб-версии Store Безлимит. Теперь пользователи смогут увидеть, сколько кодов можно получить за активацию красивого номера в зависимости от выбранного способа подключения и тарифа.

Задача инициирована отделом маркетинга.

222.71 Обновление информации об акции «Не плати за связь»

В связи с введением новой тарифной линейки «Новогодний Безлимит» изменились правила начисления скидок для пользователей, участвующих в акции «Не плати за связь». Теперь, если друг пользователя подключает красивый номер на тариф «Новогодний Безлимит 490» по его ссылке-приглашению, скидка для пользователя составит 10% от тарифа друга вместо прежних 20%, которые действуют при подключении номера на другие, более дорогие тарифы.

Чтобы обеспечить пользователей актуальной информацией об изменениях в акции, обновили данные на сайте, в приложении Безлимит и его веб-версии. Изменения затронули раздел с часто задаваемыми вопросами, страницу акции и инструкцию, а также обновления на странице акции на сайте. Для реализации этих изменений были подготовлены соответствующие макеты.

Задача инициирована проектным отделом.

222.72 Видео о разделе «Мои бонусы» в Store Безлимит

В связи с обновлением большинства разделов и функций в Store Безлимит, мы приступили к обновлению видеоинструкций.

В рамках этой задачи создали видео про работу с разделом «Мои бонусы» в приложении Store Безлимит.

Задача инициирована отделом продаж.

222.73 Обновление Блога на сайте

Обновили экран в Блоге на сайте: дополнили информацию о компании, оставили кнопку для перехода на Главную страницу. Заменили текст и фоновое изображение. Проект передан в работу разработчикам.

Задача инициирована проектным отделом.

222.74 Обновление информации о тарифах

В связи с запуском тарифной линейки «Новогодний Безлимит» обновили информацию на всех наших ресурсах: на сайте, в приложениях и их веб-версиях, а также в суперссылке. Для выполнения задачи подготовили макеты.

Задача инициирована отделом маркетинга.

222.75 Обновление карточек с тарифами

В связи с запуском новой тарифной линейки «Новогодний Безлимит» мы подготовили карточки, которые содержат информацию обо всех тарифах и их наполнениях. Эти карточки будут отправлены дилерам и опубликованы в социальных сетях для информирования наших пользователей.

Задача инициирована отделом маркетинга.

222.76 Обновление соцсетей

Чтобы создать новогоднюю атмосферу, обновили обложки и аватарки в наших социальных сетях, сделав их зимними и праздничными.

Задача инициирована отделом маркетинга.

222.77 Публикации в наших ресурсах

Подготовили и опубликовали сторис в приложении Безлимит, посвященные новой тарифной линейке «Новогодний Безлимит».

В разделе новостей Store Безлимит сообщили, что до начала Новогоднего розыгрыша остается всего 30 дней, напомнили пользователям о необходимости подтвердить свои данные в Профиле для участия в розыгрыше, а также представили информацию о новой тарифной линейке.

На сайте была размещена новость о запуске новой тарифной линейки «Новогодний Безлимит».

Задача инициирована отделами продаж и маркетинга.

222.78 Публикации в сторонних ресурсах

В наших официальных сообществах в ВКонтакте, Telegram, Instagram*, Facebook* и Одноклассниках опубликовали четыре поста, посвященных различным темам:

1. Напоминание о розыгрыше в Telegram.
2. Подведение итогов розыгрыша умной колонки и безлимиткоинов.
3. Новогодние обои от Безлимит.
4. Идеи подарков-гаджетов для мужчин и женщин к встрече Нового года.

В сторис в Telegram разместили напоминание о грандиозном розыгрыше!

Следите за нашими новостями, чтобы не упустить ни одной важной информации!

Задача инициирована отделом маркетинга.

222.79 Розыгрыш колонки для пользователей Безлимит

Подвели итоги розыгрыша безлимиткоинов и умной колонки, проведенного для наших подписчиков в Telegram в честь Черной пятницы! Подарки уже отправлены победителям. Поздравляем счастливчиков и благодарим всех участников за активность!

Задача инициирована отделом маркетинга.

*Инстаграм и Фейсбук принадлежат компании Meta, которая в Российской Федерации признана экстремистской организацией, и деятельность этих сервисов запрещена на территории страны.