Постоянный покупатель хочет заказать тот же кофе, что в прошлый раз. Он открывает Mini App, проходит рекламный экран, ищет нужный сорт в каталоге и заново выбирает помол. После нескольких таких покупок короткое сообщение менеджеру начинает казаться удобнее приложения. Повторный заказ стоит проектировать вокруг уже известного выбора человека.
На первом экране можно показать последний завершённый заказ и действие для его повторения. Но копировать прежнюю покупку вслепую нельзя. Цена могла измениться, нужная фасовка закончиться, адрес доставки устареть. Хороший сценарий возвращает знакомый состав в корзину и сразу показывает, какие условия требуют нового подтверждения.
Возьмём вымышленный магазин кофе с несколькими сортами, фасовками и способами помола. Покупатель хочет повторить выбор зерна и помола, но может изменить количество пачек. Это различие понадобится при проектировании первого экрана.
Выберите заказ, который действительно стоит повторять
По умолчанию удобнее предлагать последнюю завершённую покупку. Черновик или отменённый заказ может содержать случайный выбор. Если товар так и не получил подтверждения клиента, поднимать его как привычный набор преждевременно. Условие отбора стоит записать в задании разработчику и проверить на нескольких историях покупок.
Краткая карточка должна помогать узнать заказ. Покажите дату, основные товары и выбранные варианты. Для кофе важны фасовка и помол, для воды объём упаковки, для расходников размер. Одной общей фотографии часто недостаточно: покупатель видит знакомую упаковку, но не замечает, что в прошлый раз заказывал другой вариант в подарок.
Если история содержит несколько регулярных наборов, можно дать доступ к списку последних покупок. На первом экране при этом остаётся один наиболее подходящий вариант. Не стоит заполнять весь экран длинной историей, если задача человека состоит в быстром повторении. Полный список открывается отдельно и позволяет выбрать другой состав.
Для нового пользователя этот блок вообще не нужен. Вместо пустой истории покажите каталог или понятный старт выбора. Разделение состояний стоит продумать сразу: приложение должно хорошо работать и для человека без покупок, и для клиента, который возвращается каждый месяц. Один универсальный рекламный экран редко объясняет обеим группам следующий шаг одинаково хорошо.
Что оставить на первом экране
Разместите карточку повторения там, где её видно без поиска. Рядом должно быть понятно, что произойдёт после нажатия. Формулировка «Повторить состав» точнее описывает перенос товаров в корзину. Если действие сразу создаёт новый заказ, это требует другого подтверждения и ясного описания. Название кнопки должно соответствовать фактическому результату.
В карточке достаточно показать узнаваемые сведения и путь к подробностям. Полный адрес, все скидки и история каждого статуса перегрузят первый экран. Но скрывать количество товаров тоже неудобно: клиент может случайно повторить большую закупку. Покажите число позиций и количества в форме, которую легко проверить до добавления.
После нажатия нужно видимое подтверждение. Например, приложение открывает корзину с восстановленными товарами. Если часть состава недоступна, сообщение должно объяснять это сразу. Кнопка, которая просто меняет цвет, плохо сообщает о результате. Человек не знает, добавились товары или требуется нажать ещё раз.
Telegram публикует рекомендации по мобильному интерфейсу и безопасным отступам в документации Mini Apps. На практике проверьте, не перекрывают ли элементы Telegram нижнюю кнопку и текст корзины. Общую подготовку интерфейса можно дополнить проверкой Mini App перед запуском.
Восстанавливайте состав по идентификаторам вариантов
Историческое название товара удобно человеку, но системе нужен устойчивый идентификатор. Два сорта кофе могут иметь похожее имя, а одна серия несколько фасовок. Повторение по текстовому названию рискует подобрать неправильную позицию после переименования каталога. В заказе должны храниться данные, которые однозначно указывают товар и его вариант.
При повторении система запрашивает актуальные условия выбранных позиций. В учебном магазине это наличие конкретной фасовки, доступность помола и текущая цена. Старое изображение из истории можно использовать для узнавания заказа, но цена нового заказа должна приходить из действующего источника. Подпишите изменение рядом с товаром, если прошлое значение показывается для сравнения.
Отдельно решите судьбу удалённых товаров. Если сорт больше не продаётся, оставьте в корзине понятную запись о недоступной позиции и предложите выбрать замену. Автоматически подставлять похожий сорт без согласия клиента не стоит. Для вкусового товара это заметная смена заказа, даже когда стоимость и упаковка совпадают.
Feature IT может разработать Mini App с повторными заказами и связать его с вашим каталогом. Для оценки понадобятся пример истории покупок и сведения о том, где хранятся актуальные остатки. Сам интерфейс кнопки занимает небольшую часть задачи. Проверка доступности и верная передача вариантов определяют, получит ли покупатель ожидаемый товар.
Покажите изменения до подтверждения
У повторного заказа должно быть состояние «нужна проверка». Оно возникает, когда часть состава недоступна, изменилось количество или выросла сумма. Покупателю полезен короткий список отличий. Полностью перечитывать весь каталог ради одного исчезнувшего товара неудобно. Выделите именно те позиции, где требуется решение.
Если товара осталось меньше, чем было в прошлой покупке, предложите доступное количество. Не уменьшайте его молча. Для человека, который закупает расходники на определённый срок, такое изменение может сделать весь заказ бессмысленным. Он должен выбрать, согласиться ли на остаток, подобрать замену или отложить покупку.
Скидки требуют отдельной проверки. Прошлый промокод мог закончиться, персональное предложение мог относиться только к одной покупке. Итоговая сумма должна рассчитываться по текущим условиям и показываться до подтверждения заказа. В истории сохраните прежнюю сумму как часть уже совершённой покупки. Данные старого документа и цена новой корзины имеют разные назначения.




