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


Уведомляет платформу умного дома об изменении параметров устройств.

Пример ситуации, в которой отправляется текущий запрос: разработчик навыка обновил список умений у устройства пользователя, или пользователь переименовал устройство в приложении провайдера.

Когда отправка этого запроса обязательна — в разделе [Требования к уведомлениям](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/notifications-requirements.md#discovery-trigger).

<!-- source: ru/_includes/reference-alerts/resources-alerts/id-resources-alerts/reference-alerts-test-in-private.md -->
{% note info "Условие работы сервиса уведомлений" %}

Уведомления принимаются, если навык был опубликован хотя бы один раз, включая приватную публикацию. На черновике навыка, который ни разу не публиковали, сервис уведомлений не работает — отлаживайте отправку уведомлений на опубликованном навыке. Подробнее см. в разделе [Требования к уведомлениям](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/notifications-requirements.md).

{% endnote %}
<!-- endsource: ru/_includes/reference-alerts/resources-alerts/id-resources-alerts/reference-alerts-test-in-private.md -->


## Формат запроса {#input}

```bash translate=no
POST https://dialogs.yandex.net/api/v1/skills/{[skill_id](*skill_id)}/callback/discovery
```


#### Заголовки запроса {#headers}

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

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-1.md -->
Authorization
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-2.md -->
Авторизационный [токен владельца навыка](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference-alerts/resources-alerts.md#oauth).
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-3.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-3.md -->
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/content-type-row-col-1.md -->
Content-Type
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/content-type-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/content-type-row-col-2.md -->
Формат передаваемых/отправляемых данных. Возможные значения: application/json.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/content-type-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/content-type-row-col-3.md -->
Да, в операциях с http-методом POST
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/content-type-row-col-3.md -->
||
|#


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

```json translate=no
{
    "ts": Float64,
    "payload": {
        "user_id": String
    }
}
```

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

||
ts
|
[Float64](*float64)
|
Время возникновения события в секундах и долях секунды, формат unix timestamp.

Например, значение `1611764267.120` соответствует 27 января 2021 года 16 часов 17 минут 47 секунд 120 миллисекунд.
|
Да
||

||
payload
|
[Object](*object)
|
Объект с идентификатором.
|
Да
||
|#

<br>

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

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

||
user_id
|
[String](*string)
|
Идентификатор пользователя, который был передан в ответе на запрос [Информация об устройствах пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices.md).
|
Да
||
|#



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


{% list tabs %}

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


  ```json translate=no
  HTTP/1.1 202 Accepted

  {
    "request_id": String,
    "status": "ok"
  }
  ```

  <!-- source: ru/_includes/reference-alerts/struct-table-protocol-alerts/id-struct-table-protocol-alerts/post-skill_id-callback-state-response.md -->
  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

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

  ||
  status
  |
  [String](*string)
  |
  Статус обработки запроса. Допустимые значения:
  - `ok`.
  |
  Да
  ||
  |#
  <!-- endsource: ru/_includes/reference-alerts/struct-table-protocol-alerts/id-struct-table-protocol-alerts/post-skill_id-callback-state-response.md -->



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


  ```json translate=no
  HTTP/1.1 400

  {
    "request_id": String,
    "status": "error",
    "error_code": String,
    "error_message": String
  }
  ```

  <!-- source: ru/_includes/reference-alerts/struct-table-protocol-alerts/id-struct-table-protocol-alerts/post-skill_id-callback-state-response-error.md -->
  <!-- Response error -->


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

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

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

  |
  Да
  ||

  ||
  error_code
  |
  [String](*string)
  |
  Код ошибки. Допустимые значения:
  - `BAD_REQUEST`;
  - `UNKNOWN_USER`.
  |
  Нет
  ||

  ||
  error_message
  |
  [String](*string)
  |
  Сообщение об ошибке.
  |
  Нет
  ||
  |#
  <!-- endsource: ru/_includes/reference-alerts/struct-table-protocol-alerts/id-struct-table-protocol-alerts/post-skill_id-callback-state-response-error.md -->


  [Коды ошибок](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/responses-codes-alerts.md)

{% endlist %}


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

> {% list tabs %}
>
> - Запрос
>
>
>   ```bash translate=no
>   curl -i -X POST 'https://dialogs.yandex.net/api/v1/skills/user-test-skill/callback/discovery' \
>   -H 'Authorization: OAuth 123qwe456a...' \
>   -H 'Content-Type: application/json' \
>   -d '{
>       "ts": 1611764267.120,
>       "payload": {
>           "user_id": "provider-user-id-1"
>       }
>   }'
>   ```
>
>
> - Успешный ответ
>
>
>   ```json translate=no
>   HTTP/1.1 202 Accepted
>
>   {
>     "request_id": "75442486-0878-440c-9db1-a7006c25a39f",
>     "status": "ok"
>   }
>   ```
>
>
> - Ответ с ошибкой
>
>
>   ```json translate=no
>   HTTP/1.1 400
>
>   {
>     "request_id": "same-as-in-request",
>     "status": "error",
>     "error_code": "UNKNOWN_USER",
>     "error_message": "User not found"
>   }
>   ```
>
> {% endlist %}


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

[*float64]:
  64-битное число с плавающей точкой с точностью до 15-18 десятичных знаков.

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

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

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

[*skill_id]:
  Идентификатор вызываемого навыка, присвоенный при создании.

Чтобы узнать идентификатор своего навыка, откройте его в [консоли разработчика](https://dialogs.yandex.ru/developer/) — идентификатор можно скопировать на вкладке **Общие сведения**, внизу страницы.