$request

Данные запроса клиента.

Объект содержит следующие поля:

  • version — версия протокола, по умолчанию последняя версия.
  • channelType — тип поверхности.
  • botId — идентификатор смартапа, используется для сопоставления запроса со сценарием, которым он должен быть обработан.
  • channelUserId — идентификатор пользователя. Идентичен идентификатору в сессии.
  • questionId — идентификатор запроса.
  • query — текстовый запрос пользователя.
  • data — параметры запроса.
  • rawRequest — необработанный исходный запрос.
Внимание! Не тестируйте сценарий, в котором есть $rawRequest, в тестовом виджете! Если вы добавите $rawRequest в сценарий, а затем нажмете Тестировать, SmartApp Code вернет ошибку, так как смартап не может получить данные из ассистента, когда диалог идет в тестовом виджете.

Примеры

Получение идентификатора пользователя:

theme: /

    state: Start
        q!: $regex</start>
        a: Начнём.

    state: Приветствие
        intent!: /привет
        a: Ваш идентификатор {{$request.channelUserId}}

Сохранение города пользователя:

state: RememberCity
script:
     $client.city = $request.query;
$session.cart = [];
go!: /ChoosePizza

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

state: Request
    q!: интент из запроса
    a: {{ $request.rawRequest.payload.intent }}, {{ $request.rawRequest.payload.original_intent }}

state: getCharacter
    script:
         $session.character = $request.rawRequest.payload.character.name

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

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