Обновить переменные клиентов через сценарий
Обновление переменных — это их изменение. Например, раньше в карточке клиента не было имени, и переменная «Имя» была пустой. В ходе сценария мы добавляем клиенту имя, и переменная «Имя» становится заполненной. Либо раньше имя было неверным, и мы заменяем его на другое.


Подробнее о том, что такое переменные и как их создавать, читайте в инструкции.
Для обновления переменной в сценарии используется шаг «Действия» → «Записать данные клиентов» → «Обновить переменные».


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

Что можно указывать в значении переменной:
- Постоянное значение, которое вы введете в поле;
- Данные шагов — переменные, которые получены с помощью внешних запросов;
- Ответы клиента в чат-боте — переменные, сформированные на основе ответов клиентов;
- Шаблоны значений — шаблоны при использовании языка шаблонов Jinja;
- События клиента — данные о действиях клиента;
- Переменные клиента — данные о клиенте из его профиля.
Разберем подробнее каждый способ.
Постоянное значение запишет одинаковую переменную для всех, кто проходит шаг сценария. Чтобы записать его, введите значение в поле вручную.

Обновим переменные на примере данных из профиля ВКонтакте.
Вы можете воспользоваться готовым шаблоном «Сохранение информации о клиенте из ВКонтакте». После авторизации в разделе «Шаблоны сценариев» выберите шаблон «Сохранение информации о клиенте из ВКонтакте».
Изучите сценарий. В первом шаге получаем сообщение от клиента, во втором шаге получаем данные о клиенте из его профиля ВКонтакте. В третьем шаге обновляем переменные.
Чтобы обновить переменные, в шаблоне уже выбраны нужные данные из второго шага. В случае использования готового шаблона, изменения в сценарий вносить не требуется, обновление переменных уже настроено.

Разберем, как добавить данные самостоятельно, не используя готовый шаблон:
1. Перейдите в шаг «Обновить переменные клиента». Нажмите на иконку «Переменных».

2. Выберите подстановку значений из «Данных шагов».

3. Чтобы данные шагов открылись, запустите сценарий и пройдите нужный шаг тестовым клиентом. Чтобы запустить сценарий заполните поля произвольными данными.
4. В «Данных шагов» найдите ID вашего тестового клиента.

5. Откройте шаг, в котором вы получили нужные значения переменных. Раскрывайте поля, пока не найдете нужное значение.


6. Кликните на значение, которое нужно записать в переменную.

В переменную клиента можно вставить информацию, которую передал клиент в сообщении чат-боту.
Например, на втором шаге чат-бот может спросить должность клиента. Сообщение, которое напишет клиент в 3 шаге, можно записать в переменную «Должность».


Шаблоны значений помогают передавать данные в определенном формате. Например, регулярное выражение может быть использовано, если почта клиента импортирована вместе с почтовым доменом, а нам нужно получить только значение до знака @.

Подробнее о шаблонах значений читайте в инструкции.
В значении переменной можно вставить событие клиента. Например, указать, когда он запустил сценарий чат-бота и попал в базу.

Если вы подставите в переменную эту же переменную, значение не запишется. Например, у клиента в карточке не указано имя. Вы хотите указать его. Если вы укажете имя так, как на скриншоте ниже, в значение ничего не запишется, так как значение переменной «Имя» пока пустое.
Чтобы указать имя верно, найдите его в данных шагов или ответах клиента в чат-боте. Выбор зависит от того, откуда вы хотите получить имя клиента.

Вы можете запросить данные из профиля клиента ВКонтакте, используя шаг «Получить данные клиента из VK профиля» и «Обновление переменной клиента». Для этого выполните: зайдите в Действия → Выполнить исходящий запрос → Сообщество ВКонтакте → Получить данные клиента из VK профиля.

Внутри шага выберите интеграцию — Аккаунт VK Groups, сразу добавится текстовое поле с VK ID пользователя. На этом шаге больше ничего заполнять не нужно.

Затем запустите сценарий и пройдите его тестовым клиентом. После этого добавьте шаг «Обновить переменные».


Войдите в шаг и выберите необходимые переменные из раскрывающегося списка (здесь возможен мультивыбор сразу нескольких переменных).

Нажмите на поле ввода, перейдите в «Реальные данные» и выберите VK ID тестового клиента.

Пройдите по пути, показанному на скриншоте ниже, чтобы посмотреть, какие данные клиента приходят в ответ на исходящий запрос.

Вы увидите список данных из профиля клиента VK. Найдите нужную переменную и нажмите на нее. Она автоматически добавится в поле ввода.

Если пользователь скрыл информацию на своей странице, ее в списке не будет.
Например, переменная «first_name», содержащая имя клиента, будет заполнена всегда. А, например, переменная «city» → «title», содержащая название города, заполнена не всегда (может быть приватной или не заполнена). Поэтому в этих случаях, при прохождении сценария пользователем, могут возникать ошибки.
Чтобы их избежать, добавьте в переменную проверку на пустое значение. Нажмите на значок в виде фигурных скобок около поля ввода. Вы увидите полный текст переменной. Добавьте в самый её конец параметр | df(" ")
