1. Общая задача
Доработать мобильный интернет-магазин экипировки. Сайт должен работать:
- как обычный веб-сайт;
- внутри Telegram;
- по QR-кодам партнёров;
- на телефоне и компьютере.
Все посетители, переходы и заказы хранятся в единой базе.
2. Каталог
Реализовать:
- категории;
- фото и описание;
- цену и наличие;
- размеры и цвета;
- выбор количества;
- корзину с добавлением, изменением и удалением товаров;
- расчёт скидки и итоговой суммы.
3. Заказ
Поля: имя, телефон, Telegram/VK или другой контакт, город, способ получения, адрес при необходимости, комментарий, промокод.
Получение:
- доставка по Санкт-Петербургу;
- самовывоз/личная передача;
- доставка в другой город.
После оформления заказ:
- сохраняется в БД и получает уникальный номер;
- сохраняет партнёра, сумму до скидки, скидку и итог;
- получает статус «Новый»;
- отправляет уведомление администратору и в чат партнёра.
Онлайн-оплата на первом этапе не требуется.
4. Партнёрская система
Для каждого партнёра хранить:
- название и уникальный ID;
- ссылку "shop.ru/?ref=EGORA";
- QR-код;
- промокод;
- скидку покупателю;
- процент комиссии;
- Telegram "chat_id";
- статус активности.
При переходе по партнёрской ссылке сайт:
1. определяет партнёра;
2. создаёт ID посетителя;
3. записывает переход в БД;
4. сохраняет партнёра в cookie/localStorage на 90 дней;
5. применяет скидку 5%;
6. показывает: «Скидка 5% от партнёра “Егора” активирована»;
7. привязывает будущий заказ к партнёру.
При потере cookie партнёр определяется по промокоду.
5. Учёт переходов
Различать:
- обычный просмотр;
- уникального посетителя;
- повторный переход;
- заказ.
Не отправлять уведомление при каждом обновлении страницы. Один уникальный переход от устройства учитывать, например, раз в 24 часа.
До оформления заказа имя клиента неизвестно, поэтому использовать анонимный ID:
🟡 Новый уникальный переход
Партнёр: «Егора»
Посетитель: V-1058
Источник: QR-код
Время: 12:45
6. Telegram-бот
Для каждого партнёра отдельный Telegram-чат: директор партнёра, 2 представителя магазина и бот.
Бот отправляет:
- уникальные переходы;
- новые заказы;
- подтверждения;
- оплаты;
- отмены;
- возвраты;
- начисление и выплату комиссии.
Заказ всегда отправляется только в чат партнёра, указанного в заказе.
Бот добавляется администратором, "chat_id" сохраняется в карточке партнёра.
7. Статусы заказа
- новый;
- связались с клиентом;
- подтверждён;
- ожидает оплаты;
- оплачен;
- передан в доставку;
- завершён;
- отменён;
- возврат.
При ручной установке статуса «Оплачен» система фиксирует фактическую сумму оплаты, рассчитывает комиссию и уведомляет партнёрский чат.
Комиссия = фактически оплаченная сумма × процент партнёра.
Стоимость доставки не учитывать. Процент и формулу можно менять в админ-панели.
8. Комиссии
Статусы:
- не начислена;
- ожидается;
- начислена;
- выплачена;
- отменена из-за возврата.
В админ-панели — кнопка «Отметить комиссию выплаченной». После этого бот уведомляет партнёра.
9. Административная панель
Администратор должен иметь возможность:
- управлять товарами, ценами и наличием;
- просматривать и искать заказы по номеру/телефону;
- менять статусы;
- указывать фактическую оплату;
- вручную менять партнёра;
- менять скидку и комиссию;
- создавать партнёров, ссылки и промокоды;
- указывать Telegram "chat_id";
- смотреть переходы и заказы;
- отмечать выплату комиссии;
- выгружать Excel/CSV.
Желательно вести журнал изменений: кто, когда и что изменил.
10. Telegram-сообщения
🛒 Новый заказ №1058
Партнёр: «Егора»
Сумма: 20 000 ₽
Скидка 5%: 1 000 ₽
Итого: 19 000 ₽
Статус: новый
💰 Заказ №1058 оплачен
Фактическая сумма: 19 000 ₽
Комиссия 10%: 1 900 ₽
Статус комиссии: начислена
❌ Заказ №1058 отменён
Комиссия не начислена.
🤝 Комиссия по заказу №1058 выплачена
Сумма: 1 900 ₽
11. Защита данных
В партнёрском чате не показывать полный телефон, адрес и другие лишние персональные данные.
Партнёру достаточно видеть:
- номер и дату заказа;
- состав/сумму;
- статус;
- комиссию.
Полные данные доступны только администраторам магазина.
12. Аналитика
По каждому партнёру показывать:
- уникальные/повторные переходы;
- количество заказов и оплат;
- конверсию переход → заказ;
- продажи и скидки;
- начисленные/выплаченные комиссии;
- отмены и возвраты.
13. Тестовый режим
Тестовые переходы и заказы:
- помечаются в Telegram как «ТЕСТ»;
- не учитываются в продажах и комиссиях;
- могут удаляться или архивироваться.
Итоговая схема
QR-код → сайт определяет партнёра → фиксируется уникальный переход → бот уведомляет чат → клиент оформляет заказ → бот сообщает о заказе → администратор подтверждает оплату → система рассчитывает комиссию → бот сообщает партнёру.
Магазин должен работать независимо от Telegram. Telegram используется для уведомлений и дополнительного общения с партнёрами/клиентами.
Более подробное тз в лс
Опубликован 07.09.2026 в 19:03