The Interactive Canvas API is a JavaScript library that you use to interface
with your Conversational Action using the interactiveCanvas
object in your web app.
For more information about Interactive Canvas, see the Interactive Canvas documentation.
Methods
ready
ready(callbacks) returns undefined
Called by the Interactive Canvas web app once it has loaded to register callbacks.
Parameters | |
---|---|
callbacks |
InteractiveCanvasCallbacks
An object that contains method callbacks. |
sendTextQuery
sendTextQuery(textQuery) returns Promise<state>
Sends a text query to the conversational action.
Parameters | |
---|---|
textQuery |
string
The query to send to the conversational action. |
state |
string
One of the following:
|
getHeaderHeightPx
getHeaderHeightPx() returns Promise<height>
Determines the height of the header at the top of a display.
Parameters | |
---|---|
height |
number
The height in pixels. |
outputTts
outputTts(text, openMic) returns undefined;
Plays SSML text.
Parameters | |
---|---|
text |
string
The SSML supported string to be played. |
openMic |
boolean
Whether to open mic after the TTS plays. |
createIntentHandler
createIntentHandler(intentId, callback) returns IntentHandler
Creates an intent handler for an NLU custom intent.
Parameters | |
---|---|
intentId |
string
Intent name as defined in Actions Builder. |
callback |
function(MatchedIntent)
Function to be executed when the intent is matched. |
IntentHandler |
object
Intent handler object that can be registered using |
IntentHandler
An object representing an intent handler. Can be registered using expect()
or prompt()
.
MatchedIntent
An object containing the data for a matched intent.
Methods | |
---|---|
getIntentArg(parameterName) |
function(string)
Method to get the intent parameter of a matched intent. |
createNumberSlot
createNumberSlot(callback, hints?) returns Slot<number>
Creates a slot of type number.
Parameters | |
---|---|
callback |
function(FilledSlot)
Function to be executed when the slot is filled. |
hints |
Hints
Short words that the user might say when filling a slot. |
Slot |
object
Slot object that can be registered using |
createTextSlot
createTextSlot(callback, hints?) returns Slot<string>
Creates a slot of type string.
Parameters | |
---|---|
callback |
function(FilledSlot)
Function to be executed when the slot is filled. |
hints |
Hints
Short words that the user might say when filling a slot. |
Slot |
object
Slot object that can be registered using |
createConfirmationSlot
createConfirmationSlot(callback, hints?) returns Slot<boolean>
Creates a slot of type boolean.
Parameters | |
---|---|
callback |
function(FilledSlot)
Function to be executed when the slot is filled. |
hints |
Hints
Short words that the user might say when filling a slot. |
Slot |
object
Slot object that can be registered using |
createOptionsSlot
createOptionsSlot(options, callback, hints?) returns Slot<string>
Creates a slot from a pre-defined list of options.
Parameters | |
---|---|
options |
array<Option>
Function to be executed when the slot is filled. |
callback |
function(FilledSlot)
Function to be executed when the slot is filled. |
hints |
Hints
Short words that the user might say when filling a slot. |
Slot |
object
Slot object that can be registered using |
Slot
An object representing a slot to be filled. Can be registered using expect()
or prompt()
.
FilledSlot<T>
An object representing a filled slot.
Parameter | |
---|---|
T |
boolean|number|string
The slot type. |
Option
An object representing a slot type entry.
Fields | |
---|---|
key |
string
The unique identifier for the slot type entry. |
synonyms |
array<string>
A list of words used to select the slot option. |
Hints
An object representing hints for a slot.
Fields | |
---|---|
associatedWords |
array<string>
A list of words used to help the NLU system decide which slot to fill. |
expect
expect(expectation) returns HandlerRegistration
Registers the expectation on the client. Can be called on intent handlers and slots.
Parameters | |
---|---|
expectation |
IntentHandler|Slot
The intent handler or slot to be registered. |
HandlerRegistration |
object
The registered intent handler or slot. |
HandlerRegistration
An object representing a registered intent handler.
Methods | |
---|---|
deleteHandler() |
function
Unregisters the expected intent handler. |
clearExpectations
clearExpectations() returns undefined;
Removes all expectations by deleting all previously registered intent handlers and slots.
prompt
prompt(tts, expectation) returns Promise<Answer<T>>
Prompts the user with the provided TTS string, and registers the expectation on the client. Can be called on intent handlers and slots.
Parameters | |
---|---|
tts |
string
The TTS string used to prompt the user for the provided expectation. |
expectation |
IntentHandler|Slot
The intent handler or slot to be registered. |
Answer<T> |
object
The user-supplied answer to the prompt. |
Answer<T>
An object representing a user-supplied answer to a prompt.
Fields | |
---|---|
value |
boolean|number|string
The value of the user-supplied answer. |
status |
string
The answer status. One of the following:
|
triggerScene
triggerScene(sceneName) returns Promise<TriggerSceneStatus>
Triggers a scene.
Parameters | |
---|---|
sceneName |
string
The name of the scene to trigger. |
TriggerSceneStatus |
string
The status of the call to triggerScene(). One of the following:
|
setUserParam
setUserParam(key, value) returns Promise<undefined>;
Sets the key-value pair that's passed and persisted between conversations.
Parameters | |
---|---|
key |
string
The parameter key. |
value |
object|array|boolean|number|string
The parameter value. |
getUserParam
getUserParam(key) returns Promise<object|array|boolean|number|string>;
Gets the param value for the given key if it exists and the status of the invocation.
Parameters | |
---|---|
key |
string
The parameter key. |
resetUserParam
resetUserParam() returns Promise<void>;
Clears all user parameters.
setHomeParam
setHomeParam(key, value) returns Promise<undefined>;
Sets the key-value pair that's passed and persisted between conversations.
Parameters | |
---|---|
key |
string
The parameter key. |
value |
object|array|boolean|number|string
The parameter value. |
getHomeParam
getHomeParam(key) returns Promise<object|array|boolean|number|string>;
Gets the param value for the given key if it exists and the status of the invocation.
Parameters | |
---|---|
key |
string
The parameter key. |
resetHomeParam
resetHomeParam() returns Promise<void>;
Clears all user parameters.
setCanvasState
setCanvasState(state) returns undefined
Notifies the Assistant that the Canvas web app has updated its state. The
setCanvasState
method doesn't return a value. The state payload can be accessed through the
conv.context.canvas.state
property.
Parameters | |
---|---|
state |
Object
The updated state of the Canvas app as a JSON object. |
InteractiveCanvasCallbacks
These callbacks provide a way for you to respond to information or requests from your Conversational Action while the methods provide a way to send information or requests to your Conversational Action.
onUpdate
onUpdate(data) returns Promise|undefined
Called when a Canvas
response is sent from the Conversational Action. TTS will start when
the returned Promise is resolved, or timeout after 10 seconds.
Parameters | |
---|---|
data |
Object
Updated data sent by the webhook. |
onTtsMark
onTtsMark(markName) returns undefined
Callback that is invoked during TTS playback.
Special marks that always are triggered:
START
indicates the start of the TTS.END
indicates the end of the TTS.ERROR
indicates an error playing the TTS.
You can also define custom marks by using SSML and the <mark>
tag, like
<mark name="custom"/>
.
Parameters | |
---|---|
markName |
string
Mark name invoked during TTS playback. |
onInputStatusChanged
onInputStatusChanged(inputStatus) returns undefined
Notifies the Canvas app that the Assistant input status has changed.
Parameters | |
---|---|
inputStatus |
Enum
Status of voice and/or text input processing on the device. Can be the following:
|