Модуль Api.ai / Переменные, доступные в обработчиках Actions

api.ai Комментариев нет

Переменные, доступные в обработчиках Actions


$data

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

  • $data['result']['actionIncomplete'] - указывает, что запрос не завершен (требуется уточнение обязательных параметров). Если это поле равно true, Модуль будет пытаться выполнить метод ask для уточнения.
  • $data['result']['fulfillment']['speech'] - ответное сообщение от сервиса. Будет проговорено системой. Благодаря тому, что переменная $data передается в код по ссылке, значение этого поля можно изменить в обработчике, например

предотвратит проговаривание ответа от сервиса. Так же можно заменить другим сообщением.

$params

Список параметров, передаваемых с Action. То же, что и $data['result']['parameters']

$action_name

Имя сработавшего Action. То же, что и $data['result']['action']

$source

Имя терминала, с которого пришел запрос.

$contexts

Массив контекстов из ответа сервиса. То же, что и $data['result']['contexts']


Функции, доступные в обработчиках Actions


$context($name)

Почти то же самое, что и переменная $contexts, только возвращает конкретный контекст из ответа сервиса (по имени)

$setContext($name, $lifespan = 5, $parameters = null)

Устанавливает контекст для текущей сессии. Описание параметров в API

$deleteContext($name = '')

Удаляет контекст из текущей сессии по имени, либо очищает контексты, если $name пустое или не указано.

$globalContexts()

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

$setGlobalContext($name, $lifespan = 5, $parameters = null)

Добавляет контекст в список глобальных. Пример:

$deleteGlobalContext($name)

Удаляет контекст из списка глобальных по имени.

$setSessionEntity($entity_name)

Выгружает для данной сессии "Пользовательскую сущность". entity_name - имя из списка на странице Entities


Дополнительные возможности.


  • Если код обработчика Action вернет return false; событие будет считаться необработанным и управление передастся другим модулям, Шаблонам поведения и т.д.
  • Если во время запроса известен пользователь, от которого он пришел, Модуль установит два входящих контекста

known-user и user-имя_пользователя

  • Если во время запроса известен терминал, от которого он пришел, Модуль установит два входящих контекста

known-terminal и terminal-имя_терминала

Поделитесь в соц сетях

Теги: