Manage Skills in Alexa Smart Properties
The following sections contain information about managing, enabling, and disabling skills for Alexa Smart Properties.
Get the skill ID for a property skill
After your skill is certified, your administrator users will need the skill ID to enable or disable it.
To get the skill ID for your property skill
- Open your skill in the developer console.
- Find the skill in the list and click Copy Skill ID below the skill name. Copy the ID from the popup.
Enable or disable skills for a unit
You can use theSkill Management API to enable or disable skills for a property's units. You can enable skills that are published in the Alexa Skills Store. In addition, you can use the Alexa Skills Kit to create and publish property-specific skills.
-
To enable a skill for a unit, call the enable a skill API.
-
To enable a skill for multiple units, call the enable a skill for multiple units API.
-
To disable a skill for a unit, call the disable a skill API.
After you've enabled a skill in a unit, your property's end users can use it on endpoints installed in the unit.
Use account linking and partitions in skill enablements
A skill enablement is a record that a skill is enabled for a unit. When you enable a skill, you can link a skill provider account to the skill for that enablement. For example, suppose a unit has smart light bulbs, and you (as a smart home skill provider) have a smart home skill that controls them. When you enable your skill for the unit, you can link your skill provider account to the skill in the API call.
How to use delegated account linking
Delegated account linking creates an association between your skill provider account and your Amazon Business account. After you set it up, your account credentials are delegated to the skill enablement API calls you make for your skill, so that you don't need to provide account details in each call.
To set up delegated account linking
- Log in to the Alexa Skills Store using your Amazon Business credentials. These credentials must be the same ones you used to register with Alexa Smart Properties as a skill provider.
- In the Alexa Skills Store, search for your skill and enable it for your Amazon Business account. This links your skill provider account to the skill.
- In your app, enable the skill for a unit. Your skill provider account is automatically linked to the skill enablement.
How to use partitions to limit the scope of a smart home skill
By using partitions, you can limit the scope of a smart home skill in a unit to just the smart devices installed in that unit. A partition is a logical grouping of Alexa resources, such as devices, endpoints, or skills. In Alexa Smart Properties, partitions often represent units or groups of units.
The partition name is a string containing a single partition name or a comma-separated list of partition names. A partition name is a single nonempty string that can contain alphanumeric characters and hyphens but not whitespace.
For example, "Room-101" and "Room101, Room202" are valid partition names. The following aren't valid values: "" (empty list), "Room101, ,Room202" (not properly comma-separated), "Room 101" (contains whitespace).
For example, suppose a property has five rooms: Room101
, Room102
, Room103
, Room104
, and Room105
. To enable a smart home skill that supports partition in Room101
, when enabling the skill for Room101
, you should specify the partition as follows.
{
"persistentUnitId": "amzn1.alexa.unit.[unique-value-here]",
"stage": "live",
"partitionName": "Room101",
}
For Alexa skills that support partitions, you can include the partitionName
parameter in the skill enablement API call to specify which partitions in a property the skill is being enabled for. Using the partitionName
field allows you to partition your property into individual units, so that the skill can operate within the scope of that partition.
Specifying the same partitionName
in the skill enablement in a unit and in the smart home skill service for Alexa devices installed in that unit ensures that when the end user invokes a smart home skill from an Alexa device in this unit, the skill recognizes only the smart home devices in that unit. See the scope object documentation to understand how the partition appears in the payload.
To use partitions in skill enablements
- Set up delegated account linking to link your skill provider account with your Amazon Business account.
- Set up the smart devices for each unit using your skill provider service. In each call, pass the partition name for the unit.
- Enable your skill for each unit. In each call, pass the same
partitionName
for the unit that you used when you set up the unit's smart devices in your skill provider service.
Provide a device context specific response to a skill request
User persistent unit IDs
To identify the source unit associated with the endpoint for requests to your skill, you can enable persistent unit IDs. Your skill can use the unit ID to provide a unit-specific response. For details, see the unit
field of the System
object in the Request and Response JSON Reference. To allowlist your skill to enable Persistent Unit ID, refer to Enable features and permissions for your property skills.
Use persistent endpoint IDs
Requests to your skill now contain the endpoint ID of the device that originated the skill request. This feature is tied to your developer account. That is, endpoint ID values stay the same if you access the IDs through the same developer account for which the feature is enabled.
When your skill receives a request, examine the persistentEndpointId
field in the context.System.device
object of the request. For details, see System Object.
Related topics
- Create Skills for Alexa Smart Properties
- About Alexa Smart Properties
- Get Started with Alexa Smart Properties APIs
Last updated: Sep 10, 2024