Мобильные приложения виртуального сотового оператора

Мобильные приложения виртуального сотового оператора

20 апреля 2017

MTX Connect — виртуальный оператор сотовой связи, предоставляющий доступ в Интернет на территории Европы, использующий инфраструктуру других мобильных операторов, но имеющий собственный персонал, биллинг, клиентскую поддержку для предоставления мобильного Интернета.

  • MTX обеспечивает фиксированную цену на мобильный Интернет в любой стране Европы. Отсутствие роуминга по странам позволяет сэкономить 5–10€ за 100 Мб трафика по данным на апрель 2017 года.
  • SIM-карта MTX Connect может использоваться на любом 3G- и 4G-совместимом мобильном устройстве: планшете, смартфоне, 3G-модеме. SIM-карта присылается сразу в формате «три в одном»: mini, micro и nano в одной упаковке.
  • Приобретать в каждой стране SIM-карту местного мобильного оператора, во-первых, не всегда выгодно из-за тарифов с предоплатой, во-вторых, занимает время, особенно если путешествие пользователя пролегает через несколько стран, неудобно каждый раз искать салон сотовой связи. Использование MTX ликвидирует эти проблемы.

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

  • активация SIM-карт MTX Connect;
  • пополнение баланса;
  • смена тарифного плана.

Личный кабинет пользователя является фронтендом к системе биллинга CDRator.

На определенном этапе развития проекта заказчику потребовалась разработка API серверной части MTX Connect и создание мобильных приложений для Android и iOS.

Цели создания back-end API:

  • разработка и расширение функциональности серверной части MTX;
  • интеграция MTX со сторонними сервисами;
  • предоставление возможности создания front-end систем MTX.

Назначение мобильных приложений:

  • упрощение взаимодействия пользователя с системой MTX;
  • сбор статистической информации о пользователях системы MTX.

Первый этап: разработка ТЗ и проектирование API

В техзадании были спроектированы и описаны API, архитектура взаимодействия мобильных приложений c сервером MTX и механизм взаимодействия сервера MTX с системой биллинга CDRator:

  • автоматическая аутентификация клиента в сети по внутренним данным сотовой сети;
  • восстановление пароля;
  • активация SIM-карты;
  • хранение данных об используемых клиентом SIM-картах в биллинге;
  • зачисление денег на счет клиента через платежные карты или PayPal;
  • получение текущего состояния баланса;
  • просмотр истории списаний и пополнений баланса;
  • чат со службой поддержки при наличии сети MTXC (on-net), при ее отсутствии (off-net) и при отрицательном балансе;
  • многоязыковая поддержка: тексты, национальные символы, денежные знаки;
  • уведомления о состоянии баланса и использовании трафика даже при отрицательном балансе;
  • запись статистических данных о клиенте;
  • активация услуг (тарифного плана);
  • получение информации об использовании трафика;
  • интеграция с партнерскими программами: Lufthansa Miles&More и т.п.

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

Второй этап: разработка мобильных приложений для iOS и Android

Приложения взаимодействуют с сервером MTX через REST по TLS, а тот, в свою очередь, с биллингом через CDRator API. Обмен данными между бэкендом и приложениями идет путем вызова высокоуровневых методов. Вся сложная логика (активация карты, активация пакетов услуг, оплата) реализована на стороне back-end.

Когда пользователь входит в приложение на устройстве с SIM-картой MTX, бэкенд определяет по IP-адресу, является ли источник запроса on-net или off-net. Если пользователь on-net, то приложение может сделать автологин по ICCID/ip и не спрашивать имя пользователя и пароль. При статусе off-net используется вход через логин и пароль.

Для проведения платежей с помощью банковских карт используется PayZen SOAP API. Оплата производится через редирект 3-D Secure. Вся последовательность действий представлена на диаграмме.

Схема MTX
Схема маршрутов данных приложения в процессе оплаты
  1. Запрос CCPayment.
  2. Вызов createWithThreeDS PayZen SOAP API.
  3. Возврат информации для совершения платежа, сохранение ее в custom attrubutes.
  4. Возвращение redirect_url.
  5. Открытие полученного url во встроенном браузере, обработка 3-D Secure во встроенном браузере.
  6. Перенаправление на final_url с результатами обработки 3-D Secure.
  7. Перехват вызова final_url, закрытие встроенного браузера, запрос HandleAcsResponseCardIdent.
  8. Вызов finalyzeWithThreeDS() SOAP API.
  9. Совершение платежа и возврат информации о результате.
  10. Возврат информации о результате, закрытие встроенного браузера, переход на экран информации о балансе.

Функции мобильного приложения

  • Вход с помощью логина и пароля, а также возможность входа через аккаунт соцсетей.
  • Регистрация новой SIM-карты.
  • Автоматический вход клиента в сети по внутренним данным сотовой сети.
  • Управление подписками на пакеты услуг.
  • Управление уведомлениями о завершении срока действия пакета услуг.
  • Получение истории платежных операций.
  • Получение истории использования трафика.
  • Восстановление пароля.
  • Зачисление денег на счет.
  • Передача статистической информации (гео-данные, Интернет-сессии, установленные приложения).
  • Отправка сообщений в техническую поддержку.
MTX мобильное приложение главный экран
MTX мобильное приложение добавление карты
MTX мобильное приложение пополнение баланса
MTX мобильное приложение создание аккаунта
MTX мобильное приложение авторизация
MTX мобильное приложение поддержка
MTX главный экран
MTX история