Сбор контактных данных
В данном уроке вы научитесь запрашивать у клиента контактную и другую необходимую вам информацию, а затем отправлять эту информацию — личным сообщением, в группу, в Google Таблицы либо на почту.
Урок поможет понять общую логику построения бота и подойдет вам, даже если вы создаете бота впервые.
В дальнейшем вы сможете опираться на шаги данного урока при создании ботов для других задач.
Создание сценария
Чтобы начать выполнять урок, в первую очередь необходимо создать новый сценарий.
Для этого перейдите на главную страницу Aimylogic и нажмите кнопку Создать бота.
В появившемся окне дайте название вашему сценарию, выберите язык и нажмите Продолжить.
Распознавание имени
При общении с клиентом в первую очередь необходимо узнать его имя. Создание этого участка сценария подробно описано в отдельном уроке. Перейдите на страницу урока по запросу имени клиента и выполните все описанные в нем шаги.
После выполнения всех шагов у вас будет готов участок сценария, запрашивающий имя клиента:
На данном участке сценария вы получили имя клиента и записали его в переменную $name
.
Получение фамилии
Так как фамилий может быть бесчисленное множество, нет смысла использовать словари фамилий. Воспользуемся блоком text to $var для того, чтобы получить любое слово, которое клиент введет в ответ на вопрос о фамилии, и сохранить его в переменную.
Чтобы связать готовый сценарий с новым блоком, добавьте на экран, содержащий текст Приятно познакомиться, $name!
, блок Переход:
От блока Переход создайте блок text to $var
:
В поле Сообщение вместо текста Введите текст укажите фразу:
Пожалуйста, назовите вашу фамилию.
В поле Имя переменной вместо переменной text
укажите переменную lastname
:
Нажмите Сохранить:
Теперь все, что клиент напишет на данном экране, будет записано в переменную $lastname
, которую вы в дальнейшем сможете использовать и передавать.
Получение номера телефона
Теперь свяжем экран, где вы запрашивали фамилию, с новым экраном. Для этого кликните по строке Переход после ввода $lastname и создайте блок Текст, в котором напишите фразу:
Пожалуйста, введите свой номер телефона.
Добавьте на этот экран блок Интенты. В готовых интентах выберите интент Номер телефона:
Готовый интент Номер телефона содержит следующее регулярное выражение, которое принимает только номера российских мобильных телефонов:
$regexp<(\+?(8|7)[\-\s]?)?\(?9\d{2}\)?[\-\s]?\d{3}[\-\s]?\d{2}[\-\s]?\d{2}>
Вариант Любая другая фраза свяжите с блоком Текст, в котором укажите фразу:
Пожалуйста, введите российский мобильный номер телефона в формате +79112223344.
Сюда бот будет вести клиента, если он введет что-то, что не попадет в готовый интент Номер телефона.
Добавьте сюда блок Переход и свяжите его с экраном Пожалуйста, введите свой номер телефона
:
Когда введенный клиентом номер попадет в интент Номер телефона, он будет записан в переменную $PHONE
. Вы сможете использовать ее далее.
Получение email
Для получения email-адресов у нас также есть готовый интент Email.
Свяжите готовый интент Номер телефона с новым блоком Текст:
Напишите в нем фразу:
Введите свой email.
На этот же экран добавьте блок Интенты и выберите готовый интент Email.
Вариант Любая другая фраза свяжите с экраном Введите свой email
, чтобы при вводе чего-то другого бот возвращал клиента на этот же экран, пока клиент не введет email:
Когда введенный клиентом email попадет в интент Email, он будет записан в переменную $EMAIL
. Вы сможете использовать ее далее.
Получение дополнительной информации
Если вам нужно получить от клиента ответ на какой-либо дополнительный вопрос — выяснить, какая услуга его интересует, на какой адрес доставить товар, какое время удобно для звонка и т. п. — вы можете получить эту информацию с помощью еще одного блока text to $var
.
От интента Email создайте новый блок text to $var
. В качестве сообщения укажите текст:
Какая услуга вас интересует? Пожалуйста, напишите одним сообщением.
В качестве переменной укажите service
.
text to $var
, в которых ответы на вопросы будут записываться в переменные.Тестирование сценария
Чтобы убедиться, что в ходе создания сценария вы выполнили все шаги корректно, нужно протестировать сценарий.
Для этого от варианта Переход после ввода $service добавьте связь с блоком Текст. Скопируйте следующий текст в созданный блок:
Ваше имя: $name
Ваша фамилия: $lastname
Ваш телефон: $PHONE
Ваш email: $EMAIL
Вид услуги: $service
Этот блок выведет в сообщении бота все данные, которые были получены от клиента в ходе диалога.
Теперь можно протестировать сценарий. Нажмите кнопку Тестировать и отвечайте на вопросы бота. Корректно работающий сценарий будет выглядеть приблизительно так:
Далее, если вам нужно передавать эти данные куда-либо, вы можете удалить последний блок Текст:
И вместо этого блока добавить блок HTTP-запрос, с помощью которого будут передаваться данные:
Передача данных из сценария
Если вам нужно отправить на сторонний сервис полученные данные, это можно сделать при помощи блока HTTP-запрос. Вы можете научиться отправлять данные:
Кроме отправки данных с использованием в сценарии блока HTTP-запрос, вы также можете воспользоваться другими блоками:
- блоком Интеграция с Google Таблицами для отправки данных в Google Таблицы
- блоком Отправка email, чтобы отправить данные себе на email
Выберите подходящий для ваших целей способ передачи данных, ознакомьтесь с документацией по тому блоку, который используется для нужной вам интеграции, и добавьте его в ваш сценарий.
Пример использования блока HTTP-запрос
Любая отправка данных с использованием блока HTTP-запрос будет выглядеть примерно так:
Вам нужно связать последний блок, в котором вы задаете вопрос клиенту и записываете его ответ в новую переменную, с блоком HTTP-запрос.
Далее от блока Завершен успешно сделать связь с сообщением об успешной отправке данных.
А от варианта Завершен с ошибкой — связь с блоком Текст следующего содержания:
Ошибка $httpStatus
Если вы оформили блок HTTP-запрос корректно в соответствии с одним из уроков, полученные от клиента данные будут передаваться по указанному в блоке адресу.
Поздравляем! Сценарий для сбора контактных данных готов к использованию.