Add capabilities
Capabilities turn on specific Sonos features. To enable a capability, select it on one of the pages below:
- In your integration Sandbox when you’re testing your service integration. See Test your service for details.
- In the Integration Submission form when you submit your service for validation. This indicates that you want to support this capability on all Sonos players that use your service.
The table below lists the capabilities with a description and the SMAPI requests that Sonos players and your service will use once the capability has been turned on.
Capability | Description | SMAPI Methods |
---|---|---|
Extended Metadata (More Menu, Info & Options) | This is required. Extended Metadata enables Sonos listeners to perform actions on certain item types to get more information about content such as album notes, artist biographies, and other information that your service can offer to enhance the browsing experience. See Add actions for details. | getExtendedMetadataText getExtendedMetadata |
Extended Metadata for playlists to support Info View. Requires Extended Metadata Capability. | Enables Sonos listeners to perform actions to get more information about playlist item types. This can include information like album notes, artist biographies, or related browse items. This requires that you also enable the Extended Metadata capability. See Add actions for details. You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details. | getExtendedMetadata |
Extended Metadata for radios (“program”) and streams (“stream”) to support Info View. Requires Extended Metadata Capability. | Enables Sonos listeners to perform actions to get more information about program and stream item types, such as album notes, artist biographies, and other information that your service can offer to enhance the browsing experience. This requires that you also enable the Extended Metadata capability. See Add actions for details. You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details. | getExtendedMetadata |
Disable Alarm Support | Selecting this will prevent content from your service from being used as a Sonos alarm. This is useful if you have transient streams (such as live events, limited-edition content, and others). | |
Disable Multiple Account Support | Selecting this prevents multiple users from associating their own account to a Sonos household. Instead, only one user account from your service will be able to be associated with a Sonos household. We encourage you to leave this on for the best customer experience, so that different user accounts can use your service in the same Sonos household. You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details. | |
Enable userInfo | Enables players to send getUserInfo requests.You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details. | getUserInfo |
Include SMAPI context headers with all requests | Sonos will include a context element within the SOAP header, for example, to send time zone information to your service. See SOAP requests and responses for details. | |
Include Zone Player IDs in credentials header | Sonos will include the Sonos player ID for the player sending the request in a zonePlayerId sub-element of the credentials element in the SOAP header. See SOAP requests and responses for details. | |
Requires authorization header | Sends OAuth token in the HTTP Authorization header. Sonos does not send OAuth token and refresh key in the SOAP credentials header element. Token refresh flow requires that you return a 401 response to Sonos. Sonos then calls refreshAuthToken . See Use authentication tokens for details.You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details. | refreshAuthToken |
Requires Device Certificate | Sonos will include a deviceCert sub-element of the credentials element in the SOAP header. See SOAP requests and responses for details. | getMediaURI getContentKey |
Search | Enables the ability for users to search your service. If your service offers this capability, enabling this will allow users to search for content via the Sonos app. If you enable this capability, you must also use a presentation map. See Add search for details. | getMetadata search |
Support the ability to receive implicit or explicit actions (implicit/explicit) for getMediaURI requests | An action is: - Explicit if the track is playing based on an action initiated by a user, for example, when a user clicks play, seek, skip forward, or skip back. - Implicit if the track is playing automatically as it is the next in the queue. | getMediaURI |
Support content filtering | Enables the ability for listeners to filter content on Sonos for your service. Sonos will include a contentFiltering element within the context element in SOAP request headers when users have chosen to filter content. See Tag & filter explicit content for details.You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details. | |
User Content Playlists | Enables Playlist Editing in Sonos firmware. If your service offers this capability, enabling this will allow users to create, update, and delete playlists via the Sonos app. See Add playlists for details. | createContainer deleteContainer renameContainer addToContainer reorderContainer removeFromContainer |
Account Logging | This is deprecated. See Add reporting for details. Enables account reporting in Sonos firmware. Every time an account is added to your service from a Sonos app, a report message will be sent to your service. | reportAccountAction |
Add play context to reporting | This is deprecated. See Add reporting for details. Sonos will include a contextId element with every setPlayedSeconds , reportPlayStatus , and reportPlaySeconds request. | setPlayedSeconds reportPlayStatus reportPlaySeconds |
Favorites: Adding/Removing Albums | This is deprecated. See Add favorites for details. Enables album favoriting in Sonos firmware. If your service offers this capability, enabling this will allow users to add albums to their favorites folder via the Sonos app. | createItem deleteItem |
Favorites: Adding/Removing Tracks | This is deprecated. See Add favorites for details. Enables track favoriting in Sonos firmware. If your service offers this capability, enabling this will allow users to add tracks to their favorites folder via the Sonos app. | createItem deleteItem |
Playback duration logging at track end | This is deprecated. See Add reporting for details. Enables track playback reporting when the track has finished playing. Your SMAPI service can use this to gather playback data. | setPlayedSeconds |
Playback event logging during track play | This is deprecated. See Add reporting for details. Enables track playback reporting while the track is currently playing. When playback is started, the seconds value is 0. On successive calls, it is the current number of seconds played since the beginning of playback. The SOAP response returns a value of how many seconds should elapse before the next report. A value of 0 indicates that no reporting should be issued after the track begins playing. Your SMAPI Service will typically use this to gather more granular playback information in the event partial playback triggers royalties or some other licensing condition. | reportPlaySeconds reportPlayStatus |
Updated 9 months ago