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

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

$queryText

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

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

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

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

{
    "var1": "$queryText"
}

$userId

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

$clientProfile

Помогает идентифицировать пользователя.

Так, с помощью $clientProfile.userId вы сможете узнать идентификатор установленного приложения, который уникален для каждого устройства. А с помощью $clientProfile.sub вы сможете узнать уникальный идентификатор авторизованного пользователя. Такой идентификатор уникален в рамках приложения и не изменяется, даже если пользователь использует несколько устройств.

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

$rawRequest

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

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

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

$lastSeen

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

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

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

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

$httpResponse

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

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней