Вкладка «Заработок» в приложении команды: учёт партнёрских заявок
Лидерам команды нужно было рекомендовать услуги студии и получать процент с оплаченного заказа. Я встроил в приложение вкладку «Заработок»: личные ссылки, заявки, в том числе из пересланных переписок, книгу начислений, выплаты и защиту от самозаказа. Вкладка в работе с 06.11.2026, первых оплаченных заказов по ней ещё не было.
Коротко (TL;DR)
- В приложение для лидеров команд я добавил вкладку «Заработок»: человек приводит клиента на любую IT-услугу студии и получает процент с оплаченного заказа. Всё внутри уже знакомого приложения, отдельного сервиса нет.
- Деньги считает книга проводок: начисление равно проценту от чистых поступлений (оплаты минус возвраты). Возврат или отмена ошибочной оплаты пересчитываются тем же правилом.
- Заявка с номером самого партнёра или дубль не начисляются автоматически, их решает менеджер. Так закрыт самозаказ.
- Статус: в работе с 06.11.2026 на сервере заказчика, 30 автотестов. Живой пересылки настоящим партнёром и первой оплаченной заявки по вкладке я на момент последней проверки не видел.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Обсудить ботаРекомендательные программы чаще ломаются на учёте, а не на идее. Кому платить, если клиент написал сам, но назвал чужое имя? Что делать с возвратом через месяц? Как не дать партнёру заказать у самого себя? Я решал именно эти вопросы. Приложение для лидеров, куда встроена вкладка, описано в кейсе про приложение руководителя команды, здесь только новая часть.
Задача
Лидеры команд хотят приводить знакомых предпринимателей к студии и получать процент с оплаченного заказа. От системы нужно пять вещей: личные ссылки, понятная заявка, честный подсчёт денег, выплата с историей и защита от злоупотреблений. Люди сидят в Telegram и MAX и не готовы заводить ещё один кабинет, поэтому вкладка живёт в приложении, где они уже есть.
Отдельно просили, чтобы клиент не видел «партнёрки»: человеку, которому рекомендуют сайт или бота, незачем читать про проценты. Поэтому ссылок две, и они разные.
Что я сделал
Код вкладки отделён от остальных частей приложения: свои таблицы, свои страницы и отдельный набор тестов. Условия программы человек принимает прямо во вкладке, до этого вкладка показывает только предложение. Роль в программе (партнёр, менеджер, администратор) хранится отдельно от места человека в структуре команды: руководитель десятка не становится менеджером заявок автоматически.
Две ссылки. Нейтральная ведёт на форму студии без слов о программе: клиент оставляет заявку, а система знает, чья это рекомендация. Партнёрская ведёт на страницу о программе для тех, кого партнёр хочет пригласить сам. Есть и общая форма заказа, где поле «кто порекомендовал» обязательно: если человек пришёл без ссылки, но знает, кого назвать, заявка всё равно найдёт партнёра по коду, телефону или точному имени. Если совпадений несколько, выбирает менеджер.
Переходы. Каждый переход по ссылке пишется в счётчик, но один раз в сутки с одного адреса, а боты не считаются. Адрес в базе не хранится: сохраняется только хэш с солью, привязанной к дню. Партнёр видит, сколько человек открыло его ссылку, и это честнее, чем показывать каждое обновление страницы.
Заявки. Заявку создаёт форма на странице клиента: обязательное согласие на обработку данных, скрытое поле-ловушка для ботов, на которое система отвечает молча. Партнёр может завести заявку и сам. Есть и быстрый путь: партнёр пересылает боту в Telegram или MAX переписку с клиентом, голосовые, фото или файлы, а бот сам создаёт заявку с именем из пересылки или дописывает в текущую. Шесть часов бот держит открытого клиента, кнопка «Другой клиент» переносит дальнейшие сообщения на нового. Если вторая пересылка пришла от другого человека после паузы, это новый клиент. Партнёр видит только свои заявки, менеджер и администратор видят все. Файлы отдаются по подписанным ссылкам на один час, а html-файлы только скачиванием, чтобы чужой скрипт не выполнился у менеджера.
Голосовые и аудио бот расшифровывает через внешний сервис. Это оговорено в документах программы, потому что данные уходят за пределы России. Проверено коротким звуком, живой речью пока нет. Что должно быть внутри кабинета партнёра, я разбирал в материале про личный кабинет партнёра.
Деньги. Здесь я не стал хранить «баланс» одним числом. Все движения пишутся строками в книгу: начисление, пересчёт, выплата. По заявке положено процент от чистых поступлений, и после каждой оплаты, возврата или отмены система сравнивает положенное с уже начисленным и пишет разницу. Поэтому три разных события (возврат, отмена записанной по ошибке оплаты, передача заявки другому партнёру) считаются одним и тем же правилом, а история остаётся видна целиком. Остаток к выплате это сумма строк партнёра. Выплату нельзя провести больше остатка, а её можно отменить встречной строкой. Процент задаётся настройками: общий, по партнёру и по заявке.
Что было сложно
Самозаказ и дубли. Партнёр может оформить «клиента» на собственный телефон, а знакомый может прийти по двум ссылкам. Я ввёл правила, которые не выносят приговор автоматически. Заявка с номером самого партнёра получает метку и ждёт менеджера. Заявка, у которой уже есть открытая заявка с тем же телефоном, тоже ждёт. Повторный заказ того, кто уже платил, по умолчанию не даёт начисления, это включается настройкой. Если партнёр дописал телефон позже, система проверяет заявку заново, как при создании.
Возвраты. Возврат больше оплаченной суммы система отклоняет. Если возврат есть, начисление уменьшается, и партнёр получает уведомление с причиной, а не молча видит меньшую цифру.
Удаление данных. По 152-ФЗ человек может потребовать стереть данные, а учёт денег стирать нельзя. Решение: реквизиты и заметки удаляются, а проводки остаются обезличенными. Если у человека есть остаток на балансе, удаление блокируется до выплаты. Общие правила для таких приложений я описывал в статье про 152-ФЗ для чат-ботов.
Смена курса посреди работы. Сначала я собрал программу как отдельное приложение со своим адресом. В тот же день заказчик сказал, что хотел возможность внутри существующего приложения, а не замену ему. Отдельное приложение я снял, прежнюю версию вернул вместе с базой, код перенёс во вкладку. Архив старой версии лежит на сервере, откат возможен. Дороже всего здесь обошлось то, что бот в мессенджере один и два приложения он не обслужит, поэтому пришлось именно сливать, а не держать рядом.
Что получилось
| Что | Состояние |
|---|---|
| Вкладка «Заработок» | в приложении с 06.11.2026, условия принимаются в ней |
| Ссылки | нейтральная форма, партнёрская страница, общая форма с обязательным «кто порекомендовал» |
| Заявки | форма, ручной ввод и пересылка переписки боту |
| Начисления и выплаты | книга проводок, возвраты, отмена платежа, выплата не больше остатка |
| Защита | самозаказ, дубли и повторные заказы ждут менеджера |
| Автотесты | 30, отдельным набором |
| Живая пересылка настоящим партнёром | не подтверждена |
| Оплаченные заявки по вкладке | на момент проверки не было |
Расшифровка живой речью, хранение файлов в копии базы на втором сервере и импорт выгрузок переписок из других мессенджеров пока не сделаны. Файлы заявок лежат отдельно от копии базы, это известное ограничение.
Что дальше
Первое: дождаться первых реальных партнёров и посмотреть на пути, которых я не придумал. Тесты проверяют правила, но не показывают, как человек пересылает переписку на самом деле. Второе: решить, остаётся ли часть прежних разделов приложения, которые для программы не нужны, заказчик допускает их убрать позже. Третье: определить, от какой организации идут выплаты физическим лицам и как оформляются самозанятые, это вопрос заказчика и юриста, а не кода. Если выплаты будут расти, добавлю отчёты по каналам, чтобы было видно, какие ссылки приводят платящих клиентов.
Частые вопросы
Можно ли заказать у самого себя и получить процент?
Система этого не допускает автоматически. Заявка с телефоном партнёра получает метку и не начисляется, пока менеджер не примет решение. Он видит метку на заявке.
Что будет, если клиент вернёт деньги?
Начисление пересчитается по чистым поступлениям и уменьшится. Партнёр получит уведомление, а в книге останется запись о пересчёте.
Нужен ли партнёру отдельный кабинет?
Нет. Вкладка находится в приложении в Telegram и MAX, вход тот же, что и в остальном приложении. Условия принимаются при первом открытии вкладки.
Коротко о главном
Партнёрская программа держится на учёте: правило начисления, одинаковое для оплаты, возврата и смены партнёра, и защита, которая ждёт решения человека там, где автомат ошибётся. Вкладка внутри существующего приложения избавила партнёров от нового входа. По честному статусу: механика и тесты готовы, живых оплат пока нет.
Если вам нужна рекомендательная или партнёрская система с учётом заявок и выплат прямо в мессенджере, я соберу такую систему под ваши правила. Напишите в Telegram, MAX или VK.
Всё о мессенджере MAX в одном месте
Эта статья — часть кластера материалов о MAX: разработка ботов и мини-аппов, продвижение канала, воронки, отраслевые сценарии и кейсы с реальными результатами.
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


