Перейти к основному содержимому

Шаблоны сообщений

Система шаблонов позволяет настраивать тексты сообщений, которые отправляет ваш бот, под стиль вашего заведения. В шаблонах можно использовать некоторые элементы программирования, с помощью которых вы можете добавлять переменные, условия и даже простые вычисления.

Переменные

В шаблонах сообщений можно использовать переменные — это значения, которые бот автоматически подставляет в текст. Например: имя клиента, номер заказа, сумма, способ оплаты или текст кнопки.

Чтобы вставить переменную, используйте двойные фигурные скобки {{ ... }}.

Ваш заказ {{ order_number }} уже готовится 🍳

Каждое сообщение в боте отправляется в определённый момент — например, при создании заказа, обновлении статуса, начислении бонусов и т.д. Поэтому набор доступных переменных может отличаться.

  • 🕐 Всегда доступны — общие переменные (например, кнопки).
  • 🍽 Только при заказах — данные заказа: номер заказа, тип доставки, способ оплаты и т.д.

Общие переменные

Доступны всегда, можно использовать в любом шаблоне сообщений.

ПеременнаяНазначениеЗначение
button_send_phone_numberКнопка отправки номера телефона📲 Отправить номер
button_open_main_menuКнопка открытия меню🗂 Открыть меню
button_open_ordersКнопка открытия списка заказов📑 Заказы

Примеры использования

Ваш заказ {{ order_number }} готов!

Чтобы снова сделать заказ — нажмите на «{{ button_open_main_menu }}», список заказов доступен по кнопке «{{ button_open_orders }}»

Переменные заказа

Доступны только в рамках контекста заказа.

ПеременнаяНазначениеЗначения
order_delivery_typeCпособ полученияCOOKING — готовится, DELIVERING — доставляется, FINISHED — завершён, CANCELLED — отменён
order_payment_methodCпособ оплатыCASH — наличные, CARD — по карте, ONLINE — онлайн-оплата
order_numberНомер заказаA101, N503, E001
order_idИдентификатор заказа485523, 91234, 88823

Примеры использования

В данном примере есть общий текст, что заказ готовится, а далее в зависимости от способа получения разные тексты.

Ваш заказ {{ order_number }} уже готовится 😊

Скоро можно будет кушать! Мы всё принесём к столику. Чтобы позвать официанта — можете просто поднять руку.

Уникальный идентификатор заказа: {{ order_id }}

Форматирование

В сообщениях можно использовать HTML-разметку, чтобы красиво оформить текст. Поддерживаются основные теги Telegram — жирный, курсив, ссылки, списки и т.д. Это удобно для выделения важных деталей, ссылок на меню или оформления приветствия.

Примеры использования

В данном примере номер заказа будет с жирным выделением.

Ваш заказ <b>{{ order_number }}</b> уже готовится 🍳

В данном примере вставлены ссылки на политику обработки пользовательских данных и канал в Telegram.

Вот и всё! Регистрация завершена, чтобы сделать заказ — нажмите кнопочку «{{ button_open_main_menu }}»

Также, вы можете <a href="https://t.me/cafebotum">подписаться на наш телеграм-канал</a>.

Пользуясь ботом, вы соглашаетесь на обработку персональных данных, согласно <a href="<ссылка на загруженный файл>">политике</a>.

Список тэгов для форматирования

ТегНазначениеПример в шаблонеКак выглядит в сообщении
<b>Жирный текст<b>Ваш заказ готов!</b>Ваш заказ готов!
<i>Курсив<i>Спасибо за заказ</i>Спасибо за заказ
<u>Подчёркнутый текст<u>Самовывоз</u>Самовывоз
<s>Зачёркнутый текст<s>Старое меню</s>Старое меню
<a href="...">Ссылка<a href="https://cafebotum.com"> Открыть сайт</a>Открыть сайт
<code>Моноширинный шрифт (для выделения кода, номера и т.д.)<code>#1043</code>#1043
<pre>Форматированный блок текста (с сохранением переносов)<pre>1. Капучино\n2. Круассан</pre>
1. Капучино
2. Круассан
<br/>Перенос строкиСпасибо!<br/>Ждём вас снова ☕Спасибо!
Ждём вас снова ☕
<blockquote>Цитата (выделенный блок текста)<blockquote>Ваш заказ принят</blockquote>
Ваш заказ принят

Условия (if / else / endif)

С помощью конструкций if, elif и else можно управлять тем, какие части текста будут отображаться пользователю. Это особенно удобно, когда одно сообщение подходит для разных сценариев — например, для доставки, самовывоза или заказа за столом.

Примеры использования

При обновлении статуса заказа можно отправить клиенту разный текст. В данном примере, если клиент заказа доставку, то ему уйдет текст "Ваш заказ передан курьеру 🚴‍♂️", а если любой другой (самовывоз или к столику), то ему уйдёт текст "Ваш заказ готов! Его можно забрать у стойки 😊".

{% if order_delivery_type == 'DELIVERY' %}
Ваш заказ передан курьеру 🚴‍♂️
{% else %}
Ваш заказ готов! Его можно забрать у стойки 😊
{% endif %}

Это шаблон сообщения при переходе заказа на статус "Готовится/Взят в работу". Здесь есть базовый текст, который уходит всегда, а также дополнительный, при определенных условиях. У второго и третьего условия есть знак - в конструкции тега {%- %}, это обрезает переходы на следующую строку выше, чтобы не было много лишних переходов. А в 1 условии этого нет, чтобы сохранить двойной перенос после базового текста сообщения.

Ваш заказ {{ order_number }} уже готовится 😊

{% if order_delivery_type == 'PICKUP' %}Мы сразу же уведомим вас, как только его можно будет подойти и забрать 🥰{% endif %}
{%- if order_delivery_type == 'DELIVERY' %}Мы сразу же уведомим вас, как только его передадут курьеру 🥰{%- endif %}
{%- if order_delivery_type == 'TABLE' %}Мы сразу же уведомим вас, как только он будет готов 🥰{%- endif %}
warning

Если после редактирования шаблона вам приходит старое сообщение, значит что-то указано не так и у системы не получилось сформировать текст сообщение на основе шаблона, в таком случае мы отправляем текст по-умолчанию, чтобы не ломать процесс для клиента.