Sof Lex - Маркетплейс с партнерской программой

Sof Lex: маркетплейс с партнёрской программой до 8 уровней, внутренним балансом, выводом на карту, квестами и призами. Модель данных, ТЗ и прототипы кабинетов.

Sof Lex - Маркетплейс с партнерской программой
INGELLO / BUSINESS0235
Связаться с нами
Денежный поток маркетплейса: покупатель платит частью с баланса и частью картой, система держит деньги до подтверждения отправки
Денежный поток маркетплейса: покупатель платит частью с баланса и частью картой, система держит деньги до подтверждения отправки

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

Корзина остаётся корзиной. Всё интересное происходит вокруг неё
Корзина остаётся корзиной. Всё интересное происходит вокруг неё

Задача

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

Что внутри

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

Партнёрское дерево до 8 уровней: проценты отчислений зависят от уровня и купленного кабинета
Партнёрское дерево до 8 уровней: проценты отчислений зависят от уровня и купленного кабинета

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

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

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

Кабинет партнёра: уровень, реферальная ссылка с кнопками «поделиться», баланс, квесты, статистика и рефералы
Кабинет партнёра: уровень, реферальная ссылка с кнопками «поделиться», баланс, квесты, статистика и рефералы
Квесты: общая статистика, шкала монет 30, 60, 90, 120, задания «оставить отзыв»
Квесты: общая статистика, шкала монет 30, 60, 90, 120, задания «оставить отзыв»
Прототип недельных квестов: прогресс по подтверждённым друзьям, таймер до обновления, карточки заданий
Прототип недельных квестов: прогресс по подтверждённым друзьям, таймер до обновления, карточки заданий

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

Папка макетов: вывод средств, главная пользователя, квесты, конкретный квест, новости
Папка макетов: вывод средств, главная пользователя, квесты, конкретный квест, новости
Фрагмент ТЗ: статусы заказа у продавца по шагам, от подтверждения до возврата
Фрагмент ТЗ: статусы заказа у продавца по шагам, от подтверждения до возврата

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

Фрагмент ТЗ: восстановление пароля по письму со ссылкой
Фрагмент ТЗ: восстановление пароля по письму со ссылкой
ECOCOM.INGELLO: наша магазинная сборка того времени, язык, валюта, интеграции и готовые компоненты
ECOCOM.INGELLO: наша магазинная сборка того времени, язык, валюта, интеграции и готовые компоненты
Карточка в ECOCOM.INGELLO: наличие, количество, отзывы, рейтинг, теги
Карточка в ECOCOM.INGELLO: наличие, количество, отзывы, рейтинг, теги
Личный кабинет покупателя: профиль, пароль, заказы, список желаний, загрузки
Личный кабинет покупателя: профиль, пароль, заказы, список желаний, загрузки
Админка ECOCOM: просмотр корзины заказа с позициями, налогом и итогом
Админка ECOCOM: просмотр корзины заказа с позициями, налогом и итогом

Магазинный контур (каталог, корзина, избранное, язык и валюта, кабинет покупателя, админка заказов) на скриншотах показан на ECOCOM.INGELLO, нашей магазинной сборке тех лет. Товарами в ней были наши же интеграции: оплата Fondy, Dropbox, вход через Google, чат Jivo, графики Chart.js.

Технологии

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

Чем полезно

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

Где посмотреть

Адрес soflex.pro сейчас не открывается, а публичной версии ECOCOM.INGELLO тоже больше нет. Всё, что осталось, это макеты, ТЗ и схемы в этой статье.

Технологический стек и подходы

SaaS архитектура Микросервисы Облачные вычисления Масштабируемость ПО API интеграции DevOps процессы High-load системы Кибербезопасность решений