

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.

# Modelo de datos de integraciones gestionadas
<a name="managedintegrations-data-model"></a>

El modelo de datos de integraciones gestionadas gestiona todas las comunicaciones entre el usuario final y las integraciones gestionadas.

**Jerarquía de dispositivos**

Los elementos de `capability` datos `endpoint` y se utilizan para describir un dispositivo en el modelo de datos de integraciones gestionadas.

**`endpoint`**

`endpoint`Representa las interfaces o servicios lógicos que ofrece la función.

```
{
    "endpointId": { "type":"string" },
    "capabilities": Capability[]
}
```

**`Capability`**

`capability`Representa las capacidades del dispositivo.

```
{
    "$id": "string",                // Schema identifier (e.g. /schema-versions/capability/matter.OnOff@1.4)
    "name": "string",               // Human readable name
    "version": "string",            // e.g. 1.0  
    "properties": Property[],
    "actions": Action[],
    "events": Event[]
}
```

Para el elemento de `capability` datos, hay tres elementos que lo componen: `property``action`, y`event`. Se pueden usar para interactuar con el dispositivo y monitorearlo.
+ **Propiedad**: estados que contiene el dispositivo, como el atributo de nivel de brillo actual de una luz regulable.
  + 

    ```
    {
        "name":                      // Property Name is outside of Property Entity
        "value": Value,              // value represented in any type e.g. 4, "A", []
        "lastChangedAt": Timestamp   // ISO 8601 Timestamp upto milliseconds yyyy-MM-ddTHH:mm:ss.ssssssZ
        "mutable": boolean,
        "retrievable": boolean,
        "reportable": boolean
        
    }
    ```
+ **Acción**: tareas que se pueden realizar, como cerrar una puerta con la cerradura de una puerta. Las acciones pueden generar respuestas y resultados.
  + 

    ```
    { 
        "name": { "$ref": "/schema-versions/definition/aws.name@1.0" }, //required 
        "parameters": Map<String name, JSONNode value>, 
        "responseCode": HTTPResponseCode,
        "errors": { 
            "code": "string",
            "message": "string"
        }
    }
    ```
+ **Evento**: Básicamente, un registro de las transiciones de estados pasados. Si bien `property` representan los estados actuales, los eventos son un diario del pasado e incluyen un contador que aumenta monótonamente, una marca temporal y una prioridad. Permiten capturar las transiciones de estado, así como el modelado de datos con lo que no se logra fácilmente. `property`
  + 

    ```
    {
        "name": { "$ref": "/schema-versions/definition/aws.name@1.0" },        //required
        "parameters": Map<String name, JSONNode value> 
    }
    ```