---
metadata:
  - name: generator
    content: Diplodoc Platform v5.48.2
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
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/dialogs/smart-home/doc/en/llms.txt

# Yandex Smart Home operating protocol

Yandex Smart Home provides skill developers with two interaction protocols:

## REST {#rest}

One of the most popular protocols is based on the 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> -->

#|
||
**Method**
|
**Resource**
|
**Description**
||

||
[HEAD](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/check.md)
|
`/v1.0/`
|
Checking the provider's Endpoint URL availability
||

||
[POST](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/unlink.md)
|
`/v1.0/user/unlink`
|
Notification of unlinked accounts
||

||
[GET](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/get-devices.md)
|
`/v1.0/user/devices`
|
Information about user devices
||

||
[POST](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/post-devices-query.md)
|
`/v1.0/user/devices/query`
|
Information about the states of user devices
||

||
[POST](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/post-action.md)
|
`/v1.0/user/devices/action`
|
Change device state
||
|#



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

JSON-RPC implementation is only supported via [Yandex Cloud Functions](https://yandex.cloud/en/docs/functions/).

You can see an example of function creation at: [link](https://yandex.cloud/en/docs/functions/tutorials/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> -->

#|
||
**Method**
|
**Description**
||

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

||
[unlink](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/unlink-jrpc.md)
|
Notification of unlinked accounts
||

||
[discovery](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/get-devices-jrpc.md)
|
Information about user devices
||

||
[query](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/post-devices-query-jrpc.md)
|
Information about the states of user devices
||

||
[action](https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/post-action-jrpc.md)
|
Change device state
||
|#

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

<!-- {% include [support-support-button](../_includes/about/id-support/support-button.md) %}-->


