Today we’re excited to announce the Alexa Voice Service (AVS) Capabilities API. As Alexa gets smarter with new features and updates that require client-side code changes, you can use the Capabilities API to let Alexa know which interfaces and interface versions your product supports following an over-the-air (OTA) update.
For example, after your product installs an OTA update that adds support for a new Alexa feature, you publish your product's new capabilities to Alexa by specifying the interfaces and interface versions your product supports using the Capabilities API. Alexa will only enable a new feature on products that have successfully installed your OTA update and are ready to support the new feature, leaving products that have not yet updated, unchanged.
We are also introducing interface versioning, which enables you to clearly understand changes made to the APIs as new features are added or updated, and communicate those versions to Alexa using the Capabilities API.
Device makers who want to upgrade their Alexa-enabled products to support new Alexa features can follow these steps:
Note: If you are using the AVS Device SDK v1.7 or later, no further action is required.
1. Familiarize yourself with interface versioning
When new directives and events are added to or removed from an interface, or when message payloads are adjusted, impacted interfaces will be versioned independently using a MAJOR.MINOR scheme.
The MAJOR number for an interface version is increased when incompatibilities are introduced.
The MINOR number for an interface version is increased for backward compatible, non-breaking changes.
For more details on interface versioning and for a list of current and supported interface versions, please see the Capabilities API documentation on the AVS Developer Portal.
2. Update your AVS client code to support the Capabilities API
Capabilities is a new HTTP1.1 API that you must call when your product is first unboxed or when the firmware on your product changes to support new Alexa features. When you call the API, you must provide the complete list of interfaces and interface versions that your product supports.
Please see the Capabilities API documentation for a more detailed discussion of the API and a complete set of use cases.
AVS Sample App on GitHub
The AVS Device SDK v1.7 and later supports the Capabilities API and interface versioning. Build your first prototype with Raspberry Pi or download the latest code to see the new features. Prototype with the updated AVS Device SDK for C++ Client for Raspberry Pi now.
What is AVS?
AVS is a customizable suite of development tools and resources that make it easy to integrate Alexa directly into your products and bring voice-forward experiences to customers. Through AVS, device makers can add a new natural interface to their products and offer customers access to a growing number of Alexa features, smart home integrations, and skills. Visit the AVS Developer Portal to get started.
Source: Alexa Developer Blog