ym88659208ym87991671
Системные переменные для чат-ботов | Документация для разработчиков

Системные переменные

Обновлено 14 декабря 2023

Graph автоматически создает системные переменные. Вы можете оперировать системными переменными, как и собственными.

$queryText

В переменной $queryText хранится полный текст текущего пользовательского запроса в формате строки.

Используйте переменную если необходимо обработать, передать или сохранить запрос пользователя.

Например вы можете сохранить запрос пользователя в базе данных с помощью блока HTTP-запрос.

Для этого передайте переменную в теле запроса, в виде значения одного из полей, например:

{
"var1": "$queryText"
}

$userId

Уникальный идентификатор пользователя, который не меняется со временем. Этот идентификатор является уникальным только для пары чат-бот-пользователь. То есть, если тот же самый пользователь обратится к другому вашему чат-боту, то идентификатор уже будет другим.

$rawRequest

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

Пример запроса можно посмотреть в разделе SmartApp API. Эта переменная может пригодиться, если вам нужно получить какие-то дополнительные данные из изначального запроса (например, информация о голосе ассистента, который выбрал пользователь).

Пример работы с $rawRequest описан в разделе Обработка данных запроса.

$lastSeen

В этой системной переменной хранится информация о том, сколько секунд назад был предыдущий запрос от этого пользователя. Если пользователь пришел в первый раз, то в переменной будет undefined. Эту переменную можно использовать, чтобы изменять логику чат-бота для новых и уже известных пользователей. А также чтобы изменять логику, если чат-бот видел пользователя давно и недавно.

  • Вы можете использовать эту переменную без определения времени. В этом случае переменная будет просто определять, впервые пользователь обратился к чат-боту или нет.

  • Либо вы можете задать временной интервал последнего обращения. Значение может быть задано в блоке условий подобным образом:$lastSeen > 600.

Здесь 600 - это 600 секунд, то есть, 10 минут. Чат-бот будет выдавать реплику "С возвращением!" если пользователь обращался более 10 минут назад, иначе - будет говорить "Привет!"

$httpResponse

В переменной сохраняется тело ответа на HTTP-запросы, выполненные с помощью блока HTTP-запрос. Для доступа к полям ответа используйте точечную нотацию.

$userChannel

ТипОписание
Виджет на сайте$request.userChannel === "WIDGET"
Страница чат-виджета jivo$request.userChannel === "CHAT_PAGE"
Электронная почта$request.userChannel === "EMAIL"
Telegram$request.userChannel === "TELEGRAM"
Viber$request.userChannel === "VIBER"
ВКонтакте$request.userChannel === "VKONTAKTE"
Одноклассники$request.userChannel === "ODNOKLASSNIKI"
Яндекс. Мессенджер$request.userChannel === "YANDEX"
Avito$request.userChannel === "AVITO"
Мобильный SDK$request.userChannel === "MOBILE_SDK"
СМС-канал$request.userChannel === "TELEPHONY"
Aliexpress$request.userChannel === "ALIEXPRESS"
Chat API$request.userChannel === "CHAT_API"
ИначеСрабатывает во всех остальных случаях (если пришло неизвестное название канала или пришло название канала, который пользователь не добавил в условие).
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.