Salebot.pro
Search
K

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

Данная статья опишет процесс создания бота от регистрации систематически повторяющееся событие с большим количеством участников.(экскурсия, тренинг, вебинар)
Инструкция по работе с функцией записи на экскурсию (событие)
Адрес функции: https://store.salebot.pro/function/unizapis
Пример схемы: 9110(мы можем ее вам скопировать в проект)

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

Открываем вашу таблицу, справа вверху выбираем Настройки доступа и выставляем права доступа для редактирования по ссылке:
Копируем идентификатор:
Переходим на 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 дня), отправить в этот блок рассылкой (при клике на блок выбрать Создать рассылку) или перейти по ключевому слову (в шаблоне указано слово ЗАПРОС)
В случае успешного подтверждения:
{ "id": "#{sheet_id}", "data_reisa": "#{data_reisa}", "name": "#{client_name}", "phone":"#{client_phone}", "group": "#{group}", "mesta": "#{mesta}", "accept": "Да" }
в случае отказа:
{ "id": "#{sheet_id}", "data_reisa": "#{data_reisa}", "name": "#{client_name}", "phone":"#{client_phone}", "group": "#{group}", "mesta": "#{mesta}", "accept": "Нет" }
При этом функция осуществляет поиск клиента в таблице по номеру телефона и проставляет в столбец подтверждения данные из переданного параметра accept.