Alexa.ConsentManagement.ConsentRequiredReporter Interface 1.0

Implement the Alexa.ConsentManagement.ConsentRequiredReporter interface in your Alexa skill to require customers to give consent to warnings about controlling devices with Alexa. For example, a warning about fire hazards caused by turning on an electric heater remotely. You specify the list of required consents in the discovery response. When you include this interface, consent must be given before the customer can control any device with Alexa. If you want to require user verification on a particular device and directive, include a VerificationsRequired object in your discovery response instead.

For the list of languages that the Alexa.ConsentManagement.ConsentRequiredReporter interface supports, see List of Alexa Interfaces and Supported Languages. For the definitions of the message properties, see Alexa Interface Message and Property Reference.

Reportable properties

The Alexa.ConsentManagement.ConsentRequiredReporter interface doesn't have any reportable properties.

Discovery

You describe endpoints that support the Alexa.ConsentManagement.ConsentRequiredReporter interface by using the standard discovery mechanism described in Alexa.Discovery.

Configuration object

In addition to the usual discovery response fields, for Alexa.ConsentManagement.ConsentRequiredReporter, include a configuration object that contains the following fields.

Property Description Type Required

consents

Identifies the required consents.

Array of objects

Yes

consents.name

Identifies the consent enforced by the device manufacturer. At this time, the supports the Product Safety Electrical Appliance and Materials Act consent only.
Valid value: PSE

String

Yes

Discover response example

The following example shows a Discover.Response message for an Alexa skill that controls a plug and supports the Alexa.PowerController, Alexa.ConsentManagement.ConsentRequiredReporter, and Alexa.EndpointHealth interfaces.

Copied to clipboard.

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover.Response",
            "payloadVersion": "3",
            "messageId": "Unique identifier, preferably a version 4 UUID"
        },
        "payload": {
            "endpoints": [{
                "endpointId": "Unique ID of the endpoint of the plug ",
                "manufacturerName": "Manufacturer of the endpoint",
                "description": "Description to be shown in the Alexa app",
                "friendlyName": "Living Room Heater Plug",
                "displayCategories": ["SMARTPLUG"],
                "additionalAttributes": {
                    "manufacturer": "Manufacturer of the endpoint",
                    "model": "Model of the device",
                    "serialNumber": "Serial number of the device",
                    "firmwareVersion": "Firmware version of the device",
                    "softwareVersion": "Software version of the device",
                    "customIdentifier": "Optional custom identifier for the device"
                },
                "cookie": {},
                "capabilities": [{
                        "type": "AlexaInterface",
                        "interface": "Alexa.PowerController",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "powerState"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.ConsentManagement.ConsentRequiredReporter",
                        "version": "1.0",
                        "configuration": {
                            "consents": [{
                                "name": "PSE"
                            }]
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.EndpointHealth",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "connectivity"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa",
                        "version": "3"
                    }
                ]
            }]
        }
    }
}

Change reporting

You send an Alexa.ChangeReport event to report proactively on changes in the state of an endpoint. You identify the properties that you proactively report in your discovery response. For details about change reports, see Understand State and Change Reporting.