Тип бота
Продавайте напрямую в Telegram, а не арендуйте собственных гостей обратно
Telegram-бот приёма заказов проводит гостя через весь заказ — меню, модификаторы, адрес, оплату — прямо в чате и печатает тикет на кухню. Он существует, чтобы увести постоянных гостей с агрегаторов, забирающих от 20 до 30 процентов с каждого заказа. Новых клиентов он сам по себе не приведёт.
Боты приёма заказов: цена, сроки и ограничения
- Фиксированная цена
- $4,600 USD
- Срок
- 21 календарный день с момента старта
- Модель оплаты
- Telegram Payments передаёт платёж вашему мерчант-провайдеру
- Telegram Stars
- Только цифровые товары — еду продавать нельзя
- Авторизация Mini App
- initData проверяется по HMAC-SHA256 на сервере, на токене бота
- Данные геопозиции
- Только координаты, не проверенный почтовый адрес
As of 2025-10-01, Telegram Bot API 13.4
Какую задачу это решает
Арифметика, из-за которой этот проект вообще затевают, жестокая и знакома каждому ресторатору в Дубае. Агрегатор забирает от двадцати до тридцати процентов суммы заказа, и при чистой марже в восемь процентов это уже не маркетинговые расходы, а вся прибыль и сверху. Терпят это потому, что агрегатор приводит гостей, до которых иначе не дотянуться.
Отбивать имеет смысл повторный заказ. Гость, который ел у вас четыре раза, не нуждается в том, чтобы его знакомили с вами заново, — он уже знает, чего хочет, и платит двадцатипятипроцентную пошлину просто за то, чтобы это получить. Деньги лежат именно в переводе этого сегмента напрямую, и задача заметно меньше, чем построить службу доставки.
Telegram подходит потому, что ставить ничего не нужно. QR-код на упаковке открывает чат, прошлый заказ уже лежит в истории, повтор — два касания. Сравните с уговорами скачать приложение одного ресторана: второй раз его почти никто не открывает. Бот не соревнуется с агрегатором в привлечении. Он соревнуется на втором, пятом и двадцатом заказе, где за привлечение уже заплачено.
Как идёт разработка
QR-код на упаковке открывает бота
Печатается на пакете, на чеке или на карточке в коробке. Диплинк опознаёт, из какой точки гость заказывал, поэтому сеть с несколькими кухнями направит следующий заказ туда, куда нужно, ни о чём не спрашивая.
deep-linkМеню открывается как Mini App, а не стеной кнопок
Меню из сорока позиций с модификаторами инлайн-клавиатурами не пользуется никто. Оно открывается как Telegram Mini App — нормальный интерфейс с картинками и корзиной, — который живёт внутри чата и не требует установки.
mini-appАдрес проверяется на зону доставки до того, как взяты деньги
Гость отправляет геопозицию или вводит адрес, бот сверяет его с вашими зонами и сразу говорит, если точка вне зоны. Взять оплату и только потом выяснить, что доставить вы не можете, — худший из возможных исходов этого сценария.
reply-keyboardОплата проходит через провайдера, который действительно работает в ОАЭ
Telegram Payments передаёт платёж тому провайдеру, у которого у вас открыт мерчант-аккаунт. Какие провайдеры доступны юрлицу в ОАЭ — это реальное ограничение, и оно выясняется до старта разработки, а не по ходу.
payments-apiКухня получает тикет, гость получает статус
Заказ печатается или появляется на кухонном планшете в тот момент, когда прошла оплата. Гость видит: принят, готовится, передан курьеру — персонал переключает это одним касанием, потому что во время запары ничем сложнее пользоваться не станут.
webhookПовторный заказ пропускает всё, что выше
Вернувшийся гость видит три своих последних заказа и может повторить любой — с сохранённым адресом и способом оплаты. Ради этого сценария всё и делается, и именно его стоит вылизывать до секунды.
inline-keyboard
Что Telegram разрешает, а что нет
Telegram Payments не проводит деньги сам — он передаёт платёж провайдеру, у которого у вас открыт мерчант-аккаунт.
Набор доступных провайдеров зависит от юрисдикции и от юрлица. У ресторана в ОАЭ и у ресторана на Кипре возможности принципиально разные, и это выясняется до старта, а не по ходу разработки.
Telegram Stars нельзя использовать для продажи физических товаров.
Эта валюта предназначена для цифровых товаров и услуг. Продавать через неё еду — нарушение правил Telegram и риск для бота, поэтому заказы еды всегда идут через настоящего платёжного провайдера или через наличные.
Mini App получает строку `initData`, которую сервер обязан проверить по HMAC на токене бота.
Без этой проверки кто угодно может отправить на ваш эндпоинт заказа выдуманную корзину. Это десяток строк кода и разница между меню и открытой кассой.
Бот отправляет примерно 30 сообщений в секунду суммарно.
В пятничный вечерний пик с тремя сотнями одновременных заказов обновления статуса рассылаются с паузами, а не мгновенно. На ресторанных объёмах это не проблема, но статус становится согласованным в конечном счёте, а не сразу.
Отправка геопозиции даёт координаты, а не проверенный почтовый адрес.
Проверка зоны — это геометрия по координатам, и она надёжна. А вот выдать курьеру пригодный адрес в городе, где название здания важнее номера дома, всё равно нельзя без текстового поля, и притворяться иначе — значит получать несостоявшиеся доставки.
Когда это не нужно строить
- У вас пока нет постоянных гостей. Этот проект монетизирует уже существующую лояльность, а не создаёт её; бот приёма заказов без возвращающихся гостей — это дорогое меню.
- У вас нет собственной доставки и заводить её вы не собираетесь. Принимать заказы, которые без агрегатора всё равно не исполнить, не решает ничего.
- Средний чек ниже примерно пятнадцати долларов, а объём небольшой. Комиссии платёжного провайдера и стоимость разработки не отобьются той комиссией агрегатора, которую вы сэкономите.
- Меню меняется ежедневно, и вести его никто не будет. Устаревшее меню приводит к возвратам и жалобам и хуже, чем отсутствие бота вообще.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| grammY | 1.45 | Фреймворк бота, режим webhook, рядом раздаётся мини-приложение. |
| Cloudflare Workers | current | Среда исполнения, рассчитанная на всплески нагрузки в часы обслуживания. |
| Cloudflare D1 | current | Меню, заказы, адреса и геометрия зон доставки. |
| Telegram Mini Apps | Bot API 9.x | Интерфейс меню и корзины, с проверкой строки initData на сервере. |
| TypeScript | 5.9 | Строгий режим. Арифметика с деньгами в нетипизированном коде экономии не стоит. |
О чём спрашивают перед стартом
Сколько комиссии агрегатора это на самом деле экономит?
Всю — на тех заказах, которые переедут. Честная формулировка: переедет только часть гостей, обычно самые частые, поэтому экономия равна комиссии агрегатора по этому сегменту минус два-три процента платёжному провайдеру. Посчитайте на своей доле повторных заказов, прежде чем соглашаться.
Какие платёжные провайдеры подходят ресторану в ОАЭ?
Чаще всего дело заканчивается связкой Telr, PayTabs или Network International, а Stripe доступен в зависимости от юрлица и категории. Что именно доступно вам, определяется лицензией и мерчант-аккаунтом, и это проверяется на этапе оценки, а не предполагается.
Можно ли оставить оплату наличными курьеру?
Да, и в большей части стран Залива её стоит оставить. Наличный заказ пропускает шаг оплаты и уходит сразу на кухонный тикет с пометкой, а курьер сдаёт выручку так же, как делает это сейчас.
Нужно ли кухне новое оборудование?
Не обязательно. Заказы могут печататься на уже стоящем термопринтере по сети или выводиться на любой планшет с браузером. Что лучше — зависит от того, как устроена ваша линия, и решать это стоит до разработки, а не после.
Что будет, если оплата прошла, а заказ не доехал до кухни?
Заказ записывается в базу до того, как гостю подтверждена оплата, а доставка на кухню повторяется и поднимает оповещение менеджеру, если она не проходит. Оплаченный заказ, который никто не готовит, — ровно тот отказ, ради предотвращения которого эта схема и сделана.
Можно ли вести несколько точек одним ботом?
Да. Точку определяет диплинк или адрес доставки, у каждого филиала свой стоп-лист и свой адрес назначения тикета, а отчётность их разделяет. Один бот с маршрутизацией по филиалам проще в эксплуатации, чем несколько отдельных ботов.
Как вообще завести в бота уже существующих гостей?
Печатайте QR-код на упаковке тех заказов, которые приходят через агрегатор. Эти люди уже любят вашу еду, и код попадает к ним ровно в тот момент, когда они её едят. Одна эта тактика делает бóльшую часть работы.