---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.0
alternate:
  - https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/post-action-jrpc.md
  - https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-action-jrpc.md
  - href: https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-action-jrpc.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/dev/dialogs/smart-home/doc/ru/llms.txt?revision=r21995741
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/dialogs/smart-home/doc/ru/llms.txt?revision=r21995741


# Изменение состояния у устройств

<!-- source: ru/_includes/reusables/neuroexpert-button.md -->



<!-- endsource: ru/_includes/reusables/neuroexpert-button.md -->


Изменяет текущее состояние устройств пользователя.

<!-- source: ru/_includes/reference/post-action/situation-example.md -->
Пример ситуации, в которой отправляется текущий запрос: пользователь зашел в приложение [![](../_images/smart-home-app.svg) Дом с Алисой](https://alice.yandex.ru/smart-home) и хочет поменять состояние устройств.
<!-- endsource: ru/_includes/reference/post-action/situation-example.md -->


В ответ на такой запрос провайдеру необходимо изменить состояния запрошенных устройств пользователя.

## Формат запроса платформы умного дома {#input}

Платформа умного дома отправляет запрос на Endpoint URL провайдера (https://example.com).

```bash translate=no
POST https://functions.yandexcloud.net/<function_id>?integration=raw
```

#### Формат тела запроса {#structure-in}

```json translate=no
{
  "headers": {
    "request_id": String,
    "authorization": string
  },
  "request_type": String,
  "payload": {
    "devices":[
      {
        "id": String,
        "custom_data": Object,
        "capabilities": [
          "<capability1>": Object,
          "<capability2>": Object,
          ...
        ]
      }
    ]
  },
  "api_version": Float
}
```

<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/post-devices-action-jrpc-input.md -->
<!-- Post devices action -->
<!-- Query -->

#||
||
**Параметр**
|
**Тип**
|
**Описание**
|
**Обязательный**
||

||
headers
|
[Object](*object)
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/headers-ph.md -->
Объект с дополнительными полями запроса.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/headers-ph.md -->
|
Да
||

||
request_type
|
[String](*string)
|
Тип запроса. Допустимые значения:
- action — изменение состояния у устройств.
|
Да
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-1.md -->
payload
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-2.md -->
[Object](*object)
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-3.md -->
Объект с устройствами.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-3.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-4.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-4.md -->
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-1.md -->
api_version
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-2.md -->
[Float](*float)
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-3.md -->
Версия протокола Умного дома.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-3.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-4.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/api_version-row-col-4.md -->
||
|#

<br>

<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/headers-tgroup.md -->
**Объект `headers`**

#|
||
**Параметр**
|
**Тип**
|
**Описание**
|
**Обязательный**
||

||
request_id
|
[String](*string)
|
Идентификатор запроса. Необходимо логировать на стороне провайдера для расследования инцидентов и проблем.
|
Да
||

||
authorization
|
[String](*string)
|
Авторизационный токен пользователя.
|
Да
||
|#
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/headers-tgroup.md -->

<br>


**Объект `payload`**

#|
||
**Параметр**
|
**Тип**
|
**Описание**
|
**Обязательный**
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-1.md -->
devices
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-2.md -->
[Array](*array) of [objects](*object)
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-3.md -->
Массив с устройствами пользователя.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-3.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-4.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-4.md -->
||
|#

<br>


**Объект `devices`**

#|
||
**Параметр**
|
**Тип**
|
**Описание**
|
**Обязательный**
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-1.md -->
id
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-2.md -->
[String](*string)
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-3.md -->
Идентификатор устройства. Должен быть уникален среди всех устройств производителя.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-3.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-4.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-4.md -->
||

||
custom_data
|
[Object](*object)
|
Объект, который провайдер прислал вместе с устройством в ответ на запрос [Информация об устройствах пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices-jrpc.md). Состоит из набора пар `"ключ":"значение"` любой вложенности и представляет собой дополнительную информацию об устройстве. Содержимое объекта не должно превышать 1024 байт.
|
Нет
||

||
capabilities
|
[Array](*array) of [objects](*object)
|
Массив с информацией об [умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md) устройства.
|
Да
||
|#

<br>


**Объект `capabilities`**

#|
||
**Параметр**
|
**Тип**
|
**Описание**
|
**Обязательный**
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-1.md -->
\<capability1>
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-2.md -->
[Object](*object)
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-3.md -->
Умение и команда на его изменение. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе [Об умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md).
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-3.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-4.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-action-row-col-4.md -->
||


||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-1.md -->
\<capability2>
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-2.md -->
[Object](*object)
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-3.md -->
Умение и команда на его изменение. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе [Об умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md).
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-3.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-4.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-action-row-col-4.md -->
||
|#
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/post-devices-action-jrpc-input.md -->



## Формат ответа провайдера {#output-structure}

Провайдер должен ответить на полученный от платформы умного дома запрос согласно формату.


{% list tabs %}

- Успешный ответ


  <!-- source: ru/_includes/reference/check-jrpc/id-output-structure/cloud.md -->
  Подробнее о том, как отдавать коды состояния, отличные от `200 OK`, читайте в [документации](https://cloud.yandex.ru/docs/functions/concepts/function-invoke#response).
  <!-- endsource: ru/_includes/reference/check-jrpc/id-output-structure/cloud.md -->


  ```json translate=no
  HTTP/1.1 200 OK

  {
      "request_id": String,
      "payload": {
        "devices": [
          {
            "id": String,
            "capabilities": [
              "<capability1>": Object,
              "<capability2>": Object,
              ...
            ],
            "action_result": {
              "status": String,
              "error_code": String,
              "error_message": String
            }
          },
          ...
        ]
      }
  }
  ```

  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/post-action-response.md -->
  <!-- Response -->

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-1.md -->
  request_id
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-3.md -->
  Идентификатор запроса.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-1.md -->
  payload
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-3.md -->
  Объект с устройствами.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-4.md -->
  ||
  |#

  <br>

  **Объект `payload`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-1.md -->
  devices
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-2.md -->
  [Array](*array) of [objects](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-3.md -->
  Массив с устройствами пользователя.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-4.md -->
  ||
  |#

  <br>


  **Объект `devices`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-1.md -->
  id
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-3.md -->
  Идентификатор устройства. Должен быть уникален среди всех устройств производителя.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-4.md -->
  ||

  ||
  capabilities
  |
  [Array](*array) of [objects](*object)
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-description-ph.md -->
  Массив с информацией об [умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md) устройства.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-description-ph.md -->
  |
  Да, если отсутствует `action_result`
  ||

  ||
  action_result
  |
  [Object](*object)
  |
  Результат изменения состояния у устройства. Параметр является обязательным, если отсутствует `capabilities`.


  {% note info %}

  Рекомендуется возвращать параметр для каждого умения по отдельности. Если такой возможности нет, возвращайте результат для всего устройства.

  Ответ на запрос считается успешным (`status:"DONE"`), если хотя бы одно состояние у устройства изменилось.

  {% endnote %}
  |
  Да, если отсутствует `capabilities`
  ||
  |#

  <br>


  **Объект `capabilities`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  \<capability1>
  |
  [Object](*object)
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability-ph-description-post-action-response.md -->
  Результат выполнения команды. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе [Об умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability-ph-description-post-action-response.md -->
  |
  Нет
  ||

  ||
  \<capability2>
  |
  [Object](*object)
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability-ph-description-post-action-response.md -->
  Результат выполнения команды. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе [Об умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability-ph-description-post-action-response.md -->
  |
  Нет
  ||
  |#

  <br>


  **Объект `action_result`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  status
  |
  [String](*string)
  |
  Статус изменения состояния у устройства. Допустимые значения:

  - `DONE` — состояние устройства успешно изменено;
  - `ERROR` — при изменении состояния у устройства произошла ошибка.
  |
  Нет
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-1.md -->
  error_code
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-3.md -->
  Код возможной ошибки из [списка](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/response-codes.md#codes-api). Если поле непустое, параметры `capabilities` и `properties` будут проигнорированы.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_code-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-1.md -->
  error_message
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-3.md -->
  Расширенное человекочитаемое описание возможной ошибки. Доступно в консоли разработчика на вкладке [Тестирование](https://yandex.ru/dev/dialogs/smart-home/doc/ru/testing.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/error_message-row-col-4.md -->
  ||
  |#
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/post-action-response.md -->


  [Коды, связанные с запросом](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/response-codes.md#codes-api)


- Ответ с ошибкой


  ```json translate=no
  HTTP/1.1 404 Not Found
  ```

  [Глобальные коды](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/response-codes.md#enq-with-error-codes)

{% endlist %}


## Пример {#example-JSON}

> {% list tabs %}
>
> - Запрос
>
>
>   ```bash translate=no
>   curl -i POST https://functions.yandexcloud.net/<function_id>?integration=raw \
>   -H 'Content-Type: application/json' \
>   -d '{
>         "headers": {
>           "request_id": "1111-aaaa-2222-bbbb",
>           "authorization": "Bearer 123qwe456a..."
>         },
>         "request_type": "action",
>         "payload": {
>           "devices": [{
>             "id": "abc-123",
>             "custom_data": {
>               "foo": 1,
>               "bar": "two",
>               "baz": false,
>               "qux": [1, "two", false],
>               "quux": {
>                 "quuz": {
>                   "corge": []
>                 }
>               }
>             },
>             "capabilities": [{
>                 "type": "devices.capabilities.color_setting",
>                 "state": {
>                   "instance": "hsv",
>                   "value": {
>                     "h": 255,
>                     "s": 50,
>                     "v": 100
>                   }
>                 }
>               },
>               {
>                 "type": "devices.capabilities.on_off",
>                 "state": {
>                   "instance": "on",
>                   "value": false
>                 }
>               }
>             ]
>           },
>           {
>             "id": "sock-56GF-3",
>             "capabilities": [{
>               "type": "devices.capabilities.on_off",
>               "state": {
>                 "instance": "on",
>                 "value": false
>               }
>             }]
>           }]
>         },
>         "api_version": 1.0
>       }'
>   ```
>
>
> - Успешный ответ
>
>
>   ```json translate=no
>   HTTP/1.1 200 OK
>
>   {
>     "request_id": "1111-aaaa-2222-bbbb",
>     "payload": {
>         "devices": [{
>             "id": "abc-123",
>             "capabilities": [{
>                 "type": "devices.capabilities.color_setting",
>                 "state": {
>                     "instance": "hsv",
>                     "action_result": {
>                         "status": "ERROR",
>                         "error_code": "INVALID_ACTION",
>                         "error_message": "the human readable error message"
>                     }
>                 }
>             },
>             {
>                 "type": "devices.capabilities.on_off",
>                 "state": {
>                     "instance": "on",
>                     "action_result": {
>                         "status": "DONE"
>                     }
>                 }
>             }]
>        },
>        {
>           "id": "sock-56GF-3",
>           "action_result": {
>             "status": "ERROR",
>             "error_code": "DEVICE_UNREACHABLE"
>           }
>        }]
>     }
>   }
>   ```
>
>
> - Ответ с ошибкой
>
>
>   ```json translate=no
>   HTTP/1.1 404 Not Found
>   ```
>
> {% endlist %}


## Часто задаваемые вопросы {#troubleshooting}


{% cut "Можно ли настроить оповещения об изменениях в состоянии устройств?" %}

Для таких оповещений необходим асинхронный протокол. Он не используется в Диалогах.

{% endcut %}


<!-- source: ru/_includes/about/id-support/support-button.md -->
[![Служба поддержки](../_images/support-image.svg)](https://yandex.ru/dev/dialogs/smart-home/doc/ru/feedback.md)
<!-- endsource: ru/_includes/about/id-support/support-button.md -->

[*object]:
  Список пар `"ключ": значение`, разделенных запятой. Выделяется фигурными скобками `{}`.

```json translate=no
{
  "name": "John",
  "surname": "Smith"
}
```

[*string]:
  Cтрока, выделяется кавычками, например `"Hello world"`.

[*array]:
  Массив элементов, разделенных запятой. Элементом могут быть стандартные элементы JSON: строка, число, `true`, `false`, объект или массив. Массив выделяется квадратными скобками `[]`:

```json translate=no
"cities": ["Moscow", "Tokyo", "New York"]
```

[*float]:
  Число с плавающей точкой с точностью до 6-9 десятичных знаков.