July 23

Релиз 212 (2)

Мобильное приложение
Личный кабинет v. 1.38.0 и v. 1.39.0

🎉 Новая версия Личного кабинета v. 1.38.0 уже доступна в маркетах приложений! Вас ждут следующие улучшения:

💳 Обновленный раздел «Пополнить счет» — теперь все способы пополнения баланса номера собраны в одном месте.

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

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

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

🚀 Из глобальных обновлений это все. Но мы также сделали множество мелких доработок: улучшили раздел с популярными вопросами, повысили надежность приложения, доработали виджет с отображением абонентской платы на экране смартфона и многое другое. Обновите приложение до последней версии и оцените все сами!

🥳🎉 Какие новости! Долгожданная версия 1.39.0 на подходе!

😄 Знаем, что вы сгораете от нетерпения увидеть новый раздел «Розыгрыш»! Сейчас новая версия в маркетах проходит согласование, так что совсем скоро вы сможете обновить приложение.

🎊 Итак, в новой версии вас ждет новый раздел «Розыгрыш», баннеры в Профиле и на Главной странице, подсказки и многое другое.

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

🤑 Еще одно долгожданное обновление — баланс на Главной странице теперь обновляется автоматически! Пользователям больше не нужно перезагружать приложение или обновлять страницу.

🌟 Следи за обновлениями в маркетах приложений!

212.01 Слишком быстрое открытие «Популярных вопросов»

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

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

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

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

212.02 Заставка на устройствах Android с версией 12 и выше

Внесли улучшения в отображение заставки (splash screen) на устройствах с операционной системой Android версии 12 и выше.

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

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

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

212.03 Убрали кнопку «Применить» во всех разделах Личного кабинета

Убрали кнопки «Применить» и «Отменить» в следующих разделах:

  • поле «Номер телефона»;
  • «Пополнить счет»
  • «Создание и редактирование Автоплатежа»;
  • «Анализ расходов»;
  • Замена SIM-карты и eSIM;
  • История платежей и История начислений;
  • Списание абонентской платы;
  • Проверить раздел «Перевод средств».

Теперь окно с выбором номера в этих разделах закрывается не по нажатию кнопок «Применить» и «Отменить», а при выборе номера.

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

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

212.04 Отключение музыки при входе в приложение

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

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

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

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

212.05 Переключатель в виджете

В рамках задачи внесли изменения в работу виджета на экране смартфона.

Теперь при нажатии на стрелки переключения номеров кнопки функционируют правильно на всех типах устройств.

Кроме того, убрали стрелки-переключатели для аккаунтов с одним номером телефона.

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

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

212.06 Всплывающее окно «Требуется авторизация»

В рамках задачи внесли изменения в методы POST/user/auth/login и POST/user/auth/logout.

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

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

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

212.07 Подтверждение по СМС при пополнении баланса безлимиткоинами

Убрали экран с вводом кода из СМС для подтверждения перевода коинов на баланс номера. В API оставили 200 код и параметр money_transfer_token для корректной работы приложения у пользователя со старой версией приложения. В дальнейшем в API внесем корректировку и будем возвращать 204 код и пустой ответ.

В метод POST/bonuses/payout отправляется параметр noToken == true. В ответе возвращается пустой ответ.

На клиенте оставили экран с вводом суммы для начисления на баланс номера. После нажатия на кнопку «Пополнить» открывается модальное окно с успешным пополнением баланса.

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

212.08 Экран пополнения баланса

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

Конкретные изменения включают в себя:

  • Замена устаревшей подложки на более современную и соответствующую общему дизайну приложения.
  • Теперь вместо двух кнопок «Оплатить через СБП» и «Оплатить банковской картой» появился один раскрывающийся блок «Способы оплаты». В этот блок также добавили Автоплатеж и возможность оплаты коинами.
  • Для добавления возможности пополнения баланса коинами через раздел «Пополнить счет» создали новый экран со всеми необходимыми для проведения платежа полями для заполнения.
  • Обновили экран подключения Автоплатежа.

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

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

212.09 Информация о дате разблокировки номера

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

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

Для реализации этой задачи теперь мы проверяем GET/account/phone -> Expand=phoneInfo. Если в поле block_status_text содержится текст, то будет показано соответствующее сообщение из API вместо поля srok_godnosti. Если поле block_status_text содержит значение null, то будет отображено поле srok_godnosti.

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

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

212.10 Отображение обложек историй

В рамках задачи добавили функциональность отображения обложек (cover) в историях.

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

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

212.11 Разрешение SCHEDULE_EXACT_ALARM

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

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

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

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

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

212.12 Открытие приложения через push-уведомление при смене иконок

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

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

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

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

212.13 Замена API сертификации SafetyNet на API Play Integrity (tech)

Заменили старую систему сертификации SafetyNet на новую систему Play Integrity.

Чтобы все работало правильно, обновили API. API Play Integrity включает все функции безопасности, которые были в SafetyNet, и добавляет новые возможности, такие как лицензирование приложений в Google Play и улучшенную систему обработки ошибок.

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

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

212.14 Экран «Поддержка». Свернутое приложение

В рамках задачи доработали отображение чата с оператором в разделе «Поддержка» на устройствах с операционной системой iOS.

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

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

212.15 Обучающие подсказки. Розыгрыш

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

В подсказках говорится:

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

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

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

212.16 Новый баннер «Увеличь шансы» в Профиле

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

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

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

212.17 Календарь с днями активности. Розыгрыш для пользователей

На странице Розыгрыша создали календарь, в котором пользователь может отслеживать свою активность по каждому номеру телефона (если у него их несколько).

Календарь показывает активность пользователя за каждый день. Если пользователь будет заблокирован, то в календаре будет отображена дата блокировки.

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

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

212.18 Баннер «Розыгрыш»

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

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

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

212.19 Автоматическое обновление Главного экрана после пополнения баланса

Информация о текущем балансе на Главной странице приложения теперь обновляется автоматически.

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

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

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

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

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

😊 Мы позаботились о каждом этапе, чтобы участие было максимально простым и удобным!

212.20 Создали в Личном кабинете новые таблицы lottery и дополнили dictionary

В Личном кабинете создали новые таблицы в Базе данных для хранения информации о розыгрыше. В этих таблицах будет храниться следующая информация:

  • о самом розыгрыше (lottery);
  • о периоде розыгрыша (lottery_period);
  • о призах в розыгрыше (lottery_award);
  • о шансах на выигрыш (lottery_chance).

Также дополнили существующую таблица LotteryDictionary.

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

212.21 Метод POST /lottery/chances — реализация метода для фиксации шанса

Реализовали на стороне Личного кабинета новый метод POST /lottery/chances.

Основной механизм по формированию списка номеров-участников розыгрыша и передача шансов в метод POST /lottery/chances реализованы со стороны Биллинга.

Биллинг, в свою очередь, передает информацию в метод POST /lottery/chances в следующих ситуациях:

  • При первоначальной инициализации;
  • При пополнении баланса на сумму, равную двум абонентским платам;
  • При изменении статуса номера с «Бесплатника» на «Платника» в финансовом плане.

Новый метод POST /lottery/chances интегрирован с функционалом Биллинга для обеспечения корректной передачи информации о шансах участия в розыгрыше.

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

212.22 Процесс активации и процесс блокировки номера. Передача статуса шанса в метод PUT /lottery/chances/{id}

Реализовали метод PUT (/lottery/chances/{id}) на стороне Личного кабинета. Этот метод вызывается из Биллинга во время активации или блокировки номера телефона.

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

При активации номера создается задача на фиксацию шанса с установкой статуса active.

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

212.23 Метод DELETE /lottery/chances/{phone}. Перевыпуск номера

Реализовали на стороне API Личного кабинета метод DELETE /lottery/chances/{phone}.

В момент, когда номер отправляется на перевыпуск, все зафиксированные шансы удаляются.

Метод принимает один параметр — phone (int), указывающий номер телефона, на котором требуется удалить все шансы.

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

212.24 Метод GET /lotteries — Получение списка розыгрышей и статусов розыгрышей

Реализовали на стороне API LK метод GET /lotteries по получению всех розыгрышей и их статусов. Из Биллинга отправляется запрос на получение списка розыгрышей, при этом сгенерированный шанс фиксируется для активного розыгрыша.

Метод принимает два параметра:

  • id (int) — идентификатор розыгрыша;
  • status (enum:string LotteryDictionary::CHANCE_STATUSES).

Также в запросе есть поле expand, которое содержит дополнительную информацию о розыгрыше. Ответ от сервера приходит с кодом 200.

Ответ содержит массив Lottery, в котором каждый элемент имеет следующие поля:

  • id (int) — идентификатор розыгрыша;
  • name (string) — наименование розыгрыша;
  • description (string) — описание условий проведения розыгрыша;
  • award_info (string) — список призовых мест и информация по призам;
  • started_at (dateTime:string) — дата начала розыгрыша;
  • ended_at (dateTime:string) — дата окончания розыгрыша.

Поле expand также может содержать информацию о периодах розыгрыша (LotteryPeriod[]) и призах (LotteryAward[]).

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

212.25 Метод GET /lottery/chances получение списка всех шансов

Реализовали метод на стороне API, который возвращает список шансов.

При генерации нового шанса Биллинг первоначально обращается к Личному кабинету с помощью метода GET /lottery/chances и отправляет запрос о наличии шанса на номере.

Входящие параметры:

  • lottery_id — идентификатор розыгрыша;
  • phone — номер телефона, для которого были сгенерированы шансы;
  • code — присвоенный код;
  • status (enum:string) (LotteryDictionary::CHANCE_STATUSES) — статусы шансов;
  • page — страница;
  • per_page (int) — по умолчанию возвращаем 50 записей.

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

212.26 Метод GET /lottery/phones

Реализовали в API метод GET /lottery/phones, который возвращает номера телефонов, участвующие в розыгрыше.

Метод принимает следующие параметры:

  • lottery_id — идентификатор розыгрыша. Этот параметр позволяет пользователям получать информацию о шансах и номерах для этого розыгрыша;
  • phone — номер телефона;
  • status — статус номера;
  • page — страница;
  • per_page — количество записей на странице. По умолчанию выдается 50 записей;
  • expand: chances — подробная информация по всем шансам.

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

212.27 Параметр has_mobile_app. Установка мобильного приложения

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

В запросе GET /lottery/phone для основного и дополнительных номеров происходит проверка на предмет авторизации пользователя в приложении.

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

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

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

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

212.28 Логика параметров info_title и info_desc в методе GET /lottery/phones

Реализовали логику для параметров info_title и info_desc. На клиенте отображается следующий текст:

  • info_title: «Внимание! Номер заблокирован!»;
  • info_desc: «Продолжи участие в розыгрыше — внеси полную абонентскую плату до конца дня по МСК».

Логика на серверной части реализуется следующим образом:

  1. Если статус шанса CHANCE_STATUS_INACTIVE для типа CHANCE_TYPE_PERIOD, а значение даты updated_at совпадает с текущей датой по московскому времени (МСК), то в ответе возвращается информация для параметров info_title и info_desc.
  2. Если значение updated_at не совпадает с текущей датой по МСК, то информация по параметрам info не возвращается.

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

212.29 Доработка метода GET /lottery. Добавление новых параметров

В метод GET /lottery добавили параметр broadcast_at (dateTime:string), который содержит время начала трансляции розыгрыша. На этот параметр ориентируются фронтенд-разработчики, чтобы определить, показывать таймер или нет.

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

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

212.30 Метод GET /lottery/awards — получение списка призов

Реализовали метод GET /lottery/awards для получения списка призов.

Метод принимает один параметр — lottery_id (идентификатор розыгрыша). От сервера приходит ответ код 200.

Ответ содержит массив LotteryAward, в котором каждый элемент имеет следующие поля:

  • id (int) — идентификатор приза;
  • lottery_id (int) — идентификатор розыгрыша;
  • position (int) — порядковый номер приза;
  • name (string) — наименование приза;
  • code — код шанса (А, В, С — значение).

Также в ответе есть поле expand, которое содержит информацию о победителе. Эта информация берется из схемы LotteryChance. В ней каждый элемент также имеет несколько полей:

  • id (int) — идентификатор шанса;
  • lottery_id (int) — идентификатор розыгрыша;
  • phone (int) — номер телефона;
  • code (string) — код шанса (А, В, С — значение);
  • status (enum:string LotteryDictionary::CHANCE_STATUSES) — статус шанса;
  • type (enum:string LotteryDictionary::CHANCE_TYPES) — тип шанса;
  • info (string) — причина, по которой шанс неактивен;
  • updated_at (dateTime:string) — дата обновления.

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

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

212.31 В метод GET /lottery/phones добавили схему LotteryProfileBonuses

Расширили метод GET /lottery/phones новым параметром expand == bonuses. Этот параметр необходим для корректной работы клиентской части Личного кабинета. Мы учли сценарий, когда в следующем розыгрыше не будет необходимости предоставлять информацию о дополнительных действиях, таких как подтверждение паспортных данных на ЕСИА, авторизация в Личном кабинете или подписка на телеграм-канал.

Добавили новый expand == bonuses, который возвращает схему LotteryProfileBonuses, включающую:

  • name — название действия;
  • status — статус действия (активный / неактивный);
  • code — код названия действия.

Доступные значения параметра code:

  • has_mobile_app — наличие мобильного приложения;
  • has_esia — подтверждение номера на Госуслугах;
  • has_tg_channel — подписка на телеграм-канал.

Мы добавили фильтрацию по параметру code в GET /lottery/phones со всеми возможными вариантами, что может потребоваться для создания отчета в медиамаркетинге.

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

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

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

Теперь статус номера будет ACTIVE при выполнении следующих условий:

  • Количество периодов равно количеству неактивных шансов с типом period.
  • Если существует шанс с типом pay, он должен быть активен. Если шанса с типом pay нет, статус должен быть INACTIVE.

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

212.33 Генерация уникального числа для ссылки на телеграм-канал

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

Когда отправляется запрос в метод GET /lottery/phones с параметром expand == phoneInfo.tg_channel_link (string), по базе Биллинга и таблице tbl_values_string проверяется, есть ли уже сгенерированное число для номера телефона.

Если ссылки нет, то на стороне личного кабинета генерируется уникальное число, возвращается ссылка в параметр phoneInfo.tg_channel_link и записывается в базу Биллинга.

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

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

212.34 Метод GET /system/vars параметр lottery_action_esia

Доработали метод GET /system/vars и добавили новый параметр lottery_action_esia (bool), который может принимать значение true или false.

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

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

212.35 info_status в schema LotteryPhone

В схему данных LotteryPhone добавили новый параметр info_status.

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

Теперь для клиентов добавили новый метод GET /lottery/phones, который предоставляет единую причину, почему номер не участвует в розыгрыше.
Новый параметр info_status содержит универсальную причину, которая объясняет, почему номер неактивен и не может участвовать в розыгрыше.

В параметр info_status выводим универсальную причину:

К сожалению, номер был неактивен (заблокирован) и больше не может участвовать в розыгрыше. Повезет в следующий раз!

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

212.36 Верификация в Личном кабинете

Изменили логику работы кнопки «Пройти верификацию» в блоке «Информация о номере» в Личном кабинете.

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

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

Кроме того, добавили дополнительную логику для золотой кнопки «Пройти верификацию»:

  • Теперь показываем кнопку «Пройти верификацию». При нажатии пользователь будет перенаправлен на экран для ввода паспортных данных.
  • Анализируем параметр esia_check_status: new. Если этот параметр равен new, то показываем кнопку «Подтвердить через Госуслуги». Это позволит пользователям подтвердить свои данные через Госуслуги.
  • В случае если паспортные данные подтверждены в Безлимит и на Госуслугах, мы скрываем кнопку из раздела «Информация о номере».

Эти изменения направлены на совершенствование процесса верификации пользователей и улучшение пользовательского опыта в целом.

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

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

212.37 Отображение времени получения уведомления

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

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

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

212.38 Отображение модального окна в разделе «Поддержка»

Внесли изменения в отображение модального окна с ответом, которое появляется при нажатии на вопрос в разделе «Поддержка».

У модального окна с ответом на вопрос и модального окна, которое отображается при нажатии на кнопку «Написать директору», разный размер. Ранее при нажатии сначала на «Написать директору», а потом на вопрос — размер окна с ответом автоматически менялся на тот же, что и при «Написать директору». Это нарушало верстку, отображалось некорректно.

После внесенных изменений такой проблемы не наблюдается.

212.39 Возможность оплаты брони в Store Безлимит

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

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

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

212.40 Оплата номера бонусами. Рекомендуемая и минимальная сумма для пополнения

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

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

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

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

Сайт

212.41 Метатеги на странице розыгрыша для пользователей

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

Розыгрыш для пользователей Безлимит Будь активным и забери один из 1 000 призов! Участвуй в Розыгрыше с призовым фондом более 3 000 000!

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

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

212.42 Модальное окно «Ошибка»

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

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

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

Биллинг

212.43 Не отправлять СМС о продлении трафика на номера с подключенной услугой LTEF

Существует скрипт, который проверяет пакеты данных и отправляет уведомления, если их использование достигло 90%. Это необходимо для информирования пользователей о том, что у них осталось мало трафика, и им необходимо пополнить счет или оптимизировать потребление данных.

В рамках задачи добавили проверку на наличие услуги LTEF на номере. Если она подключена, то номера пропускаются: скрипт не отправляет уведомления о трафике на эти номера.

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

212.44 Изменение функционала проверки на существующий номер и на дубли

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

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

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

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

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

212.45 Начисление коинов за выполнение действий в профиле. Мониторинг

В рамках задачи доработали столбец «ЛК Профиль (Coins)» в отчете 2 «Мониторинг».

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

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

212.46 Проверка серийного номера сим-карты на дубли в других номерах

В карточке номера добавили проверку для поля «Номер SIM», в которое вводится серийный номер SIM-карты, чтобы убедиться, что такой номер не используется в других карточках номеров.

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

Также в рамках задачи доработали проверку изменения поля «Новый номер SIM», когда «Флаг замены SIM» уже был установлен. Если флаг «Замена SIM» установлен и происходит попытка изменения поля «Новый номер SIM», то будет активирована аналогичная проверка, как и с полем «Номер SIM».

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

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

212.47 Доработка 47 сводного отчета по активациям. Автоконверты. «Не плати за связь» в Store Безлимит

Внесли изменения в процесс первичной активации номера. Теперь мы проверяем бронирования Store Безлимит на наличие дополнительных данных:

  1. Если в дополнительных данных есть запись auto_envelope, то в таблице отчета по активациям проставляется признак from_store = 2.
  2. Если в дополнительных данных указано значение {"nps":{"phone": 9675505050}}, то проставляется признак from_store = 3.

В отчете 31 по активациям мы уточнили определение признака Store Активация. Теперь значение «ДА» указывается при наличии признака from_store, равного 1, 2 или 3 (один из вариантов).

В сводном отчете по активациям 47 мы разделили значения, которые учитываются в колонке «Активации Store Безлимит».

Также добавили две новые колонки:

  • Активации «Автоконверты». Учитываются при наличии from_store = 2.
  • Активации «НПС Store». Учитываются при from_store = 3.

Эти колонки размещены справа от колонки «Активации Store».

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

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

212.48 Дополнительные колонки для 42 отчета по эффективности менеджеров

В 42 отчет по эффективности менеджеров добавили новые колонки:

  • Общее количество сделок на менеджере. Ее расположили в блоке «Лиды» после колонки «Лидов сконвертировано в Сделки».
  • Общее количество «номеров-вампиров» за менеджером. Эту колонку расположили в блоке «Клиенты» после колонки «Включено по НПС».
  • Количество потенциальных номеров в руках клиентов. Эту колонку расположили после колонки «Общее количество потенциальных».

Как мы собираем данные:

  1. Информацию по колонке «Общее количество сделок на менеджере» берем из сводной таблицы в Битрикс вместе с остальными данными. Название колонки в таблице — UF_DEALS_PROGRESS_COUNT.
  2. Общее количество «номеров-вампиров» за менеджером вычисляем по параметру «Ответственный менеджер» в Биллинге.
  3. Количество потенциальных номеров в руках клиентов.

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

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

Если менеджер работает меньше 15 дней, то этот параметр для него не рассчитывается.

В самой колонке появится информационная иконка. Если навести на нее курсор, появится подсказка: «Это значение показывает, какой процент доставок был успешным».

ИТОГО по дню: мы суммируем значения по каждому менеджеру.

В ИТОГЕ:

  • Общее количество сделок на менеджере: показываем среднее значение AVG и итоговое значение за последнюю дату.
  • Общее количество «номеров-вампиров»: показываем среднее значение AVG и итоговое значение за последнюю дату.
  • Количество потенциальных номеров в руках клиентов: суммируем значение по отделу за день. В итоге показываем значение за последний день отчета + AVG.

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

212.49 Корректировка работы блокировки по сохранению раньше срока

Внесли изменения в процесс блокировки номера по сохранению.

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

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

212.50 Валидация ответственного менеджера перед первичной активацией номера

Внесли изменения в функционал активации номера телефона.

Теперь при активации проверяется, соответствует ли номер определенным критериям и закреплен ли он за дистрибьюторской сетью. Если номер удовлетворяет всем условиям, то проверяется карточка номера телефона Единой системы аутентификации (ЕСА), которая использовалась для бронирования через Суперссылку личного кабинета. В этой карточке должен быть указан ответственный менеджер.

Если значение поля «Ответственный менеджер» пустое, то процесс активации продолжается без изменений.

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

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

212.51 Временная приостановка функционала eSIM в связи с миграцией платформы функционала eSIM в билайн

В период с 16 по 18 июля включительно в Биллинге была скрыта кнопка создания eSIM. Вместо нее отображался текст «Временно не работает с 16 по 18 июля».

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

  • в Личном кабинете b2b невозможно было произвести замену обычной сим-карты на eSIM;
  • ранее сгенерированный QR-код стал не валидным, поэтому его нельзя было использовать повторно.

С 18 июля функционал в личном кабинете снова стал доступен.

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

212.52 Убрали временную приостановку функционала на замену eSIM

Функция замены eSIM снова доступна в Биллинге. Ранее возможность управления была приостановлена из-за миграции на новую платформу.

В Карточке номера снова отображается кнопка создания eSIM.

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

212.53 Добавили триггер в Telegram-бот Безлимит

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

Теперь бот будет информировать о следующих событиях:

  • создание номера с бесплатным обслуживанием (бесплатника);
  • установка запрета блокировки на номере;
  • смена (установка) лимита блокировки свыше 3 000 рублей.

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

Также в сообщении будут указаны следующие данные:

  • ID дилера;
  • контактное лицо.

Пример такого уведомления:

«Внимание! Появился новый бесплатник 9062878888. ID 74326: Павел. FromStore».

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

212.54 Добавили в Облако новую колонку «Признак НПС»

В разделе «Облако» на Складе внесли изменения во вкладки «Облако без ПА», «Облако ПА» и «Платные»:

  • Добавили новую колонку «Признак НПС». Эта колонка отображает значение из признака НПС, который указан в Карточке номера.
  • Новую колонку добавили в файл экспорта в Excel. Разместили ее в конце списка после колонки «Ресурс реализации номера».

Теперь при экспорте данных в Excel будет отображаться дополнительная информация о номерах, связанная с признаком НПС.

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

212.55 Розыгрыш для пользователей. Функционал просчета активных дней для всех номеров Биллинга

Создали специальный скрипт (крон), который автоматически проверяет определенные условия каждый день. Он ищет активный розыгрыш в Личном кабинете пользователя и определяет его параметры: наличие статуса Process в таблице Schema Lottery, даты начала и окончания периода розыгрыша в таблицах Schema Lottery и Schema LotteryPeriod.

Если текущая дата совпадает с датой начала периода розыгрыша, то происходит начисление шансов на выигрыш всем пользователям, которые соответствуют указанным условиям: у них не установлен флаг ПА (Флаг ПА = Нет) и их финансовый статус — «Платник».

В 00:01 ежедневно запускается команда, которая проверяет наличие Розыгрыша в статусе Process в таблице Schema Lottery. Также проверяются даты начала периода розыгрыша started_at и конца периода розыгрыша ended_at. Кроме того, проверяется дата начала периода в таблице schema LotteryPeriod параметр started_at.

Если розыгрыш находится в статусе Process и дата начала периода из таблицы LotteryPeriod совпала с текущей датой, то запускается формирование шансов по периоду.

Все номера с Флаг ПА = Нет. Исключаем по умолчанию номера с финансовым статусом «Бесплатник», Облако и Ремонт.

Если номер на момент начала периода розыгрыша имеет Флаг ПА = Нет и находится в блокировке по Безлимиту, то в таблицу schema LotteryChance записываем шанс в статусе status = CHANCE_STATUS_INACTIVE, type = CHANCE_TYPE_PERIOD.

Если номер на момент начала периода розыгрыша имеет Флаг ПА = Нет и находится в активном статусе по Безлимиту, то в таблицу schema LotteryChance записываем шанс в статусе status = CHANCE_STATUS_ACTIVE, type = CHANCE_TYPE_PERIOD.

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

API

212.56 Добавить кабинет в очередь саморегистрантов

Внесли изменения в правила распределения саморегистрантов Store Безлимит. Удалили и добавили определенные дилерские кабинеты в процесс распределения.

Также добавили значение REGISTRATION_PARENT_USER_IDS с идентификатором ID ЕСА 523668.

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

212.57 Временная приостановка функционала в API для eSIM

В период с 16 по 18 июля функционал генерации eSIM был недоступен. При любом запросе на создание eSIM (при активации из брони в Store Безлимит, Суперссылки или запросе из Личного кабинета) приходил ответ: «Технические работы. С 16 по 18 июля создание eSIM не доступно».

Аналогичный ответ приходил при попытке создать бронь с eSIM в Store Безлимит, по Суперссылке и сайте, а также при запросе eSIM из Личного кабинета.

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

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

212.58 Убрали временную приостановку функционала eSIM в API

Убрали временную приостановку функционала создания eSIM во всех наших ресурсах.

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

Ранее функционал был приостановлен из-за миграции на другую платформу.

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

AUTO

212.59 Автотест на работоспособность сайта и на окончание срока действия домена

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

Этот автотест запускается не чаще двух раз в день.

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

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

212.60 Добавление ссылок для проверки работы сайтов

Ранее мы реализовали задачу по созданию автотеста по проверке работы сайтов.

В рамках задачи добавили новые ссылки для проверки: store-old.bezlimit.ru, store.bezlimit.ru, lk.bezlimit.ru и другие.

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

Битрикс

212.61 Скрипт для обновления паролей у всех активных пользователей

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

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

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

212.62 Сбор и выгрузка переписок WhatsApp

В рамках задачи извлекли большой объем данных из Базы, где хранились диалоги с клиентами в WhatsApp. Данные будем использовать для анализа искусственным интеллектом и дальнейшей проработки для создания робота-менеджера.

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

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

212.63 Таблица расхода сим-карт для НПС

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

Таблица создана с использованием HL-блоков — специальных инструментов для разработки и настройки сайтов. Интерфейс таблицы доступен во вкладке CRM.

По умолчанию доступ к этой вкладке есть только у администраторов системы. Они могут предоставить доступ другим пользователям.

Пользователи, получившие доступ к таблице, могут изменять значения только в первом столбце — «Лимит».

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

Сотрудник — ответственный сотрудник за сделку в воронке НПС.

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

Расход — количество сим-карт, израсходованных сотрудником в текущем календарном месяце. Значение меняется, когда сотрудник нажимает кнопку «Оформить доставку» в окне оформления доставки. Одно заполненное значение в поле «Номера в заказе» равно одной сим-карте.

Остаток — остаток сим-карт на оставшийся месяц. Вычисляется по формуле: значение столбца «Лимит» минус значение столбца «Расход». Значение пересчитывается при каждом оформлении доставки/перерасчете или при ручной корректировке столбцов «Расход» или «Лимит».

Перерасчет:

  • При попадании сделки в стадии «Сделка провалена», «Отказ», «Дубль», «Возврат менеджеру на дозаполнение полей» в воронке «Логистика» производится перерасчет расхода сим-карт.
  • Если сделка находится в стадии «Возврат менеджеру на дозаполнение полей» или «Дубль», то пересчитывается количество сим-карт для всех сделок, которые относятся к воронке НПС.
  • Для сделок в стадиях «Сделка провалена» и «ОТКАЗ» производится перерасчет для курьерских доставок.

После проверки по сделке в логистике при каждом открытии окна доставки для удобства менеджеров отображается количество оставшихся сим-карт на месяц для сотрудника.

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

Маркетинг

212.64 Отметить все сообщения как прочитанные

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

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

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

212.65 Макеты чехлов для телефонов

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

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

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

212.66 Заставки для розыгрыша

Подготовили три заставки, которые необходимы нам для проведения розыгрыша 10 сентября.

Первая заставка зациклена, в течение часа будет отображаться на нашем Youtube-канале перед началом проведения мероприятия.

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

И еще одна заставка с поздравлением победителей.

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

212.67 Интро для розыгрыша

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

212.65 Текст для App Store

Подготовили новое описание для приложения Store Безлимит, которое теперь будет представлено в магазинах приложений, таких как App Store, Google Play и других.

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

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

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

212.66 Презентация «Приложение Безлимит»

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

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

212.67 12 лет Безлимит

Обновили видео обо всех этапах развития компании. Добавили информацию за 2023 и 2024 года.

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

212.68 Этикетка для бутылки воды

В рамках задачи подготовили варианты оформления этикеток для нашей брендированной воды.

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

В Блоге на сайте опубликовали 10 новых статей.

В Store Безлимит рассказали об истории операций и управлении забронированными номерами.

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

В наших официальных сообществах ВКонтакте, Телеграм, Инстаграм, Фейсбук и Одноклассниках было опубликовано 4 поста (репутационных, продающих, развлекательных и информационных).

Были отражены такие темы:

  • Как мошенники взламывают соцсети.
  • Команда Безлимит на в забеге RUNIT.
  • Как почистить смартфон.
  • Подборка красивых номеров Безлимит.

212.71 Email-рассылка с информацией о розыгрыше

Запустили email-рассылку по базе всех пользователей Безлимит с информацией о Розыгрыше 3 000 000 с целью проинформировать максимальное кол-во аудитории и напомнить об условиях участия.