Проаптека
1
Медицина и ветеринария
Россия
Порталы и сервисы
Март 2025
Клиент: «ПроАптека» — один из крупнейших маркетинговых союзов независимых аптек и сетей в России.
Задача: создать сервис для производителей фармацевтических препаратов и аптечных сетей, в котором можно управлять полным циклом промоактивностей. Производителям нужна была возможность самостоятельно создавать промомероприятия для стимулирования закупок и продаж: выбирать товары, задавать условия, рассчитывать бюджет, определять список аптек-участников и отслеживать результаты. Аптечным сетям — видеть доступные промо, подключаться к ним и получать вознаграждение при выполнении условий.
По сути, нужно было разработать маркетплейс, где продаются не товары, а промомероприятия: производитель запускает акцию, аптеки участвуют в ней, система фиксирует продажи или закупки, рассчитывает результаты и помогает провести выплаты. Отдельной важной частью задачи стали интеграции: сквозная авторизация, база данных «ПроАптеки», ЭДО, смарт-контракты, номинальные счета и безопасный деплой без прямого доступа к серверу заказчика.
Работу начали с аналитики: разобрали роли пользователей, сценарии внутри личного кабинета и логику будущей платформы. Нужно было понять, как производители будут создавать промоактивности, как аптеки — подключаться к ним, какие данные потребуются из базы «ПроАптеки» и какие процессы должны работать автоматически.
После этого собрали CJM и прототипы, чтобы заранее проверить путь пользователя: от авторизации и добавления товаров до запуска промо, расчета бюджета, участия аптек и финальных выплат.

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


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

Создание промо сделали пошаговым. Производитель задает даты, тип промо — закупка или продажа, название и описание. Затем выбирает товары, указывает условия выполнения, цену и размер вознаграждения за единицу товара.


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

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

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

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

Проект получился одним из самых интегрированных в студии: в нем одновременно работают сквозная авторизация, база данных «ПроАптеки», ЭДО, смарт-контракты, номинальные счета и обмен данными по API.
Отдельно продумали транзакционность: цепочку операций нужно было выстроить так, чтобы сбой в одной интеграции не ломал весь процесс. Например, интеграция со смарт-контрактами критичнее интеграции с ЭДО, потому что документы при необходимости можно создать вручную, а смарт-контракты работают только через API.
Еще одна важная часть — криптографическое подписание операций. Для этого использовали КриптПро, ГОСТ-шифрование и отдельный защищенный контур. Изначально подписание было полностью автоматизировано, но позже мы вместе с заказчиком усилили безопасность: вынесли ключ шифрования на отдельный сервер в офисе заказчика, а черновики документов теперь должен подтверждать ответственный сотрудник.
Так как сервис работает с чувствительными данными, включая персональные, стандартный деплой не подходил: у команды не должно было быть прямого доступа к серверу заказчика. Поэтому мы выбрали схему с Docker-контейнерами и Portainer.
Разработчик собирает изменения в Docker-образ и публикует его в Docker-реестре, к которому есть доступ у «ПроАптеки». На стороне заказчика администратор через Portainer выбирает нужный образ и обновляет контейнер на своем сервере.

Так заказчик может безопасно устанавливать обновления у себя, а команда разработки — передавать готовые версии сервиса без SSH-доступа, ручной настройки окружения и прямого вмешательства в инфраструктуру клиента.
В результате заказчик получил полноценную платформу для управления промоактивностями между производителями фармацевтических препаратов и аптечными сетями.
В сервисе производители могут:
• создавать промомероприятия под закупку или продажу препаратов;
• добавлять товары из общего справочника в свой каталог;
• задавать условия промо, сроки, бюджет и размер вознаграждения;
• выбирать аптеки-участники по регионам и другим параметрам;
• отслеживать продажи и закупки в рамках промо;
• видеть финансовую информацию, зарезервированные средства и историю операций.
Аптечные сети, в свою очередь, получили личный кабинет, где видят доступные для них промо, могут подключаться к ним и получать вознаграждение при выполнении условий.
Отдельно мы автоматизировали финансовую часть и документооборот: подключили номинальные счета, смарт-контракты, ЭДО, акцептование итогов, формирование документов и механизм выплат. Благодаря этому промоактивность проходит весь путь внутри одной системы: от создания и запуска до согласования результатов и распределения вознаграждений.
Также мы выстроили безопасный процесс обновления сервиса через Docker и Portainer: команда разработки передает готовые версии без прямого доступа к серверу заказчика, а «ПроАптека» самостоятельно устанавливает обновления в своей инфраструктуре.