Инструкция: сценарий-опрос с сохранением результатов в профиль клиента

Соберем сценарий с запросом у пользователя: - имени - номера телефона - email - региона проживания

Для создания нового узла воспользуйтесь кнопкой "+" или кликните правой кнопкой мышки по существующему узлу и выберите создать новый узел

После того, как узле создан можем приступать к созданию сценария. Переносим контент для каждого из мессенджеров отдельно.

  1. В первом узле спрашиваем у пользователя его имя. Далее создаем второй узел для сохранения введенного имени пользователя и настраиваем передачу входящего контента от пользователя в него

  1. В узле "Сценарий с анкетой сохранение имени" в процедуре прописываем

{# то, что пользователь нам отправил приходит в переменной request.content #} 
{# сохраняем ввод пользователя в системный атрибут ФИО #}
{% set_attribute "profile_full_name" request.content %}
  1. В этом же узле спрашиваем у клиента номер телефона. Если мы хотим сделать пропуск этого шага, если номер нас уже известен, то прописываем в процедуре узла Сценарий с анкетой сохранение имени дополнительное условие

{% if attributes.profile_phone_number %} 
    {% switch "Сценарий с анкетой ввод email" %}
{% endif %}

В контенте узла прописываем сообщение для клиента и добавляем кнопку "Поделиться номером"

Для кнопки тип действия выбираем "Отправить свой контакт" и нажимаем кнопку "Добавить"

  1. Создаем два новых узла "Сценарий с анкетой обработка номера телефона" и "Сценарий с анкетой повторный ввод номера телефона"

  2. Возвращаемся в узле "Сценарий с анкетой сохранение имени" и в действиях после отправки контента выбираем передать сообщение в узел "Сценарий с анкетой обработка номера телефона".

  1. Переходим в узел "Сценарий с анкетой обработка номера телефона" и в процедуре прописываем проверку на корреткность введенного номера телефона. Если номер телефона введен не корректный, то отправляем пользователя в сценарий "Сценарий с анкетой повторный ввод номера телефона". Если номер телефона был введен корректный, то сохраняем его в профиль клиента и отправляем на следующий шаг - ввод 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 %}
  1. В узле "Сценарий с анкетой повторный ввод номера телефона" прописываем текст сообщения, добавляем кнопку "Поделиться номером" и указываем действие после отправки контента - переход в узел "Сценарий с анкетой обработка номера телефона".

  1. Для сохранения email создаем узел "Сценарий с анкетой сохранение email"

  2. Переходим в узел "Сценарий с анкетой ввод email". Добавляем текст сообщения для клиента

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

  • Проверка на регулярное выражение: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$

  • Сообщение об ошибке: Введите почту в корректном формате.

  • Передать сообщение в узел Сценарий с анкетой сохранение email

  1. В процедуре узла "Сценарий с анкетой сохранение email" в процедуре прописываем сохранение email

{# сохраняем в профиль клиента введенный email пользователя #}
{% set_attribute "profile_email" request.content %}

В контенте данного узла добавляем сообщение "Выберите регион проживания"

  1. Для сохранения выбранного региона создаем узел "Сценарий с анкетой сохранение региона проживания"

  2. Возвращаемся в контент узла "Сценарий с анкетой сохранение email". Под сообщением добавляем кнопки для выбора региона. В GET-параметрах кнопкок мы будем передавать выбранное пользователем значение. Название GET-параметра придумываем любое, у каждой кнопки данного узла название параметра будет совпадать.

  • Название: Москва

  • Действие: Узел

  • Узел: Сценарий с анкетой сохранение региона проживания

  • GET-параметры: city=Москва

  • Название: Санкт-Петербург

  • Действие: Узел

  • Узел: Сценарий с анкетой сохранение региона проживания

  • GET-параметры: city=Санкт-Петербург

  • Название: Пермь

  • Действие: Узел

  • Узел: Сценарий с анкетой сохранение региона проживания

  • GET-параметры: city=Пермь

  1. Для сохранения региона создадим новый атрибут клиента.

  • Название: Регион проживания

  • Ключ: profile_region

  • Тип: Список

  1. Теперь добавим для атрибута "Регион проживания" варианты значений Москва, Санкт-Петербург, Пермь

  1. Возвращаемся в раздел "Конструктор" в узел "Сценарий с анкетой сохранение региона проживания". В процедуре узла прописываем код:

{# сохраним переданный GET-параметр в профиль клиента в атрибут Регион проживания #}
{% set_attribute "profile_region" get_params.city %}
  1. Анкета успешно пройдена пользователем, выведем в сообщении все введенные данные:

Вы ввели следующие данные:

▪️ Ваше имя: {{ attributes.profile_full_name }}
▪️ Ваш номер телефона: {{ attributes.profile_phone_number }}
▪️ Ваш email: {{ attributes.profile_email }}
▪️ Ваш регион проживания: {{ attributes.profile_region }}

Last updated