Alexa.ConsentManagement.ConsentRequiredReporter Interface

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.

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": "a unique identifier, preferably a version 4 UUID"
        },
        "payload": {
            "endpoints": [{
                "endpointId": "unique ID of the endpoint of the plug ",
                "manufacturerName": "the manufacturer name of the endpoint",
                "description": "a description that is shown in the Alexa app",
                "friendlyName": "Living Room Heater Plug",
                "displayCategories": ["SMARTPLUG"],
                "additionalAttributes": {
                    "manufacturer": "the manufacturer name of the endpoint",
                    "model": "the model of the device",
                    "serialNumber": "the serial number of the device",
                    "firmwareVersion": "the firmware version of the device",
                    "softwareVersion": "the software version of the device",
                    "customIdentifier": "your 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.