GetPlayableItems Directives (VSK Echo Show)
When users ask Alexa to play movies, TV shows, recordings, etc., using criteria such as VideoName
, ActorName
, or GenreName
, the VideoContentProvider API sends GetPlayableItems
directives to your Lambda.
The expected response from your Lambda is a GetPlayableItemsResponse
, as shown in the following diagram.
GetPlayableItems
and GetPlayableItemsMetadata
directives interact with your Lambda code, see Step 3: Understand the Alexa Directives and Lambda Responses.- Utterances for GetPlayableItems
- Handling GetPlayableItems Directives
- GetPlayableItems Example
- Payload Descriptions
- Lambda Response
- Example Response
- Payload Descriptions
Utterances for GetPlayableItems
Alexa sends a GetPlayableItems
directive to your Lambda when users say the following utterances.
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
Watch breaking bad |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
Watch sean connery |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
Watch comedy |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
Watch star trek |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
Watch a movie |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
Watch breaking bad season two |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
Watch breaking bad episode five |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
Watch breaking bad season two episode five |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Watch james bond |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
Watch seahawks |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
Watch soccer |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
Watch n. b. a. league |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
Watch soccer game |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
mets / joue / lance / pars [VideoName] sur [AppName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
regarde un film avec [actor] mets un film avec [actor] joue un film avec [actor] pars un film avec [actor] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
regarder un [GenreName] regarder une [GenreName] mets un [GenreName] mets une [GenreName] joue un [GenreName] joue une [GenreName |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
regarde [title] mets [title] joue [title] pars [title] |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
regarde un film mets un film joue un film pars un film |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
regarde la saison [x] de [title] mets la saison [x] de [title] joue la saison [x] de [title] pars la saison [x] de [title] regarde [title] saison [x] mets [title] saison [x] joue [title] saison [x] pars [title] saison [x] joue la saison [x] de [title] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
regarde l'épisode [x] de [title] mets l'épisode [x] de [title] joue l'épisode [x] de [title] pars l'épisode [x] de [title] joue [title] épisode [x] mets [title] épisode [x] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
Same as fr-FR |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
Regarde le [team] Regarde le match de [team] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
Not supported |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
Mets [league] Joue [league] Regarde [league] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
Not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
mets / joue / lance [VideoName] sur [AppName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
regarde un film avec [actor] mets un film avec [actor] joue un film avec [actor] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
regarder un [GenreName] regarder une [GenreName] mets un [GenreName] mets une [GenreName] joue un [GenreName] joue une [GenreName |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
Regarde [title] Mets [title] Joue [title] |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
regarde un film mets un film joue un film |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
Regarde la saison [x] de [title] Mets la saison [x] de [title] Regarde [title] saison [x] Mets [title] saison [x] Joue [title] saison [x] Joue la saison [x] de [title] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
Regarde l'épisode [x] de [title] Mets l'épisode [x] de [title] Joue l'épisode [x] de [title] Joue [title] épisode [x] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
Regarde l'épisode [x] de la saison [x] de [title] Joue l'épisode [x] de la saison [x] de [title] Mets l'épisode [x] de la saison [x] de [title] |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
Regarde le [team] Regarde le match de [team] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
Not supported |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
Mets [league] Joue [league] Regarde [league] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
Not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
ich möchte [VideoName] gucken spiel [VideoName] spiel watchlist ab von [VideoName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
spiel [VideoName] (mit [ActorName]) auf [AppName] streame einen film mit [ActorName] auf [AppName] streame einen [ActorName] film auf [AppName] streame eine serie mit [ActorName] auf [AppName] streame eine [ActorName] serie auf [AppName] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
spiel eine [GenreName] [MediaType] auf [DeviceType] ab spiel eine [GenreName] [MediaType] auf [AppName] ab [GenreName] [MediaType] schauen spiel einen [GenreName] [MediaType] |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
ich möchte [VideoName] gucken spiel [VideoName] spiel watchlist ab von [VideoName]? |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
spiel einen [MediaType] spiel [MediaType] aus der/meiner watchlist streame den [MediaType] [VideoName] auf [AppName]/[Device] spiel trailer von [VideoName] spiel die neueste folge von [VideoName] |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
spiel [VideoName] [Season] [Season_Numer] spiel [VideoName] [Season] [Season_Numer] auf [AppName] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
spiel die [Episode_Number] [Episode] von [VideoName] spiel [VideoName] [Episode_Number] spiel von [VideoName] [Episode] [Episode_Number] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
spiel [Season] [Season_Numer] [Episode] [Episode_Number] von [VideoName] spiel [VideoName] [Season] [Season_Numer] [Episode] [Episode_Number] spiel die [VideoName] [Season] [Season_Numer] [Episode] [Episode_Number] auf [AppName] ab |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
spiel [SportsTeam] [Event] auf [AppName] [SportsTeam] [Event] anschauen/ansehen das [SportsTeam] [Event] auf [AppName] anschauen/ansehen spiel das [SportsTeam] [Event] auf meinem [Device] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
spiel das [Sport] [Event] auf meinem [Device] das [Sport] [Event] ansehen |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
spiel [SportsTeam] [Event] auf [AppName] [SportsTeam] [Event] anschauen |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
spiel das [Sport] [Event] auf meinem [Device] das [Sport] [Event] ansehen |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
[VideoName] चलाओ/बजाओ/लगाओ/play/देखो [AppName] पे/पर/में [VideoName] चलाओ/बजाओ/लगाओ/play |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
[ActorName] का/की/के movies को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के movies चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [GenreName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [GenreName] चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [VideoName] चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के/वाला [GenreName] की [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के/वाला [GenreName] की [VideoName] चलाओ/बजाओ/लगाओ/play/देखो |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
[GenreName] [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [GenreName] [VideoName] चलाओ/बजाओ/लगाओ/play/देखो |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
star trek देखो/देखना/देखिए |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
[VideoName] movies चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
[VideoName] का/की/के [SeasonNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] [SeasonNumber] चलाओ/बजाओ/लगाओ/play/देखो |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
[VideoName] का/की/के [EpisodeNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [EpisodeNumber] चलाओ/बजाओ/लगाओ/play/देखो |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
[VideoName] season one episode one चलाओ/बजाओ/लगाओ/play करो [VideoName] season एक का episode एक चलाओ/बजाओ/लगाओ/play करो |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
[CharacterName] का/की/के/वाला movies चलाओ/बजाओ/लगाओ/play/देखो [CharacterName] का/की/के/वाला movies को चलाओ/बजाओ/लगाओ/play/देखो Watch [CharacterName] movie [VideoName] |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
metti / trasmetti / riproduci / fammi guardare / fammi vedere + [VideoName] (+ da/su [DeviceName]) |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
guarda un film con [ActorName] metti un film con [ActorName] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
guarda una [GenreName] fammi vedere una commedia mostra mi una commedia metti una commedia |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
guarda star trek fammi vedere star trek mostra star trek |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
guarda un film metti un fim trasmetti un film riproduci un film |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
guarda [VideoName] stagione due metti [VideoName] stagione due riproduci [VideoName] stagione due |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
guarda [VideoName] episodio cinque metti [VideoName] episodio cinque riproduci [VideoName] episodio cinque |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
guarda [VideoName] stagione due episodio cinque metti [VideoName] stagione due episodio cinque riproduci [VideoName] stagione due episodio cinque |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
guarda [CharacterName] fammi vedere un film con james bond mostrami un film di james bond |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
riproduci la partita del [SportsTeam] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
not supported |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
trasmetti la partita della [League] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
[VideoName]を再生して [VideoName]を[AppName]で再生して [AppName]で[VideoName][MediaType]を再生して |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
[ActorNameName]が出ている[MediaType]を再生 |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
[AppName]で[GenreNameName][MediaType]を再生[AppName]で[GenreNameName]を再生 |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
|
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
[VideoName]を再生して [VideoName]を<AppName]で再生して [AppName]で[VideoName][MediaType]を再生して [MediaType]を再生して [ActorNameName]が出ている[MediaType]を再生 [Anaphor][MediaType]を流して [AppName]で[GenreNameName][MediaType]を再生 [AppName]で[VideoName][MediaType]を再生して [ChannelName]の[MediaType]を再生 |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
[VideoName]の[Season][Season_Number]の |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
[Episode_Number][Episode]を再生 |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
[Episode_Number][Episode]を再生 [VideoName]の[Season][Season_Number]の |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
|
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
tocar/assistir/reproduzir [VideoName] no/na [AppName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
assistir [ator] colocar [ator] coloque filmes com [ator] encontre filmes com [ator] me mostre filmes com [ator] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
assitir [GenreName] assistir programas de [GenreName] programas de [GenreName] colocar [GenreName] por favor reproduzir [GenreName] reproduzir programas de [GenreName] colocar um programa de [GenreName] |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
assitir jornada nas estrelas colocar jornada nas estrelas reproduzir jornada nas estrelas você pode passsar jornada nas estrelas por favor reproduzir jornada nas estrelas |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
assistir um filme colocar um filme nós podemos assistir um filme ver um filme |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
assistir [title] temporada [x] colocar [title] temporada [x] reproduzir [title] temporada [x] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
assistir [title] episódio [x] colocar [title] episódio [x] reproduzir [title] episódio [x] reproduzir o [title] episódio [x] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
assistir [title] temporada [x] episódio [x] colocar [title] temporada [x] episódio [x] reproduzir [title] temporada [x] episódio [x] |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not Supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
assisitr [SportTeam] assitir o/a [SportTeam] colocar no/na [SportTeam] colocar o jogo do/da [SportTeam] me mostre o jogo do/da [SportTeam] mostre o jogo do/da [SportTeam] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
assistir [Sport] |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
assistir [League] colocar [League] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
pon interstellar reproduce interstellar ver interstellar |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
pon salma hayek reproduce salma hayek |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
pon comedia en netflix (Not supported without AppName) |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
pon star wars reproduce star wars |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
pon la película* reproduce la película* Note: Not supported in es-ES or es-US |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
empieza la segunda temporada de los rompecorazones comienza la segunda temporada de los rompecorazones reproduce la segunda temporada de los rompecorazones |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
pon el capítulo final de los serrano |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
pon el segundo episodio de la primera temporada de anabel reproduce el cuarto episodio de la temporada tres de águila roja |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
reproduce algo con james bond |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
ver el partido del real madrid |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
reproduce el partido de fútbol en mi televisor ver el partido de fútbol en mi tele ver el partido de fútbol |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
pon el partido de la a. c. b. en mi tele ver el partido de la a. c. b. en mi televisor |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
ver el partido de fútbol |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Handling GetPlayableItems Directives
Alexa does the work of parsing the user's utterances and determining the intent, which Alexa then packages up into a GetPlayableItems
directive. However, it might be unclear what the user wants to play, so Alexa sends you the requested content so you can do lookups for the item to play.
The response your Lambda sends should include basic identifying information about the playable content. Depending on your response, Alexa does the following:
- If your Lambda returns just one item in the response, Alexa sends a
GetPlayableItemsMetadata
directive to initiate playback. - If your Lambda returns multiple items in the response, Alexa sends a
GetDisplayableItemsMetadata
directive to display search results.
The GetPlayableItems
directive is identical to GetDisplayableItems
, except for the header
name. The GetPlayableItems
directive is used when the user asks to play content on the device. Having separate directives for play and search allows for greater transparency around user intent.
The following general guidance shows how to perform the search in different scenarios:
Video Names: For example, "Play Interstellar."
When a user includes the video name in the utterance ("Play Interstellar"), Alexa sends a GetPlayableItems
directive with all the relevant video names found in your catalog, with catalog IDs included in the externalIds
field. You should favor the content based on the IDs sent to you along with the videoNames
, select the one that can be played, and then return that item.
Genres/Actors: For example, "Play a comedy movie" or "Play an action movie with Tom Cruise"
In the instance where a video name is not present and some other slot, such as genre and/or actor, is present, Alexa sends a GetPlayableItems
directive. In these cases, you should perform a search using the entities sent in the directive.
For example, for an utterance like "Play an action movie," you receive {mediaType: MOVIE, genreName: COMEDY}
in the GetPlayableItems
directive. You can search based on this information and return an identifier for a comedy movie.
Similarly for an utterance like "Play an action movie with Tom Cruise," you receive {mediaType: MOVIE, genreName: ACTION, actorName: Tom Cruise}
in the GetPlayableItems
directive. You can search and return an identifier for a movie that matches this criteria.
After you return the identifier in your response, Alexa sends a GetPlayableItemsMetadata
directive to fetch additional metadata.
GetPlayableItems Example
The following is a sample GetPlayableItems
directive. In this example, the media title (Manchester by the Sea
) is explicitly identified by the user.
{
"directive": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "9f4803ec-4c94-4fdf-89c2-d502d5e52bb4",
"name": "GetPlayableItems",
"namespace": "Alexa.VideoContentProvider",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "videoDevice-001",
"cookie": {
}
},
"payload": {
"entities": [
{
"type": "Video",
"value": "Manchester by the Sea",
"externalIds": {
"imdb": "tt4574334"
}
}
],
"contentType": "RECORDING",
"locale": "en-US",
"minResultLimit": 8,
"maxResultLimit": 25,
"timeWindow": {
"start": "2016-09-01T00:00:00+00:00",
"end": "2016-09-07T23:59:00+00:00"
}
}
}
}
Payload Descriptions
The following table describes the payload
for a GetPlayableItems
directive.
Field | Description | Data Type |
---|---|---|
entities required |
A list of entity objects to search. The relationship between different entity types should usually be interpreted as an AND operation. For example, if the request contains However, if the request contains multiple entities of the same type, such as Let's say you have another request with Alexa does not rank the entities today because Alexa does not have a way to know what the user wants to play when there are multiple matching entities.
{ "type": "Channel", "value": "PBS", "externalIds": { "imdb": "tt4574334" }, "entityMetadata": { "channelCallSign": "KBTC", "channelNumber": "123" } } |
List |
type required |
Entity types for video content. For a list of video content entity types, see Entity Types. Examples: |
String |
value required |
The value of the entity. For channels, the name of the channel. Examples: |
String |
externalIds optional |
A map of external identifiers for this entity; key is the provider, value is the id .
Examples: |
Object |
optional |
|
|
contentType optional |
Examples: |
Enum |
locale required |
The locale for the user that should be used to get displayable information for the search results. A locale in the same format specified for languages in in the Network Working Group Best Current Practice 47 (BCP-47). If you receive an unrecognized locale, default to Examples: |
String |
minResultLimit required |
The minimum number of results to return in this call for which a For a Example: |
Integer |
maxResultLimit required |
A limit to the maximum number of results to return. See description of Example: |
Integer |
timeWindow optional |
Provides the start and end times that the request should act on. This is usually used for Live TV or Recording only and not for On Demand content. Generally, if the time window is available and can be used to filter the results, you should use it. For providers that only search for On Demand content, the time window field is usually be set to null and can be ignored. For Live TV or Recording, if the user specifies the time window, for example, "Search for TV shows between 4 and 5 pm," or "Find TV shows recorded last week," then you should filter the results based on the start and end times whenever available. Depending on the capabilities, either both the fields — |
Object containing start and end times. |
start optional |
The start time of the time window. Examples: |
A string in ISO 8601 format. |
end optional |
The end time of the time window. Examples: |
A string in ISO 8601 format. |
Entity Types
The entities
object consists of a list of objects, each of which contains a type
and a value along with other possible data such as external IDs. The following values are possible for the type
value: Actor
, App
, Channel
, Character
, Director
, Episode
, Event
, Franchise
, Genre
, League
, MediaType
, ProductionCompany
, Season
, Sport
, SportsTeam
, Video
, Popularity
, Recency
, and VideoResolution
. Details about the payloads for each entity type are provided in the sections below.
Actor
Actor
represents an actor credited in video media content; for example, Casey Affleck might contain the following:
Actor Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ ASIN |
The external ASIN of this entity | String | B01LTHZVKG |
└─ imdb |
The IMDB identifier for the actor. | String | tt4034228 |
uri |
URI mapping to the actor/actress | URI | entity://provider/actor/caseyaffleck |
value |
The name of the actor | String | Casey Affleck |
App
App
represents the explicit app name specified by the user in utterance; for example, "Manchester by the Sea on Prime" might contain the following:
App Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ ENTITY_ID |
An application identifier from a list of apps. | String | amzn1.alexa-ask-target.app.72095 |
value |
The name of the application | String | Prime Video |
Channel
Channel
represents the identifying data for a television channel; for example, "PBS" might contain the following:
Channel Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
entityMetadata |
A map of meta data associated with the channel | Object | — |
└─ channelNumber |
The channel number | Integer | 1234 |
└─ channelCallSign |
The call sign for the channel | String | KBTC |
uri |
The URI of the channel | URI | entity://provider/channel/1234 |
value |
The name of the channel | String | PBS |
Character
A Character
represented in video media content.
Character Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ ASIN |
The Amazon Standard Identification Number (ASIN) for this entity | String | B00DT55P3K |
└─ imdb |
The IMDB identifier for the character. | String | character id |
uri |
URI mapping to the character | URI | entity://provider/character/snowwhite |
value |
The name of the character | String | Snow White |
Director
Director
represents the director name for the video media content; for example, "Kenneth Lonergan" might contain the following:
Director Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
uri |
URI mapping to the director | URI | entity://provider/director/kennethlonergan |
value |
The name of the director | String | Kenneth Lonergan |
Episode
Episode
represents the episode number for serial content like TV Shows; for example, the eighth episode of "Transparent" would have episode number 8.
Episode Payload Fields | Description | Type | Example |
---|---|---|---|
value |
The episode number | Integer | 8 |
Event
An Event
is a reference to a type of event; examples would include sports, music, or other types of events. For example, searching for "Football games" would search for a game
event entity and a football
sport entity.
Event Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for the event. | String | tt4034228 |
uri |
URI mapping to the event | URI | entity://amazon/events/games |
value |
The name of the event type | String | Games |
Franchise
A Franchise
is a video entity which can represent a number of video entities, like movies or TV shows. For example, take the fictional franchise "Intergalactic Wars" which represents a collection of movie trilogies, as well as animated and live action TV shows. This entity type was introduced to account for requests by customers such as "Find Intergalactic Wars movies", which would search for all "Intergalactic Wars" programs of the MOVIE
value for MediaType
, rather than attempting to match to a single title.
Franchise Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
uri |
URI mapping to the franchise | URI mapping to the event | entity://amazon/franchise/intergalacticwars |
value |
The name of the genre | String | Intergalactic Wars |
Genre
Genre
represents the genre of video media content such as action, drama or comedy. For example, the Action
genre might contain the following:
Genre Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
uri |
URI mapping to the genre | URI | entity://provider/genre/action |
value |
The name of the genre | String | Action |
League
League
represents the categorical information for a sporting league; for example, NCAA
is a league that might contain the following:
League Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for the league | String | tt4034228 |
uri |
URI mapping to the league | URI | entity://amazon/league/ncaa |
value |
The name of the league | String | NCAA |
MediaType
MediaType
represents the media type category of a particular piece of content; for example, the MediaType
for "Manchester by the Sea" would be MOVIE
.
MediaType Payload Fields | Description | Type | Example |
---|---|---|---|
value |
The media type; possible values are MOVIE , VIDEO , TV_SHOW |
Enum | MOVIE |
ProductionCompany
ProductionCompany
represents the production company name for the video media content; for example, Marvels, Disney.
ProductionCompany Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Production company name | String | Marvel |
Season
Season
represents the season number for serial content like TV Shows; for example, the season two of "Transparent" would have season number 2.
Season Payload Fields | Description | Type | Example |
---|---|---|---|
value |
The season number | Integer | 2 |
Sport
Sport
represents the categorical information of a sport; for example, football is a sport that might contain the following:
Sport Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for the sport | String | tt4034228 |
uri |
URI mapping to the sports | URI | entity://amazon/sport/football |
value |
The name of the sport | String | Football |
SportsTeam
SportsTeam
represents the categorical information of a professional sports team; for example, "University of Washington Huskies" is a sports team that might contain the following:
SportsTeam Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for this team. | String | tt4034228 |
uri |
URI mapping to the sports team | URI | entity://amazon/sportsteam/huskies |
value |
The name of the sports team | String | University of Washington Huskies |
Video
Video
represents the identifying data for the piece of video content; for example, "Manchester by the Sea" might contain the following:
Video Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
ASIN |
The external ASIN of this entity | String | B01LTHZVKG |
└─ imdb |
The IMDB identifier | String | tt4034228 |
userConfirmations |
Object containing information about user confirmations for the item | Object | |
└─ entitlementVoiceActivation |
Flag to inform partner if voice enablement of viewing period or entitlement is successful. Possible values - CONFIRMED (optional). |
Enum; Default policy - unrecognized values are ignored | CONFIRMED |
uri |
URI mapping to the video | URI | entity://provider/movie/manchesterbythesea |
value |
The name of the video | String | Manchester by the Sea |
Popularity
Popularity
indicates whether the user asks for popular content.
Popularity Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Indicates to provider that the user searches for popular content | String | TRUE |
Recency
The resolved values for Recency
indicate whether the user asks for new or old content.
Recency Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Indicates whether the user searches for new or old content; possible values are NEW , OLD |
Enum | NEW |
VideoResolution
VideoResolution
represents the requested video resolution in one of the following standards:
- SD (480p)
- HD (720p-1080p)
- 4k (2160p)
- 8k (4320p)
VideoResolution Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Video resolution; possible values are SD , HD , 4k , 8k |
Enum | HD |
Note that multimodal devices have the following additional entity types: LISTTYPE
, SORTTYPE
.
LISTTYPE
is populated when users wants to browse their Watchlist or Library. For example, utterances like "Show me my Watchlist" or "Show me my Video Library." LISTTYPE
can have the following enum values:
WATCHLIST
: For "Show me my Watchlist" — used to show videos the user has added to their watchlist.LIBRARY
: For "Show me my Video Library" — used to show videos that are in the users' library. Typically, these are the videos that have been purchased by the user.
SORTTYPE
is used to give additional information about the request that should be used during the searches and how results need to be sorted. For example, for "Show me recommended movies," Alexa needs recommendations from the content provider. SORTTYPE
can have the following enum value:
RECOMMENDED
: This value is populated for utterances like "Show me recommended movies," or "Show me recommended action movies," etc.
Experience Types
Use the experience
object to optimize the display of search results based on the device used to perform the search. For example, if a customers searches from a Fire TV remote, the experience
object shows a large number of search results that the customer can browse through with a remote. However, if the search request is from an Echo paired to Fire TV, the experience
object limits the number of results shown, and how they are displayed, allowing the customer to see results without using the remote.
The experience
object consists of a mode
object, which determines how to display the search results. The mode
object takes two values: VOICE_OPTIMIZED
and DEFAULT
.
-
VOICE_OPTIMIZED
: The optimized display of search results for voice-only devices. Provides a list of results that customers can navigate via voice, without the need for a remote. -
DEFAULT
: The default displays of all search results list format, regardless of the device used for the search.
To ensure forward compatibility, fallback to DEFAULT
instead of failing if you receive an unknown value in mode
.
Lambda Response
After receiving a GetPlayableItems
directive, your Lambda must return a GetPlayableItemsResponse
response that follows the structure here. The response structure in this case is similar to the response returned for the GetDisplayableItems
directive.
Follow these guidelines in your response:
-
Remember that the goal of the
GetPlayableItems
directive is to get a single item that can be played for the directive. -
If there is only one item to play, you can just return that one item, and Alexa will play the item.
-
If it's not clear which item to play, you can choose to return multiple items in the response. Alexa will ask the user to choose which one to play. For example, if the user says, "Play Star Wars," there can be multiple movies in the Star Wars franchise returned in the response or multiple movies and TV shows pertaining to Star Wars. if you return multiple results, Alexa sends a
GetDisplayableItemsMetadata
directive to fetch the metadata and display search results. Note that the number of results returned in the first call should not exceed theresultLimit
parameter specified in the directive. -
If the only result found is not playable because the user is not entitled to play the title, or because a subscription is required, you can return that one item. Alexa fetches metadata and renders a prompt to either buy or rent or subscribe once Alexa finds that this item is not playable. After that, the user can trigger the purchase workflow to buy/rent the title and play it afterwards.
-
If multiple results are found that are not playable, you can choose to return all the results, and Alexa will either disambiguate with the user about which item to play, or render an informational prompt to buy, rent, or subscribe to the items.
-
If multiple results are found, with some playable and some not, then you should favor the playable one and return the playable result so that it can be played on the device.
Example Response
The following is an example response from your Lambda for GetPlayableItems
:
{
"event": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "5f0a0546-caad-416f-a617-80cf083a05cd",
"name": "GetPlayableItemsResponse",
"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 a GetPlayableItemsResponse
.
Field | Description | Data Type |
---|---|---|
nextToken optional |
Token to fetch the next set of results. An opaque string sent by the provider which is passed back in subsequent search requests. |
String |
mediaItems required |
A list of |
List |
mediaIdentifier required |
Identifier for the |
Object |
id required |
An identifier for the video item that is used to fetch any display or playback related metadata information on subsequent calls to |
String |
Last updated: Nov 02, 2020