Инструкция: сценарий-опрос с сохранением результатов в профиль клиента
Соберем сценарий с запросом у пользователя: - имени - номера телефона - email - региона проживания
Для создания нового узла воспользуйтесь кнопкой "+" или кликните правой кнопкой мышки по существующему узлу и выберите создать новый узел
После того, как узле создан можем приступать к созданию сценария. Переносим контент для каждого из мессенджеров отдельно.
В первом узле спрашиваем у пользователя его имя. Далее создаем второй узел для сохранения введенного имени пользователя и настраиваем передачу входящего контента от пользователя в него
В узле "Сценарий с анкетой сохранение имени" в процедуре прописываем
{# то, что пользователь нам отправил приходит в переменной request.content #}
{# сохраняем ввод пользователя в системный атрибут ФИО #}
{% set_attribute "profile_full_name" request.content %}
В этом же узле спрашиваем у клиента номер телефона. Если мы хотим сделать пропуск этого шага, если номер нас уже известен, то прописываем в процедуре узла Сценарий с анкетой сохранение имени дополнительное условие
{% if attributes.profile_phone_number %}
{% switch "Сценарий с анкетой ввод email" %}
{% endif %}
В контенте узла прописываем сообщение для клиента и добавляем кнопку "Поделиться номером"
Для кнопки тип действия выбираем "Отправить свой контакт" и нажимаем кнопку "Добавить"
Создаем два новых узла "Сценарий с анкетой обработка номера телефона" и "Сценарий с анкетой повторный ввод номера телефона"
Возвращаемся в узле "Сценарий с анкетой сохранение имени" и в действиях после отправки контента выбираем передать сообщение в узел "Сценарий с анкетой обработка номера телефона".
Переходим в узел "Сценарий с анкетой обработка номера телефона" и в процедуре прописываем проверку на корреткность введенного номера телефона. Если номер телефона введен не корректный, то отправляем пользователя в сценарий "Сценарий с анкетой повторный ввод номера телефона". Если номер телефона был введен корректный, то сохраняем его в профиль клиента и отправляем на следующий шаг - ввод email.
{# проверяем введенный номер телефона на корректность #}
{% normalize_phone request.content is_forced=True as phone_number %}
{% if phone_number %}
{# сохраняем номер телефона в профиль клиента #}
{% set_attribute "profile_phone_number" phone_number %}
{# переадресуем пользователя в следующий шаг #}
{% switch "Сценарий с анкетой ввод email" %}
{% else %}
{% switch "Сценарий с анкетой повторный ввод номера телефона" %}
{% endif %}
В узле "Сценарий с анкетой повторный ввод номера телефона" прописываем текст сообщения, добавляем кнопку "Поделиться номером" и указываем действие после отправки контента - переход в узел "Сценарий с анкетой обработка номера телефона".
Для сохранения email создаем узел "Сценарий с анкетой сохранение email"
Переходим в узел "Сценарий с анкетой ввод email". Добавляем текст сообщения для клиента
Для того, чтобы проверить введенное пользователем значение в блоке "Действия после отправки контента" добавляем проверку на регулярное выражение.
Проверка на регулярное выражение: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$
Сообщение об ошибке: Введите почту в корректном формате.
Передать сообщение в узел Сценарий с анкетой сохранение email
В процедуре узла "Сценарий с анкетой сохранение email" в процедуре прописываем сохранение email
{# сохраняем в профиль клиента введенный email пользователя #}
{% set_attribute "profile_email" request.content %}
В контенте данного узла добавляем сообщение "Выберите регион проживания"
Для сохранения выбранного региона создаем узел "Сценарий с анкетой сохранение региона проживания"
Возвращаемся в контент узла "Сценарий с анкетой сохранение email". Под сообщением добавляем кнопки для выбора региона. В GET-параметрах кнопкок мы будем передавать выбранное пользователем значение. Название GET-параметра придумываем любое, у каждой кнопки данного узла название параметра будет совпадать.
Название: Москва
Действие: Узел
Узел: Сценарий с анкетой сохранение региона проживания
GET-параметры: city=Москва
Название: Санкт-Петербург
Действие: Узел
Узел: Сценарий с анкетой сохранение региона проживания
GET-параметры: city=Санкт-Петербург
Название: Пермь
Действие: Узел
Узел: Сценарий с анкетой сохранение региона проживания
GET-параметры: city=Пермь
Для сохранения региона создадим новый атрибут клиента.
Название: Регион проживания
Ключ: profile_region
Тип: Список
Теперь добавим для атрибута "Регион проживания" варианты значений Москва, Санкт-Петербург, Пермь
Возвращаемся в раздел "Конструктор" в узел "Сценарий с анкетой сохранение региона проживания". В процедуре узла прописываем код:
{# сохраним переданный GET-параметр в профиль клиента в атрибут Регион проживания #}
{% set_attribute "profile_region" get_params.city %}
Анкета успешно пройдена пользователем, выведем в сообщении все введенные данные:
Вы ввели следующие данные:
▪️ Ваше имя: {{ attributes.profile_full_name }}
▪️ Ваш номер телефона: {{ attributes.profile_phone_number }}
▪️ Ваш email: {{ attributes.profile_email }}
▪️ Ваш регион проживания: {{ attributes.profile_region }}
Last updated