---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.0
alternate:
  - https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/resources.md
  - https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/resources.md
  - href: https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/resources.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 -->


Платформа умного дома предлагает разработчикам навыков два протокола взаимодействия:

## REST {#rest}

Один из самых популярных протоколов на базе HTTP REST API.

<!-- <dl display-style="htab">
                <dlentry>
                    <dt>Плюсы</dt>
                    <dd>
                        <ul>
                            <li>Полный контроль над обработкой HTTP-запросов</li>
                            <li>Гибкость в использовании технических решений</li>
                            <li>Возможность использовать системы хранения данных для обеспечения более сложной логики работы умных устройств</li>
                            <li>Идеально подходит для больших публичных навыков со сложной логикой и хранением информации на стороне навыка</li>
                        </ul>
                    </dd>
                </dlentry>
                <dlentry>
                    <dt>Минусы</dt>
                    <dd>
                        <ul>
                            <li>Использование виртуального или аппаратного хостинга с последующей оплатой, настройкой и обслуживанием</li>
                            <li>Необходимость базовых знаний системного администрирования для настройки всех компонент</li>
                            <li>Заказ SSL-сертификата и доменного имени</li>
                        </ul>
                    </dd>
                </dlentry>
            </dl> -->

#|
||
**Метод**
|
**Ресурс**
|
**Описание**
||

||
[HEAD](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/check.md)
|
`/v1.0/`
|
Проверка доступности Endpoint URL провайдера
||

||
[POST](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/unlink.md)
|
`/v1.0/user/unlink`
|
Оповещение о разъединении аккаунтов
||

||
[GET](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices.md)
|
`/v1.0/user/devices`
|
Информация об устройствах пользователя
||

||
[POST](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-devices-query.md)
|
`/v1.0/user/devices/query`
|
Информация о состояниях устройств пользователя
||

||
[POST](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-action.md)
|
`/v1.0/user/devices/action`
|
Изменение состояния у устройств
||
|#


## JSON-RPC 2.0 {#json-rpc}

Реализация JSON-RPC поддерживается только через [Yandex Cloud Functions](https://cloud.yandex.ru/docs/functions/).

Пример создания функции можно посмотреть по [ссылке](https://cloud.yandex.ru/docs/functions/solutions/alice-skill).

<!-- <dl display-style="htab">
                <dlentry>
                    <dt>Плюсы</dt>
                    <dd>
                        <ul>
                            <li>Бесплатный хостинг навыка в облаке <xref href="../../deploy-ycloud-function.dita">Yandex Cloud Functions</xref></li>
                            <li>Не требуется покупать/настраивать SSL-сертификат и доменное имя</li>
                            <li>Не требуется настройка программного обеспечения — достаточно написать код обработки запросов с содержимым в формате JSON и сформировать ответ по протоколу в том же самом формате JSON</li>
                            <li>Идеально подходит для небольших приватных навыков</li>
                        </ul>
                    </dd>
                </dlentry>
                <dlentry>
                    <dt>Минусы</dt>
                    <dd>
                        <ul>
                            <li>Отсутствие гибкости в настройке обработки запроса</li>
                            <li>Работа только с одним хостингом — <xref href="../../deploy-ycloud-function.dita">Yandex Cloud Functions</xref></li>
                            <li>Stateless сервер: отсутствие возможности хранить долговременные данные, использовать базу данных</li>
                        </ul>
                    </dd>
                </dlentry>
            </dl> -->

#|
||
**Метод**
|
**Описание**
||

<!--<row>
                            <entry>???</entry>
                            <entry>Проверка доступности Endpoint URL провайдера</entry>
                        </row> -->

||
[unlink](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/unlink-jrpc.md)
|
Оповещение о разъединении аккаунтов
||

||
[discovery](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices-jrpc.md)
|
Информация об устройствах пользователя
||

||
[query](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-devices-query-jrpc.md)
|
Информация о состояниях устройств пользователя
||

||
[action](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-action-jrpc.md)
|
Изменение состояния у устройств
||
|#

<!-- <concept id="format">
            <title>Формат запроса</title>
            <conbody>
                    <table id="request" type="markup">
                        <tgroup cols="4">
                            <thead>
                                <row>
                                    <entry>Параметр</entry>
                                    <entry>Тип</entry>
                                    <entry>Описание</entry>
                                    <entry>Обязательный</entry>
                                </row>
                            </thead>
                            <tbody>
                                <row>
                                    <entry><markupname>headers</markupname></entry>
                                    <entry><xref href="../types.dita#object" popup="yes">Object</xref></entry>
                                    <entry><ph id="headers-ph">Объект с дополнительными полями запроса.</ph></entry>
                                    <entry>Да</entry>
                                </row>
                                <row>
                                    <entry><markupname>request_type</markupname></entry>
                                    <entry><xref href="../types.dita#string" popup="yes">String</xref></entry>
                                    <entry>Тип запроса. Допустимые значения:<ul>
                                        <li>unlink — оповещение о разъединении аккаунтов;</li>
                                        <li>discovery — информация об устройствах пользователя;</li>
                                        <li>query — информация о состояниях устройств пользователя;</li>
                                        <li>action — изменение состояния у устройств.</li>
                                    </ul></entry>
                                    <entry>Да</entry>
                                </row>
                                <row>
                                    <entry><markupname>payload</markupname></entry>
                                    <entry><xref href="../types.dita#object" popup="yes">Object</xref></entry>
                                    <entry><ph conref="struct-table-protocol.dita#struct-table-protocol/payload-ph"/></entry>
                                    <entry>Нет</entry>
                                </row>
                                <row id="api_version-row">
                                    <entry><markupname>api_version</markupname></entry>
                                    <entry><xref href="../types.dita#float" popup="yes">Float</xref></entry>
                                    <entry>Версия протокола Умного дома.</entry>
                                    <entry>Да</entry>
                                </row>
                            </tbody>
                        </tgroup>
                        <tgroup cols="4" id="headers-tgroup">
                            <colspec colname="c1" colnum="1"/>
                            <colspec colname="c2" colnum="2"/>
                            <colspec colname="c3" colnum="3"/>
                            <colspec colname="c4" colnum="4"/>
                            <thead>
                                <row>
                                    <entry namest="c1" nameend="c4">Объект <markupname>headers</markupname></entry>
                                </row>
                            </thead>
                            <tbody>
                                <row>
                                    <entry><markupname>request_id</markupname></entry>
                                    <entry><xref href="../types.dita#string" popup="yes">String</xref></entry>
                                    <entry><ph conref="struct-table-protocol.dita#struct-table-protocol/x-request-id-row-ph"/></entry>
                                    <entry>Да</entry>
                                </row>
                                <row>
                                    <entry><markupname>authorization</markupname></entry>
                                    <entry><xref href="../types.dita#string" popup="yes">String</xref></entry>
                                    <entry><ph conref="struct-table-protocol.dita#struct-table-protocol/auth-row-ph"/></entry>
                                    <entry>Да</entry>
                                </row>
                            </tbody>
                        </tgroup>
                    </table>
            </conbody>
        </concept> -->

<!-- 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 -->


