
Sof Lex: маркетплейс, где покупатель одновременно может быть партнёром. Он покупает товары и услуги, приглашает друзей, получает отчисления с их покупок на внутренний баланс и тратит этот баланс в том же магазине. Сверху игровой слой: квесты, призы и уровни. Проект 2019 года, мы делали аналитику, техническое задание, модель данных и прототипы кабинетов.

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

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


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



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


Заказы у продавца идут по шагам, и статус нельзя перепрыгнуть. Новый заказ продавец подтверждает, отмечает «нет в наличии», «некорректная цена» или «отменён покупателем». Подтверждённый уходит в доставку, доставляется (с номером отслеживания) или застревает на неверных контактах. Дальше «не забрал посылку» или возврат по качеству.





Магазинный контур (каталог, корзина, избранное, язык и валюта, кабинет покупателя, админка заказов) на скриншотах показан на ECOCOM.INGELLO, нашей магазинной сборке тех лет. Товарами в ней были наши же интеграции: оплата Fondy, Dropbox, вход через Google, чат Jivo, графики Chart.js.
Технологии
Код Sof Lex в наш открытый репозиторий не попал, поэтому стек не перечисляем. По сохранившимся материалам видно архитектурное главное: денежные операции идут через транзакции со статусами и проводкой, баланс хранится десятичным числом, карты токенизированы, тексты квестов и призов вынесены в таблицы переводов.
Чем полезно
Партнёрские маркетплейсы ломаются не на витрине, а на расчётах: кто, сколько и когда получил. Здесь расчёт описан до запуска, в схеме и модели данных, и такой подход переносится на любую реферальную, агентскую или франчайзинговую модель продаж.
Где посмотреть
Адрес soflex.pro сейчас не открывается, а публичной версии ECOCOM.INGELLO тоже больше нет. Всё, что осталось, это макеты, ТЗ и схемы в этой статье.