

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Envía eventos de dispositivos con la SendConnectorEvent API
<a name="send-connector-events"></a>

## Resumen de los eventos iniciados por el dispositivo
<a name="device-initiated-events-overview"></a>

Si bien la `SendConnectorEvent` API se usa para responder de forma asíncrona a `AWS.SendCommand` cualquier `AWS.DiscoverDevices` operación, también se usa para notificar a las integraciones gestionadas cualquier evento iniciado por el dispositivo. Los eventos iniciados por el dispositivo se pueden definir como cualquier evento generado por un dispositivo sin un comando iniciado por el usuario. Estos eventos del dispositivo pueden incluir, entre otros, los cambios de estado del dispositivo, la detección de movimiento, los niveles de batería y más. Puedes devolver estos eventos a las integraciones gestionadas mediante la `SendConnectorEvent` API con la operación **DEVICE\_EVENT**.

En la siguiente sección, se utiliza una cámara inteligente instalada en un hogar como ejemplo para explicar con más detalle el flujo de trabajo de estos eventos:

![Flujo de trabajo de los eventos](https://docs.aws.amazon.com/es_es/iot-mi/latest/devguide/images/device-events-workflow.png)


**flujo de trabajo de eventos del dispositivo**

1. La cámara detecta movimiento y genera un evento que se envía al servidor de recursos.

1. El servidor de recursos procesa el evento y lo envía al conector C2C.

1. Su conector traduce este evento a la `DEVICE_EVENT` interfaz de integraciones gestionadas para AWS IoT Device Management.

1. Su conector C2C envía este evento de dispositivo a Managed Integrations mediante la `SendConnectorEvent` API con la operación configurada en «DEVICE\_EVENT».

1. Managed Integrations identifica al cliente relevante y le transmite este evento.

1. El cliente recibe este evento y se lo muestra al usuario mediante un identificador de usuario.

Para obtener más información sobre el funcionamiento de la `SendConnectorEvent` API, consulte `SendConnectorEvent` la guía de referencia de la API de integraciones administradas para AWS IoT Device Management.

## Requisitos de los eventos iniciados por el dispositivo
<a name="device-events-requirements"></a>

Los siguientes son algunos requisitos para los eventos iniciados por el dispositivo.
+ Su recurso de conector C2C debería poder recibir eventos de dispositivos asíncronos desde su servidor de recursos
+ Su recurso de conector C2C debería poder llamar a las integraciones administradas de las API del servicio AWS IoT Device Management a través de SiGv4 con AWS las credenciales Cuenta de AWS utilizadas para registrar el conector C2C.

El siguiente ejemplo muestra un conector que envía un evento originado en un dispositivo a través de la API: SendConnectorEvent 

```
AWS-API: /SendConnectorEvent
URI: POST /connector-event/{{{Your-Connector-Id}}}

{
   "UserId": "Your-End-User-ID",
   "Operation": "DEVICE_EVENT",
   "OperationVersion": "1.0",
   "StatusCode": 200,
   "Message": None,
   "ConnectorDeviceId": "{{Your_Device_Id}}",
   "MatterEndpoint": {
        "id": "1",    
        "clusters": [{
            "id": "0x0202",
            "attributes": [
                {
                    "0x0000": "3"
                }
            ]
        }]
    }]
}
```

En el siguiente ejemplo, vemos lo siguiente:
+ Proviene del punto final del dispositivo con un ID igual a 1.
+ La capacidad del dispositivo a la que se refiere este evento tiene un ID de clúster de **0x0202**, que corresponde al clúster de materia Fan Control.
+ El atributo que ha cambiado tiene el ID **0x000** y corresponde a la enumeración del modo de ventilador del clúster. **Se ha actualizado al valor **3**, que corresponde al valor Alto.**
+  Dado que `connectorId` es un parámetro devuelto por el servicio en la nube al crearlo, los conectores deben realizar consultas utilizando GetCloudConnector y filtrar por`lambdaARN`. La propia lambda `ARN` se consulta mediante `Lambda.get_function_url_config` la API. Esto permite acceder `CloudConnectorId` a ellos de forma dinámica en la lambda y no configurarlos estáticamente como antes. 