Справочник по API интерактивного холста

API Interactive Canvas — это библиотека JavaScript, которую вы используете для взаимодействия с вашим диалоговым действием с помощью объекта interactiveCanvas в вашем веб-приложении.

Дополнительные сведения об Interactive Canvas см. в документации Interactive Canvas .

Методы

готовый

ready(callbacks) returns undefined

Вызывается веб-приложением Interactive Canvas после загрузки для регистрации обратных вызовов.

Параметры
callbacks InteractiveCanvasCallbacks

Объект, содержащий обратные вызовы методов.

sendTextQuery

sendTextQuery(textQuery) returns Promise<state>

Отправляет текстовый запрос на диалоговое действие.

Параметры
textQuery string

Запрос для отправки диалоговому действию.

state string

Одно из следующих:

READY: Платформа может принимать запросы.

BLOCKED: существует запрос, и новый запрос будет удален.

UNKNOWN: текущее состояние запроса не удалось определить.

getHeaderHeightPx

getHeaderHeightPx() returns Promise<height>

Определяет высоту заголовка в верхней части дисплея.

Параметры
height number

Высота в пикселях.

выводTts

outputTts(text, openMic) returns undefined;

Воспроизводит текст SSML.

Параметры
text string

Воспроизводимая строка, поддерживаемая SSML.

openMic boolean

Открывать ли микрофон после воспроизведения TTS.

createIntentHandler

createIntentHandler(intentId, callback) returns IntentHandler

Создает обработчик намерения для пользовательского намерения NLU.

Параметры
intentId string

Имя намерения, определенное в Actions Builder.

callback function( MatchedIntent )

Функция, которая будет выполняться при совпадении намерения.

IntentHandler object

Объект обработчика намерения, который можно зарегистрировать с помощью expect() .

IntentHandler

Объект, представляющий обработчик намерения. Можно зарегистрировать с помощью expect() или prompt() .

Соответствующее намерение

Объект, содержащий данные для совпадающего намерения.

Методы
getIntentArg(parameterName) function(string)

Метод для получения параметра намерения совпадающего намерения.

создатьNumberSlot

createNumberSlot(callback, hints?) returns Slot<number>

Создает слот с номером типа.

Параметры
callback function( FilledSlot )

Функция, которая будет выполняться, когда слот заполнен.

hints Hints

Короткие слова, которые пользователь может произнести при заполнении слота. hints помогают системе NLU решить, какой слот заполнить.

Slot object

Объект Slot, который можно зарегистрировать с помощью prompt() .

создатьTextSlot

createTextSlot(callback, hints?) returns Slot<string>

Создает слот строкового типа.

Параметры
callback function( FilledSlot )

Функция, которая будет выполняться, когда слот заполнен.

hints Hints

Короткие слова, которые пользователь может произнести при заполнении слота. hints помогают системе NLU решить, какой слот заполнить.

Slot object

Объект Slot, который можно зарегистрировать с помощью prompt() .

создатьСлот подтверждения

createConfirmationSlot(callback, hints?) returns Slot<boolean>

Создает слот логического типа.

Параметры
callback function( FilledSlot )

Функция, которая будет выполняться, когда слот заполнен.

hints Hints

Короткие слова, которые пользователь может произнести при заполнении слота. hints помогают системе NLU решить, какой слот заполнить.

Slot object

Объект Slot, который можно зарегистрировать с помощью prompt() .

СоздатьОпцииСлот

createOptionsSlot(options, callback, hints?) returns Slot<string>

Создает слот из заранее определенного списка опций.

Параметры
options array< Option >

Функция, которая будет выполняться, когда слот заполнен.

callback function( FilledSlot )

Функция, которая будет выполняться, когда слот заполнен.

hints Hints

Короткие слова, которые пользователь может произнести при заполнении слота. hints помогают системе NLU решить, какой слот заполнить.

Slot object

Объект Slot, который можно зарегистрировать с помощью prompt() .

Слот

Объект, представляющий слот, который необходимо заполнить. Можно зарегистрировать с помощью expect() или prompt() .

Заполненный слот<T>

Объект, представляющий заполненный слот.

Параметр
T boolean|number|string

Тип слота.

Вариант

Объект, представляющий запись типа слота.

Поля
key string

Уникальный идентификатор записи типа слота.

synonyms array<string>

Список слов, используемых для выбора опции слота.

Подсказки

Объект, представляющий подсказки для слота.

Поля
associatedWords array<string>

Список слов, которые помогают системе NLU решить, какой слот заполнить.

ожидать

expect(expectation) returns HandlerRegistration

Регистрирует ожидание клиента. Может быть вызван обработчиками намерений и слотами.

Параметры
expectation IntentHandler | Slot

Обработчик намерения или слот, который необходимо зарегистрировать.

HandlerRegistration object

Зарегистрированный обработчик или слот намерения.

ОбработчикРегистрация

Объект, представляющий зарегистрированный обработчик намерений.

Методы
deleteHandler() function

Отменяет регистрацию ожидаемого обработчика намерений.

ясноОжидания

clearExpectations() returns undefined;

Удаляет все ожидания, удаляя все ранее зарегистрированные обработчики намерений и слоты.

быстрый

prompt(tts, expectation) returns Promise<Answer<T>>

Запрашивает у пользователя предоставленную строку TTS и регистрирует ожидание на клиенте. Может быть вызван обработчиками намерений и слотами.

Параметры
tts string

Строка TTS, используемая для запроса у пользователя предоставленного ожидания.

expectation IntentHandler | Slot

Обработчик намерения или слот, который необходимо зарегистрировать.

Answer<T> object

Предоставленный пользователем ответ на запрос.

Ответ<Т>

Объект, представляющий предоставленный пользователем ответ на запрос.

Поля
value boolean|number|string

Значение ответа, предоставленного пользователем.

status string

Статус ответа.

Одно из следующих:

ANSWERED: Пользователь ответил на запрос ответом.

NO_MATCH: пользователю было предложено дать ответ, и он ответил ответом, который не соответствовал ожидаемому ответу или любому другому ожидаемому намерению.

YIELD: пользователь ответил на запрос с другим намерением.

триггерСцена

triggerScene(sceneName) returns Promise<TriggerSceneStatus>

Запускает сцену.

Параметры
sceneName string

Имя запускаемой сцены.

TriggerSceneStatus string

Статус вызова триггераScene().

Одно из следующих:

SUCCESS: Запрос успешно обработан сервером.

BLOCKED: запрос был заблокирован существующим запросом в работе.

UNKNOWN: Статус запроса неизвестен.

setUserParam

setUserParam(key, value) returns Promise<undefined>;

Устанавливает пару ключ-значение, которая передается и сохраняется между диалогами.

Параметры
key string

Ключ параметра.

value object|array|boolean|number|string

Значение параметра.

getUserParam

getUserParam(key) returns Promise<object|array|boolean|number|string>;

Получает значение параметра для данного ключа, если он существует, и состояние вызова.

Параметры
key string

Ключ параметра.

сбросUserParam

resetUserParam() returns Promise<void>;

Очищает все пользовательские параметры.

setHomeParam

setHomeParam(key, value) returns Promise<undefined>;

Устанавливает пару ключ-значение, которая передается и сохраняется между диалогами.

Параметры
key string

Ключ параметра.

value object|array|boolean|number|string

Значение параметра.

getHomeParam

getHomeParam(key) returns Promise<object|array|boolean|number|string>;

Получает значение параметра для данного ключа, если он существует, и состояние вызова.

Параметры
key string

Ключ параметра.

сбросHomeParam

resetHomeParam() returns Promise<void>;

Очищает все пользовательские параметры.

setCanvasState

setCanvasState(state) returns undefined

Уведомляет Ассистента о том, что веб-приложение Canvas обновило свое состояние. Метод setCanvasState не возвращает значение. Доступ к полезной нагрузке состояния можно получить через свойство conv.context.canvas.state .

Параметры
state Object

Обновленное состояние приложения Canvas как объекта JSON.

Интерактивный холст

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

onUpdate

onUpdate(data) returns Promise|undefined

Вызывается, когда ответ Canvas отправляется из диалогового действия. TTS запустится, когда возвращенное обещание будет выполнено, или истечет время ожидания через 10 секунд.

Параметры
data Object

Обновленные данные, отправленные вебхуком.

onTtsMark

onTtsMark(markName) returns undefined

Обратный вызов, вызываемый во время воспроизведения TTS.

Специальные метки, которые срабатывают всегда:

  • START указывает на начало TTS.
  • END указывает на конец TTS.
  • ERROR указывает на ошибку воспроизведения TTS.

Вы также можете определить собственные метки, используя SSML и тег <mark> , например <mark name="custom"/> .

Параметры
markName string

Имя метки, вызываемое во время воспроизведения TTS.

onInputStatusChanged

onInputStatusChanged(inputStatus) returns undefined

Уведомляет приложение Canvas об изменении статуса ввода Ассистента.

Параметры
inputStatus Enum

Статус обработки голосового и/или текстового ввода на устройстве. Может быть следующим:

  • LISTENING : Микрофон открыт.
  • IDLE : Микрофон закрыт.
  • PROCESSING : Ассистент в данный момент выполняет запрос (микрофон закрыт).