Когда клиенту тесно в переписке?

Нужен ли отдельный экран, если клиент уже может написать вашему боту в Telegram? Мини-приложение, или Mini App, — веб-приложение, которое Telegram открывает внутри своего интерфейса. Оно пригодится, когда человеку нужно сопоставить несколько вариантов, выбрать время и проверить итог перед отправкой, а в переписке эти сведения разбросаны по сообщениям. Сравним его с ботом и мобильным сайтом на одной операции — записи на услугу. Для короткого ответа хватает кнопки.

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

На экране можно сразу показать список и итог выбора. Данные о записи по-прежнему поступают в систему компании. Устройство такого экрана объясняет отдельный материал о веб-приложениях.

Что получается у бота, сайта и Mini App

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

Сайт удобен для открытого входа. Если часть людей приходит из поиска, письма или карточки компании и не пользуется Telegram, мобильная страница записи даст им обычную ссылку. Порядок выбора приложения или сайта разобран в материале о мобильном сайте и приложении. Для рассматриваемой записи решает то, где клиент уже находится и может ли он закончить действие без нового кабинета.

Пути могут работать рядом. Клиент из Telegram открывает Mini App, а посетитель сайта использует страницу записи. Оба видят те же свободные часы, если бизнес действительно ведёт одно расписание. На первом испытании полезнее сохранить один источник доступности, чем строить две очереди, которые придётся согласовывать вручную.

Наглядный разбор

Что получает покупатель в трёх вариантах

  1. Бот

    Один вопрос, короткий ответ или сообщение о статусе.

  2. Mini App

    Выбор, список и подтверждение внутри Telegram.

  3. Сайт

    Покупка в браузере без входа в Telegram, если так устроена страница.

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

Где клиент откроет экран

Путь запуска выбирайте по источнику клиента. Документация Telegram описывает запуск из кнопки меню бота. Также в ней есть вариант открытия основного мини-приложения из кнопки профиля бота. Меню удобно тому, кто уже общается с компанией: повторную запись не надо искать в старых сообщениях, если её можно открыть рядом с обычным диалогом без перехода к пересланной ссылке. Для первого перехода из публикации проще открыть нужный раздел по прямой ссылке.

На приёмке проверьте каждый обещанный вход. Если человек видит объявление о записи в один филиал, кнопка не должна приводить его к общему списку без подсказки, какой адрес искать. Для клиента, который вернулся позже через профиль, уместен полный выбор. Правила записи общие. У разных входов меняется только начальный экран, а сведения о доступности по-прежнему приходят из одного расписания.

Если компании нужен лишь обмен сообщениями и статус в CRM, начните с обычного бота. Сравнить передачу такого обращения можно по материалу о боте Telegram для Битрикс24.

Параметр ссылки и личный доступ

Ссылка подсказывает, с чего начать. По документации о прямом запуске параметр startapp с непустым значением передаётся приложению в поле start_param. Так выбирают услугу или филиал.

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

Mini App из прямой ссылки не читает переписку и не отправляет сообщения от имени пользователя. Это ограничение описано в том же разделе Telegram. Поэтому для уведомления о подтверждении заранее определите отдельный разрешённый способ. Если его ещё нет, клиенту нужно увидеть номер и статус в самом приложении, а не ждать сообщения, которое команда не может отправить.

При входе справка Telegram отделяет initDataUnsafe от данных, которые можно использовать после подтверждения. Просите исполнителя показать серверную проверку initData перед выдачей личных сведений и отдельно объяснить, по какому сроку он отклоняет старые данные. В документации для этого указано поле auth_date. Заказчику нужен видимый исход проверки: изменённые или просроченные данные не открывают чужую запись, а обычный вход продолжает работать.

Как заказ попадает в рабочую систему

Подтверждение появляется после сохранения записи. Экран может сразу показать выбранное время и филиал, но место считается занятым, когда рабочая система сама подтвердила запись и сохранила её в расписании и вернула номер, который сотрудник видит в расписании. Если время забронировали в другом окне, человеку нужно предложить выбрать другое. Нельзя обещать место по тому, что ещё показывалось в списке. Для сдачи полезно дать двум людям выбрать последний свободный час одновременно. Попросите показать отказ для второго клиента и предложенное ему свободное время.

Сотрудник принимает работу по номеру. Он находит запись, узнаёт выбранную услугу и видит подтверждённый контакт в том виде, в каком компания может использовать его для связи. Для интеграции с рабочими системами задайте единый номер и место, где владелец сможет найти несостоявшуюся отправку. Это полезнее общего требования, чтобы данные «появлялись в CRM».

Повторное нажатие не должно создавать вторую запись. Примите этот сценарий отдельно: покупатель снова нажимает кнопку после паузы, а сотрудник видит одну запись либо понятное предложение начать другой заказ. При сбое приложение показывает, что известно о заявке и где узнать её состояние без повторной отправки.

Наглядный разбор

Когда заказ подтверждён

  1. Выбор

    Клиент выбрал вариант, время или способ получения.

  2. Приём

    Система сохранила заказ и вернула номер.

  3. Подтверждение

    Покупатель видит тот же номер, с которым работает сотрудник.

Экран получает подтверждение из системы, где заказ уже принят.

Что проверить после закрытия окна

Клиент может уйти до подтверждения. Договоритесь, что сохраняется при повторном входе: только выбранная услуга, весь черновик или ничего. Если время уже занято, старый выбор нельзя показывать как подтверждённый; правильнее предупредить об изменении и предложить актуальные часы. Для подтверждённой записи покажите номер или способ его найти. Это избавляет сотрудника от повторного вопроса, если человек вернулся из чата позже.

Проверьте путь на разных телефонах. На одном устройстве клиент может закрыть окно жестом, на другом — вернуться из списка приложений или открыть ссылку из пересланного сообщения, где уже сохранён другой начальный выбор. Сохраните список устройств и версий, на которых подрядчик проверил поддержку. Если основная аудитория приходит не из Telegram, оставьте путь через сайт или сотрудника: человек должен получить подтверждение, даже когда у него нет приложения или первый экран не открылся.

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

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

Что входит в задание и приёмку

Задание начните с результата. Назовите услугу, точки входа, данные, которые человек вводит, и систему, где заканчивается запись. Отдельно укажите, что показывать без подтверждённого доступа и что произойдёт, когда свободного часа уже нет. По этим признакам подрядчик сможет показать рабочий сценарий на расписании с уже занятыми часами, где приложению приходится получить отказ и предложить новый выбор без создания второй записи. Просите показать и эти ветви.

ПробаЧто видит клиентЧто видит сотрудник
Вход из менюДоступные услуги и адресаНовая запись после подтверждения
Ссылка на филиалОткрывается верный адресПараметр не даёт доступа к чужим сведениям
Время занялиПредложение выбрать другой часВ расписании нет второй записи
Данные входа не прошли сверкуЗапрос заново открыть приложениеЛичные сведения не раскрываются
Сбой после отправкиСостояние и безопасный способ продолжитьПервую попытку можно найти и отличить от новой

На сдаче полезен не только успешный показ. Попросите открыть приложение по просроченной ссылке на акцию и показать, сможет ли клиент выбрать доступную услугу, если прежнее предложение исчезло, а переход сохранился в старой переписке. Отдельно испытайте отмену и повтор после задержки.

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

Какой вариант оставить после пробы

Решение видно по сделанной записи. Если люди быстро выбирают время в обычной переписке, бот уже закрывает задачу. Если много времени уходит на сопоставление услуг и адресов, проверьте Mini App на одном филиале и оцените, реже ли сотрудники вручную перечисляют клиенту часы и адреса, которые он мог бы сразу увидеть в приложении при выборе услуги. Для входов из поиска и писем оставьте рабочую страницу в браузере.

Оставьте один вид подтверждения для обоих путей. Тогда сотрудник найдёт запись в общем расписании, даже если не знает, где клиент начал оформление.

Если экран удобен, а записи всё равно теряются, перенесите усилие на расписание и передачу данных. Принимая работу по интеграции, начните с одной услуги и нескольких исходов: запись принята, место недоступно, клиент вернулся после паузы. Решение о расширении имеет смысл, когда покупатель получает подтверждение, а сотрудник находит его в расписании.

Источники и полезные ссылки

  1. Telegram: способы запуска Mini Apps ↗
  2. Telegram: прямые ссылки на Mini Apps ↗
  3. Telegram: инициализация Mini Apps ↗
  4. Telegram: проверка данных, полученных через Mini App ↗

Интерфейсы и возможности сервисов могут меняться. Перед настройкой сверяйтесь с актуальной документацией.

Игорь Крещенко

Руководитель ШТАБ ИТ. Занимается управлением проектами, веб-разработкой, рекламой и PR. Подробнее об авторе →