Alexa.ChannelController Interface (VSK Fire TV)
When users say utterances to change the channel (e.g., "Alexa, change the channel to PBS"), the Alexa.ChannelController
interface sends ChannelChange
directives to indicate that the channel should be changed. These directives are sent when users specify the channel name, call sign, or channel number.
- Utterances for ChannelController Directives
- Handling ChannelChange Directives
- ChannelChange Example
- Payload Details
- Response Example
- Error Response
Utterances for ChannelController Directives
Alexa sends a ChannelChange
directive through the ChannelController
interface to your Lambda when users say the following utterances.
Feature | Sample Utterances | Expected Response |
---|---|---|
Go to channel name |
Go to Fox start seite <channel> Schalte auf <channel> mets fox mets la chaîne change à radio canada vai sulla fox cambia sulla fox cambiar al canal cambia a Fox cambia a t.v. Azteca cámbiale a t.v. Azteca {channel} に行って {channel} を開いて vá para t.v. globo ir para t.v. globo {channel name} पे जाओ go to {channel name} |
The view switches to the channel name, and content from the channel plays. |
Go to channel number |
Go to channel thirteen Schalte auf <channel number> Schalte auf Kanal/Sender <channel number> mets la 5 vas sur la 5 mets le 10 vas au 10 vai al canale 13 cambia sul canale 13 ve al canal 13 cambia al canal 13 ve al canal 13 cambia al canal 13 チャンネル {channel number} に行って チャンネル {channel number} を開いて vá para o canal cinco ir para o canal cinco channel thirteen पे जाओ go to channel thirteen |
The view switches to the channel number, and content from the channel plays. |
Go to channel callsign |
Go to channel k. c. p. q. Schalte auf <channel callsign> Umschalten auf <channel callsign> mets la chaîne {channel code} vas sur la chaîne {channel code} mets {channel code} vas à {channel code} vai al canale {code} cambia sul canale {code} cambia al canal {channel code} ve al canal {channel code} cambia al canal {channel code} ve al canal {channel code} チャンネル {channel callsign} を開いて チャンネル {channel callsign} に行って vá para o {channel callsign} ir para o <channel callsign}
|
The view switches to the channel callsign, and content from the channel plays. |
Watch channel name |
Watch fox Zeige <channel name> <channel name> anschauen je veux voir/regarder fox joue radio canada fais jouer radio canada vai sulla fox cambia sulla fox pon Fox (quiero) ver Fox pon t.v. Azteca ponme t.v. Azteca {channel name}を再生して {channel name}を見せて assistir a t.v. globo assista a t.v. globo {channel name} चलाओ {channel name} लगाओ |
The view switches to the channel name, and content from the channel plays. |
Watch channel number |
Watch channel thirteen Zeige Kanal/Sender <channel number> Kanal/Sender <channel number> anschauen mets la 5 je veux voir/regarder la 5 mets le (canal) 10 va au/sur le vai al canale 13 cambia sul canale 13 pon el canal 13 (quiero) ver el canal 13 mets le 10 mets le canal 10 チャンネル {channel number} を見せて {channel number} チャンネル を見せて assistir canal cinco assista canal cinco channel thirteen चलाओ watch channel thirteen |
The view switches to the channel number, and content from the channel plays. |
Handling ChannelChange Directives
The ChannelChange
directive allows customers to tune to a specific channel using voice commands. When users say "Alexa, tune to CNN," you receive a ChannelChange
directive in your Lambda. You then need to change the live TV stream to show the user the correct channel.
To help you understand which directive corresponds with which channel, we have provided a list of possible callsigns for each channel in Channels List.
If you'd like to support additional channels not included in this list, reach out to your Amazon contact, and he or she will coordinate with the right people to get you the information you need on how to handle it.
Alternatively, try asking your Alexa-enabled device to change the channel to whichever channel you like, and then observe the directive received in your Lambda log to check the callsign for yourself. However, it's still best if you flag those channels to your Amazon contact so we can know to prioritize that channel in our voice models. The channel callsign will be available within the callSign
field within the channel change directive's payload.
You will not receive information about local channels in the directives — just top level names and callsigns, such as "ABC." It is up to you to perform any localization for your users.
ChannelChange Example
The following is an example ChangeChannel
directive:
{
"directive": {
"header": {
"namespace": "Alexa.ChannelController",
"name": "ChangeChannel",
"messageId": "abc-123-def-456",
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "device-001",
"cookie": {
}
},
"payload": {
"channel": {
"number": "1234",
"callSign": "KSTATION1",
"affiliateCallSign": "KSTATION2",
"uri": "someUrl"
},
"channelMetadata": {
"name": "Alternate Channel Name",
"image": "urlToImage"
}
}
}
}
Payload Details
Field | Description | Type | Required |
---|---|---|---|
channel |
Describes a channel. | object | Yes |
channel.number |
A number that identifies the specified channel such as 5 or 12.1 | string | No, but channel.number , channelMetadata.name , channel.callSign , affiliateCallSign or uri must be specified. |
channel.callSign |
Specifies a channel by call sign such as PBS. | string | No, but channel.number , channelMetadata.name , channel.callSign , affiliateCallSign or uri must be specified. |
channel.affiliateCallSign |
Specifies a channel by local affiliate call sign such as KCTS9. | string | No, but channel.number , channelMetadata.name , channel.callSign , channel.affiliateCallSign or channel.uri must be specified. |
channel.uri |
The URI of the channel such as "entity://provider/channel/12307" | string | No, but channel.number , channelMetadata.name , channel.callSign , channel.affiliateCallSign or channel.uri must be specified. |
channelMetadata |
Provides additional information about the specified channel. | object | No |
channelMetadata.name |
Another value that identifies the channel such as "FOX". | string | No, but channel.number , channelMetadata.name , channel.callSign , channel.affiliateCallSign or channel.uri must be specified. |
channelMetadata.image |
A URL to an image that describes the channel. | string | No |
Response Example
You must send an Response
event if a request to change channels was successful. The response should include a context object that reports the channel after the request completes.
{
"context": {
"properties": [
{
"namespace": "Alexa.ChannelController",
"name": "channel",
"value": {
"number": "1234",
"callSign": "callsign1",
"affiliateCallSign": "callsign2"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 0
}
]
},
"event": {
"header": {
"messageId": "abc-123-def-456",
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"namespace": "Alexa",
"name": "Response",
"payloadVersion": "3"
},
"endpoint":{
"endpointId":"appliance-001"
},
"payload":{ }
}
}
Error Response
If you cannot complete the customer request for some reason, reply with an error. See Error Handling for more details.