GetBrowseNodeItems Directives (VSK Echo Show)
When a user selects a search result on the screen whose selection action is set to display another layer of search results, rather than initiate playback, the VideoContentProvider API sends a GetBrowseNodeItems directive to your Lambda to get items for that "browse node group." This directive is often used when users choose to browse a watch list, video library, or recordings on the device.
- Utterances for GetBrowseNodeItems
- Handling GetBrowseNodeItems Directives
- GetBrowseNodeItems Example
- Payload Descriptions
- Lambda Response
- Response Example
- Payload Descriptions
Utterances for GetBrowseNodeItems
Common utterances that prompt GetBrowseNodeItems directives might include the following:
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
Next |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
prochain(e) suivant(e) next |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
prochain(e) suivant(e) next |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
nächste nächstes das nächste spring/geh vor spring/geh vorwärts vor überspring das eins weiter/vorwärts weiter spring nach vorn spring nach vorn auf [AppName]/[DeviceBrand] nächstes im [DeviceLocation] nächstes auf [DeviceLocation]? [DeviceType]/[DeviceBrand] gib mir das nächste von [AppName] nächstes auf allen [DeviceType] |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
[GroupDeviceBrand] [HomeAutomationType] पर अगला लगाओ[GroupDeviceBrand] पर अगला लगाओ[GroupDeviceBrand] वाले [HomeAutomationType] पर अगला चलाना[AppName] पर इसके बाद वाला दो[AppName] पर मुझे next वाला दे देनाnext recipe अगली recipe[DeviceLocation] पर इसके बाद वाला दो[LocationNonSpecificQuantity] अगला चलाओ अगला/next [Episode] play करो[DeviceLocation] पर DeviceBrand अगला वाला दो |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
prossima / seguente / avanti / salta / successivo |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
次 スキップ 次に行って[DeviceLocation]で次に行って[DeviceLocation]の[DeviceBrand]で次に行って[LocationNonSpecificQuantity]で次を再生[Episode]を再生して[VideoName]の[Episode]を再生[DeviceBrand]で再生 |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
próximo/próxima |
The next page of results appears on the screen. |
| Feature | Sample Utterances | Expected Response |
|---|---|---|
| Get Next Page Required for certification |
siguiente salta muestra el siguiente siguiente en el sonos próxima en el jardín |
The next page of results appears on the screen. |
Handling GetBrowseNodeItems Directives
The GetDisplayableItemsResponse provides items to populate a search results page or other templates, such as landing page, that provide items to browse and select.
When search results are shown on the screen, you can combine similar items together into a logical group. For example, for an utterance like "Show me my recordings," you can group TV Shows into one group and Movies into another group. The display on the device depends on the value of selectionAction from your GetDisplayableItemsResponse. The value for the selectionAction determines how the items get grouped.
When users select a group (e.g., "Alexa, select [X]"), they can then view more results from that group. Selecting a group prompts Alexa to send a GetBrowseNodeItems to get items from that group.
To demonstrate how browse node groups work, turn to your Echo Show and "Open Prime Video" (or say "Video Home" and then tap the "Prime Video" skill). The screen shows a series of browse node groups like this:
You can then either tap a node (category) or say "Alexa, select Prime movies," for example. Alexa sends the GetBrowseNodeItems directive to allow the user to drill down into a specific browse node item. The display on the device depends on the value of selectionAction (from your Lambda's GetDisplayableItemsMetadataResponse):
-
If the value of
selectionActionisBROWSE, you have more search results to show on the screen when the users select this item on the device. After the user selects the category, Alexa sends aGetBrowseNodeItemsdirective to get moremediaIdentifiers, and then sends aGetDisplayableItemsMetadatadirective for those items to display results on the screen. -
If the value of the
selectionActionfield is set toPLAY, you need to play the item if the user selects it. In such cases, Alexa sends aGetPlayableItemsMetadatadirective.
GetBrowseNodeItems Example
The following is an example of a GetBrowseNodeItems directive.
{
"directive": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "0f918d6e-ebae-48f1-a237-13c6f5b9f5da",
"name": "GetBrowseNodeItems",
"namespace": "Alexa.VideoContentProvider",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "videoDevice-001",
"cookie": {
}
},
"payload": {
"minResultLimit": 8,
"maxResultLimit": 25,
"mediaIdentifier": {
"id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
}
}
}
}
Payload Descriptions
The following table describes the payload fields in the GetBrowseNodeItems code sample.
| Field | Description | Data Type |
|---|---|---|
minResultLimitrequired |
The minimum number of results to return in this call for which a For a Example: |
Integer |
maxResultLimitrequired |
A limit to the maximum number of results to return. See description of Example: |
Integer |
mediaIdentifierrequired |
Identifier for the |
Object |
idrequired |
An identifier for the video item that is used to fetch any display or playback related metadata information on subsequent calls to |
String |
Lambda Response
When you receive a GetBrowseNodeItems directive, your Lambda's response should include basic metadata about search results to display (for example, a list of IDs for the items in the requested group). The response is analogous to GetDisplayableItems. Alexa will follow up with GetDisplayableItemsMetadata directive when more information is needed.
Response Example
The following is an example of the GetBrowseNodeItemsResponse your Lambda should send.
{
"event": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "5f0a0546-caad-416f-a617-80cf083a05cd",
"name": "GetBrowseNodeItemsResponse",
"namespace": "Alexa.VideoContentProvider",
"payloadVersion": "3"
},
"payload": {
"nextToken": "fvkjbr20dvjbkwOpqStr",
"mediaItems": [
{
"mediaIdentifier": {
"id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
}
},
{
"mediaIdentifier": {
"id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
}
}
]
}
}
}
Payload Descriptions
The following table describes the payload fields in the GetBrowseNodeItemsResponse code sample.
| Field | Description | Data Type |
|---|---|---|
nextTokenoptional |
Token to fetch the next set of results. An opaque string sent by the provider which is passed back in subsequent search requests. |
String |
mediaItemsrequired |
A list of |
List |
mediaIdentifiersrequired |
Contains a list of |
Array |
idrequired |
An identifier for the video item that is used to fetch any display or playback related metadata information on subsequent calls to |
String |

