Задача

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

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

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

Решение

Для авторизации в приложении и выгрузке информации был поднят REST API.

Для удобства и надежности, API был поднят в виде отдельного приложения на базе Yii2 Framework.

Сам сервис осуществляет обработку запросов, полностью всю валидацию и далее передает запрос в ядро Битрикс.

Полученный ответ упаковывается сервисом по внутренним правилам и отправляется клиенту.

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

Результат

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

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