Платежные системы, нотификации, CRM: как мы настраиваем внешнюю интеграцию

На примере VPN-приложения

Проект

VPN-приложение с платной подпиской

Задача

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

Результаты

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

Что такое внешняя интеграция

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

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

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

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

Примеры внешней интеграции

Интеграция CRM-системы

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

Интеграция системы управления складом

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

Интеграция системы нотификаций

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

Интеграция платежных систем

Автоматизирует процесс оплаты. Например, с системами вроде SberPay не нужно даже вводить данные карты — деньги списываются мгновенно

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

Проект: VPN-приложение с платной подпиской

Канадская компания владеет платформой с видео для взрослых. Пользователи сервиса из некоторых стран не могли смотреть контент из-за блокировок. Чтобы вернуть клиентам доступ к платформе, компания решила выпустить платное VPN-приложение и обратилась с этой задачей в OrbitSoft.
За 10 месяцев мы разработали приложение для iOS, MacOS, Android, Android TV и Windows. Заказчик сохранил свою аудиторию и получил дополнительную прибыль: приложением пользуются не только подписчики платформы, но и другие пользователи — это сотни тысяч клиентов.

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

Задача: настроить интеграцию приложения с внешними системами

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

Для реализации этого сценария нам нужно было интегрировать приложение с несколькими внешними сервисами:

  • платежными системами, чтобы пользователи могли оплатить подписку;

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

  • CRM-системой, чтобы у компании появилась единая клиентская база для запуска рекламных кампаний;
  • системой мониторинга логов и ошибок, чтобы оперативно исправлять сбои в приложении.
<p>Схема интеграции приложения</p>

Схема интеграции приложения

Подготовили основу: выстроили надежную архитектуру приложения

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

1. База данных на технологии MongoDB может легко масштабироваться на несколько серверов. Это важно для высоконагруженных приложений с сотнями тысяч пользователей. Если выбрать БД, которая не может масштабироваться, то с ростом количества пользователей потребуется докупать оборудование, а это дополнительные расходы на проект.

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

С грамотно спроектированным API приложения обрабатывают большое количество данных, не теряя в производительности. Наш API-сервер работает на кластере из трех серверов: так получается обрабатывать больше запросов с меньшими задержками.

<p>Схема архитектуры приложения </p>

Схема архитектуры приложения

Интегрировали платежные системы

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

В нашем приложении доступна оплата картой с помощью платежных сервисов Stripe, PayPal, Google Pay и Apple Pay и криптовалютой — через CoinPayments.

Если пользователь уже оплачивал подписку на сайте картой или через Apple Pay и Google Pay, сайт запомнит эти данные. Достаточно нажать платежную кнопку — оплата пройдет автоматически
Если пользователь уже оплачивал подписку на сайте картой или через Apple Pay и Google Pay, сайт запомнит эти данные. Достаточно нажать платежную кнопку — оплата пройдет автоматически

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

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

В статье «Какой платежный шлюз самый удобный» мы сравниваем Stripe, CoinPayments, PayPal, Google Play Billing и Apple In-App Purchase и делимся наблюдениями, которые сделали за полтора года использования этих шлюзов.

Интегрировали систему нотификаций

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

В приложении два вида уведомлений:

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

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

Пуш-уведомление о том, что VPN подключен
Пуш-уведомление о том, что VPN подключен

Интегрировали CRM-систему

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

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

  • с какой рекламной площадки пришел клиент;
  • в какой стране и городе живет;
  • какую платежную систему использовал;
  • сколько времени провел в приложении;
  • еще система считает количество отказов — сколько пользователей удалило приложение после пробного периода.

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

Разработали и интегрировали систему мониторинга

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

Для VPN-приложения мы разработали и внедрили несколько систем мониторинга:

  • техподдержка — помогает получать обратную связь об ошибках и сообщать пользователю, что его проблему решили;
  • система просмотра логов — дает администратору информацию о действиях пользователей и работе сервера, чтобы быстро найти причину проблемы;
  • crash reporting для Windows — формирует отчет об ошибке и высылает администратору на почту. Из отчета можно понять, какая часть кода вызвала ошибку.

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

Результаты

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

Для VPN-приложения мы настроили:

  • Интеграцию с платежными системами — пользователи могут выбрать наиболее удобный и безопасный способ оплатить подписку.
  • Интеграцию с системой нотификаций — пользователи получают информацию, а приложение экономит ресурсы.
  • Интеграцию с CRM-системой — маркетологи компании получили единую клиентскую базу и используют ее, чтобы настраивать эффективные рекламные кампании.
  • Интеграцию системы мониторинга логов и ошибок — администраторы могут оперативно исправлять сбои в приложении. Это улучшает пользовательский опыт. Так, количество обращений от пользователей веб-приложения для Windows снизилось c 90 до 2 писем в месяц.
4 комментария

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

Ответить

Да, CRM - полезный инструмент. Самостоятельно внедряли или обращались за помощью?

Ответить