Запись в группу (экскурсия, автобус, групповое занятие)

Данная статья опишет процесс создания бота по регистрации систематически повторяющегося события с большим количеством участников (экскурсия, тренинг, вебинар)

Инструкция по работе с функцией записи на экскурсию (событие)

Адрес функции: https://store.salebot.pro/function/unizapis

Пример схемы: 9110 (мы можем скопировать ее в проект)

Пример используемой таблицы: https://docs.google.com/spreadsheets/d/1w3bUY6vry4dMNJYodTZDtKHkaQ84adUpACmhfg0M6GY/edit#gid=1305033855

Подготовка таблицы

Открываем вашу таблицу, справа вверху выбираем 'Настройки доступа' и выставляем права доступа для редактирования по ссылке:

Копируем идентификатор:

Переходим на salebot в настройки проекта и в переменные проекта добавляем переменную sheet_id:

Схема в конструкторе

Шаблон схемы выглядит следующим образом:

В собственной схеме можно изменить название групп под ваш вариант.

Работает следующим образом: в первой части схемы, ДО блоков "Успешная запись" и "Уже существует", необходимо создать блоки, осуществляющие сбор различной информации: это может быть дата поездки, направление маршрута, имя и телефон. Затем в блоке #{order} следует вызвать функцию со следующими параметрами:

{ "id": "#{sheet_id}", "data_reisa": "#{data_reisa}", "name": "#{client_name}", "phone":"#{client_phone}", "group": "#{group}", "mesta": "#{mesta} }

При этом функция обращается к таблице, и если есть лист с введенной датой, то записывает данные клиента в таблицу. Если листа нет, то функция создает лист с нужной датой и записывает туда данные клиента.

Далее подробно по схеме.

Блок для сбора информации

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

Затем в стрелке сохраняем введенную дату в переменную data_reisa:

Следующим идет блок выбора направления или группы из него выходят стрелки с условием для выбора направления:

Также мы сохраняем присваиваем переменной group значение a или b соответственно.

Также в блоках (см. пример выше) с выбором групп для экскурсии запросим количество мест, необходимых клиенту.

Затем в стрелке сохраняем введенное количество мест в переменную mesta:

Затем в следующем блоке запрашиваем имя клиента и в стрелке сохраняем его в переменную client_name:

В последующем создаем блок, в котором запрашиваем номер телефона клиента, и в стрелке сохраняем его в переменную client_phone.

Кроме этого, в этой же стрелке мы ставим условие регулярное выражение, чтобы пропускать только номера телефонов.

Также дополнительно делаем петлю в этом блоке для возврата на ввод телефона, если пользователь ввел некорректные данные.

Сохранение собранных данных

В следующем блоке мы вызываем функцию со всеми собранными параметрами:

Параметры вызова:

{ "id": "#{sheet_id}", "data_reisa": "#{data_reisa}", "name": "#{client_name}", "phone":"#{client_phone}", "group": "#{group}", "mesta": "#{mesta}" }

id - это id вашей гугл таблицы.

Сохраняемые значения:

status -> status; client_row -> client_row

status - может быть success и client exist (клиент уже записан на этот день) client_row - номер строки в таблице

Далее от этого блока делаем разветвление в зависимости от статуса выводим сообщение.

Дополнительно

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

Для получения подтверждения вы можете направить клиента в блок стрелкой с указанием времени (например, поставить таймер в 2 дня), отправить в этот блок рассылкой (при клике на блок выбрать Создать рассылку) или перейти по ключевому слову (в шаблоне указано слово ЗАПРОС)

  1. В случае успешного подтверждения:

{ "id": "#{sheet_id}", "data_reisa": "#{data_reisa}", "name": "#{client_name}", "phone":"#{client_phone}", "group": "#{group}", "mesta": "#{mesta}", "accept": "Да" }

  1. в случае отказа:

{ "id": "#{sheet_id}", "data_reisa": "#{data_reisa}", "name": "#{client_name}", "phone":"#{client_phone}", "group": "#{group}", "mesta": "#{mesta}", "accept": "Нет" }

При этом функция осуществляет поиск клиента в таблице по номеру телефона и проставляет в столбец подтверждения данные из переданного параметра accept.

Last updated