Магазин в Telegram: ИИ-продавец, мини-приложение и оплата прямо в чате
Многим покупателям проще написать магазину в Telegram, чем заполнять форму на сайте, а держать человека, который отвечает ночью, магазину не по карману. Эта платформа переносит в чат ИИ-продавца, витрину и оплату, а менеджеры видят всё в реальном времени и подключаются в один клик.
Задача
Для многих покупателей Telegram - привычное место, где они общаются с магазинами. Спрашивают “есть такое в размере M?” или “сколько стоит доставка в мой город?” и ждут ответа через несколько минут. Магазин, который продаёт через чат, раз за разом сталкивается с одним и тем же: ночные вопросы остаются без ответа, менеджеры вручную повторяют цены, заказы теряются в переписке, а оплачивать покупателя отправляют на сайт.
Нужна была платформа, в которой вся покупка проходит внутри Telegram: рутину берёт на себя ИИ-продавец, а люди сохраняют контроль. От товара здесь ничего не зависит - каталог, фильтры и тексты настраиваются в панели. Для примера возьмём магазин косметики.
Кому подходит
Любому магазину, которому пишут в мессенджерах: одежда и обувь, косметика, электроника и аксессуары, цветы и подарки, еда и доставка, товары для дома, детские товары, спорт, зоотовары, автозапчасти и услуги с записью.
ИИ-продавец, который не уходит домой
Бот в любое время отвечает на вопросы о товарах, ценах, наличии и доставке. Перед каждым ответом он получает актуальный каталог из базы данных (только то, что есть в наличии, по текущим ценам), условия доставки и оплаты, а во время оформления - состояние заказа. Поэтому на вопрос “а сыворотка с витамином C есть?” он отвечает по данным магазина, а не по памяти модели.
Заказать можно, просто написав: “Две сыворотки и ночной крем, пожалуйста”. Бот уточняет состав и по очереди спрашивает имя, город, способ доставки и адрес. Постоянному покупателю он предлагает подтвердить данные прошлого заказа, а не вводить их заново.
Модель никогда не пишет в заказ сама. Всё, что она поняла, она передаёт в скрытой пометке, а сервер проверяет каждое поле: товары проходят тот же путь, что и корзина, с ценами из базы; в телефоне должно быть достаточно цифр; индекс должен быть правильного формата; неизвестный способ доставки отбрасывается. Когда всё заполнено, заказ помечается готовым, а менеджеры получают уведомление.
Поставщик ИИ выбирается в настройках: Groq, Anthropic (Claude), OpenAI, OpenRouter, Together AI и другие совместимые сервисы.
Голосовые и фотографии
Покупатели часто присылают голосовое или скриншот товара вместо текста. Бот расшифровывает голосовые сообщения и видеокружки, описывает фотографии, и результат обрабатывается как обычное сообщение: ИИ на него отвечает, менеджер видит его в панели. Для этого используется отдельный поставщик и отдельный ключ, поэтому распознавание работает, даже если основная модель понимает только текст.
Человек подключается в один клик
Если покупатель пишет “оператор” или “менеджер”, разговор сразу переходит к человеку; модель и сама передаёт чат, когда вопрос ей не по силам. В закрытую группу в Telegram бот присылает новые заказы и переданные сообщения: менеджер нажимает “Ответить” на одном из них, покупатель получает ответ от имени бота, а ИИ в этом чате замолкает. В веб-панели менеджер пишет прямо в переписке или выключает ИИ переключателем. Обратно ИИ включается только вручную.
ИИ в личном Telegram владельца
Некоторые покупатели пишут не боту, а владельцу в личный аккаунт. Через Telegram Business владелец подключает бота к своему аккаунту, и ИИ отвечает и в этих чатах - с тем же каталогом и теми же правилами передачи человеку. Для этого на аккаунте владельца нужен Telegram Premium. Новый собеседник сначала получает кнопку, которую нужно нажать, поэтому спам-боты до ИИ не доходят.
Витрина в мини-приложении
Тем, кто любит выбирать сам, бот открывает мини-приложение Telegram: поиск, фильтры по категориям и цене, сортировка, карточки с фотографиями и характеристиками, корзина. Фильтры строятся из категорий, заданных в панели, так что новый ассортимент не требует правок в коде.
При оформлении мини-приложение отправляет корзину вместе с подписанными данными запуска от Telegram; сервер проверяет подпись, прежде чем что-то принять, и сам пересчитывает цены. Корзина появляется в чате как сводка заказа, и ИИ продолжает с доставкой.
Сайт-каталог, который передаёт корзину боту
Тот же каталог публикуется как обычный сайт на многоязычной основе, чтобы магазин находили в поиске. У посетителя сайта нет учётной записи Telegram, поэтому корзина хранится на сервере семь дней, а посетитель получает ссылку на бота. Одно касание - и корзина превращается в заказ в чате тем же путём, что и из мини-приложения.
Оплата внутри чата
Оплата идёт через Telegram Payments с подключённым платёжным провайдером. Когда заказ готов, менеджер проверяет его и одной кнопкой отправляет счёт из панели, а покупатель платит, не выходя из Telegram. Перед списанием сервер проверяет, что заказ всё ещё ждёт оплаты, а сумма и валюта совпадают. После оплаты заказ помечается оплаченным, покупатель и менеджеры получают уведомление; повторное уведомление от Telegram не отметит заказ оплаченным дважды.
Доставка в пункты выдачи и почтовые отделения
Если покупатель выбирает СДЭК, бот присылает пункты выдачи в его городе со стоимостью доставки и кнопку “отправить геопозицию”; по геопозиции он находит ближайшие пункты. С Почтой России всё устроено так же, и вдобавок бот отвечает на вопрос “какое отделение у этого индекса?” по официальному справочнику индексов и картографическим данным. Адрес отделения записывает сервер, а не модель, поэтому бот не может придумать, куда уйдёт посылка.
Панель управления в реальном времени
Панель обновляется сама, без перезагрузки:
- Заказы: фильтры, данные доставки, состав, статусы, счета и дисконтные карты.
- Чаты: сообщения покупателя, ИИ и менеджеров, вложения и переключатель ИИ.
- Каталог: товары, категории, характеристики, фотографии и видимость.
- Настройки: условия магазина, поставщик и инструкции ИИ, акции и команда.
Менеджеры работают с заказами, чатами и каталогом; администраторам доступны ещё и настройки.
Акции, бонусы и дисконтные карты
Акции задаются в панели: сроки, пороги и подарки - например, товар в подарок от определённой суммы заказа. Подарки и бонусы считает сервер, а бот рассказывает о них покупателю. Дисконтные карты хранятся в реестре, применяет их менеджер, сверяя имя владельца карты с получателем.
Напоминания и статусы заказа
Если покупатель замолчал посреди разговора, бот через заданное магазином время возвращается и продолжает с того места, где остановились. Число напоминаний ограничено, и они прекращаются, как только покупатель ответит или чат возьмёт менеджер. Когда заказ оплачен, отправлен или отменён, покупатель получает сообщение в чате, а при отправке - ещё и трек-номер.
Защита от спама и контроль расходов на ИИ
Каждый ответ ИИ стоит денег, поэтому перед моделью стоит несколько уровней защиты. На пачку сообщений подряд бот отвечает один раз. Поток сообщений перестаёт будить ИИ. У каждого разговора и у магазина в целом есть лимит ответов в час. Дешёвый классификатор отвечает шаблоном на сообщения не по теме и на попытки сбить модель с толку, не обращаясь к основной модели, и не включается для тех, кто уже оформляет заказ.
На странице расходов видно, сколько потрачено по дням и по моделям, цену каждой модели и остаток на балансе у каждого поставщика.
Технологии
- Бэкенд и бот: Laravel 13, Nutgram (Telegram Bot API)
- Панель: React + Inertia, реальное время на Laravel Reverb
- ИИ: Groq, Anthropic, OpenAI, OpenRouter, Together AI и совместимые API
- Голос и фото: модели распознавания речи и изображений
- Витрина: Astro (мини-приложение Telegram и сайт)
- Оплата: Telegram Payments
- Доставка: API СДЭК, справочник Почты России, OpenStreetMapРезультат
У магазина появляется продавец, который отвечает в любое время, принимает заказы, написанные обычным сообщением, и проверяет каждую деталь заказа на сервере. Покупатели выбирают, заказывают и платят, не выходя из Telegram, - в чате, в мини-приложении или с сайта. Менеджеры видят каждый разговор и заказ в реальном времени и подключаются в один клик, а расходы на ИИ остаются под контролем владельца.



