

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Modelo de dados de integrações gerenciadas
<a name="managedintegrations-data-model"></a>

O modelo de dados de integrações gerenciadas gerencia toda a comunicação entre o usuário final e as integrações gerenciadas.

**Hierarquia de dispositivos**

Os elementos de `capability` dados `endpoint` e são usados para descrever um dispositivo no modelo de dados de integrações gerenciadas.

**`endpoint`**

`endpoint`Representa as interfaces lógicas ou os serviços oferecidos pelo recurso.

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

**`Capability`**

O `capability` representa os recursos do 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 o elemento de `capability` dados, há três itens que compõem esse item: `property``action`, e. `event` Eles podem ser usados para interagir e monitorar o dispositivo.
+ **Propriedade**: Estados que são mantidos pelo dispositivo, como o atributo do nível de brilho atual de uma luz regulável.
  + 

    ```
    {
        "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
        
    }
    ```
+ **Ação**: Tarefas que podem ser executadas, como trancar uma porta na fechadura da porta. As ações podem gerar respostas e 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**: Essencialmente, um registro de transições de estado passadas. Embora `property` representem os estados atuais, os eventos são um diário do passado e incluem um contador monotonicamente crescente, um registro de data e hora e uma prioridade. Eles permitem capturar transições de estado, bem como modelagem de dados que não é facilmente alcançada com. `property`
  + 

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