AlexaClient
Outgoing Messages
ConnectionStatusChanged
Notifies the platform implementation of an AVS connection status change.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "AlexaClient",
"action": "ConnectionStatusChanged"
}
},
"payload": {
"status": {{ConnectionStatus}},
"reason": {{ConnectionChangedReason}}
}
}
Payload
ConnectionStatusChanged
Notifies a listener about changes in connection status for multiple Alexa endpoints. There are multiple connections when using Local Voice Control.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "AlexaClient",
"action": "ConnectionStatusChanged"
}
},
"payload": {
"status": {{ConnectionStatus}},
"reason": {{ConnectionChangedReason}},
"detailed": {{ConnectionStatusDetails}}
}
}
Payload
| Property |
Type |
Required |
Description |
Example |
| status |
ConnectionStatus |
Yes |
The Alexa connection status. This is an aggregated status for the multiple connections. |
|
| reason |
ConnectionChangedReason |
Yes |
The reason for the status change. |
|
| detailed |
ConnectionStatusDetails |
Yes |
A detailed breakdown of connection status info per connection type. |
|
DialogStateChanged
Notifies the platform implementation of a dialog state change.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "AlexaClient",
"action": "DialogStateChanged"
}
},
"payload": {
"state": {{DialogState}},
"assistantId": {{Int}}
}
}
Payload
| Property |
Type |
Required |
Description |
Example |
| state |
DialogState |
Yes |
The new dialog state. |
|
| assistantId |
Int |
Yes |
The ID of the assistant that the dialog state change is associated with. The assistantId is 2 for Alexa dialog state changes; For applications using multiple assistants, the value will be an integer greater than 2, corresponding to the assistant ID in Engine configuration field "aace.coassistant.assistants[i].id" for each additional assistant. |
2 |
AuthStateChanged
Notifies the platform implementation of an AVS authorization state change.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "AlexaClient",
"action": "AuthStateChanged"
}
},
"payload": {
"state": {{AuthState}},
"error": {{AuthError}}
}
}
Payload
| Property |
Type |
Required |
Description |
Example |
| state |
AuthState |
Yes |
The new authorization state. |
|
| error |
AuthError |
Yes |
The error state of the authorization attempt. |
|
Incoming Messages
StopForegroundActivity
Notifies the Engine to stop foreground activity.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "AlexaClient",
"action": "StopForegroundActivity"
}
}
}
Type Definitions
ConnectionStatusInfo
JSON Structure
{
"status": {{ConnectionStatus}},
"reason": {{ConnectionChangedReason}}
}
Properties
| Property |
Type |
Required |
Description |
Example |
| status |
ConnectionStatus |
No (default: ConnectionStatus::DISCONNECTED) |
The connection status. |
|
| reason |
ConnectionChangedReason |
No (default: ConnectionChangedReason::NONE) |
The reason for the connection status change. |
|
ConnectionStatusDetails
JSON Structure
{
"avs": {{ConnectionStatusInfo}},
"local": {{ConnectionStatusInfo}}
}
Properties
| Property |
Type |
Required |
Description |
Example |
| avs |
ConnectionStatusInfo |
Yes |
Describes the connection to the Alexa Voice Service. |
|
| local |
ConnectionStatusInfo |
Yes |
Describes the connection to the local endpoint. |
|
Enums
DialogState
Values
| Value |
Description |
| "IDLE" |
Alexa is idle and ready for an interaction. |
| "LISTENING" |
Alexa is currently listening. |
| "EXPECTING" |
Alexa is currently expecting a response from the user. |
| "THINKING" |
A user request has completed, and no more user input is being accepted. Alexa is waiting for a response from AVS. |
| "SPEAKING" |
Alexa is responding to a request with speech. |
| "FINISHED" |
Alexa has finished processing a single Speak directive. If the Speak directive is part of a speech burst, the state will transition back to SPEAKING; if the Speak directive was the last in the burst, the state will transition back to IDLE. |
ConnectionStatus
Values
| Value |
Description |
| "DISCONNECTED" |
Not connected to AVS. |
| "PENDING" |
Attempting to establish a connection to AVS. |
| "CONNECTED" |
Connected to AVS. |
ConnectionChangedReason
Values
| Value |
Description |
| "NONE" |
No reason specified. |
| "SUCCESS" |
The connection status changed due to a successful operation. |
| "UNRECOVERABLE_ERROR" |
The connection status changed due to an error from which there is no recovery. |
| "ACL_CLIENT_REQUEST" |
The connection status changed due to a client request. |
| "ACL_DISABLED" |
The connection attempt failed because connection was disabled. |
| "DNS_TIMEDOUT" |
The connection attempt failed due to a DNS resolution timeout. |
| "CONNECTION_TIMEDOUT" |
The connection attempt failed due to a connection timeout. |
| "CONNECTION_THROTTLED" |
The connection attempt failed due to excessive load on the server. |
| "INVALID_AUTH" |
The provided access credentials were invalid. |
| "PING_TIMEDOUT" |
There was a timeout sending a ping request. |
| "WRITE_TIMEDOUT" |
There was a timeout writing to AVS. |
| "READ_TIMEDOUT" |
There was a timeout reading from AVS. |
| "FAILURE_PROTOCOL_ERROR" |
There was an underlying protocol error. |
| "INTERNAL_ERROR" |
There was an internal error. |
| "SERVER_INTERNAL_ERROR" |
There was an internal error on the server. |
| "SERVER_SIDE_DISCONNECT" |
The server asked the client to reconnect. |
| "SERVER_ENDPOINT_CHANGED" |
The server endpoint has changed. |