Уведомление об изменении параметров устройств
Уведомляет платформу умного дома об изменении параметров устройств.
Пример ситуации, в которой отправляется текущий запрос: разработчик навыка обновил список умений у устройства пользователя, или пользователь переименовал устройство в приложении провайдера.
Примечание
Сервис уведомлений доступен только для опубликованных навыков. Если вы только разрабатываете навык, то можно сделать его приватным на время тестирования и не открывать для внешних пользователей.
Формат запроса
POST https://dialogs.yandex.net/api/v1/skills/{skill_id}/callback/discovery
Заголовки запроса
Параметр |
Описание |
Обязательный |
Authorization |
Авторизационный токен владельца навыка. |
Да |
Content-Type |
Формат передаваемых/отправляемых данных. Возможные значения: application/json. |
Да, в операциях с http-методом POST |
Формат тела запроса
{
"ts": Float64,
"payload": {
"user_id": String
}
}
Параметр |
Тип |
Описание |
Обязательный |
ts |
Float64 |
Время возникновения события в секундах и долях секунды, формат unix timestamp. Например, значение |
Да |
payload |
Object |
Объект с идентификатором. |
Да |
Объект payload
Параметр |
Тип |
Описание |
Обязательный |
user_id |
String |
Идентификатор пользователя, который был передан в ответе на запрос Информация об устройствах пользователя. |
Да |
Формат ответа
HTTP/1.1 202 Accepted
{
"request_id": String,
"status": "ok"
}
Параметр |
Тип |
Описание |
Обязательный |
request_id |
String |
Идентификатор запроса. Необходимо логировать для расследования инцидентов. |
Да |
status |
String |
Статус обработки запроса. Допустимые значения:
|
Да |
HTTP/1.1 400
{
"request_id": String,
"status": "error",
"error_code": String,
"error_message": String
}
Параметр |
Тип |
Описание |
Обязательный |
request_id |
String |
Идентификатор запроса. Необходимо логировать для расследования инцидентов. |
Да |
status |
String |
Статус обработки запроса. Допустимые значения:
|
Да |
error_code |
String |
Код ошибки. Допустимые значения:
|
Нет |
error_message |
String |
Сообщение об ошибке. |
Нет |
Пример
ЗапросУспешный ответОтвет с ошибкой
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" } }'
HTTP/1.1 202 Accepted { "request_id": "75442486-0878-440c-9db1-a7006c25a39f", "status": "ok" }
HTTP/1.1 400 { "request_id": "same-as-in-request", "status": "error", "error_code": "UNKNOWN_USER", "error_message": "User not found" }
64-битное число с плавающей точкой с точностью до 15-18 десятичных знаков.
Список пар "ключ": значение
, разделенных запятой. Выделяется фигурными скобками {}
.
{
"name": "John",
"surname": "Smith"
}
Cтрока, выделяется кавычками, например "Hello world"
.
Идентификатор вызываемого навыка, присвоенный при создании.
Чтобы узнать идентификатор своего навыка, откройте его в консоли разработчика — идентификатор можно скопировать на вкладке Общие сведения, внизу страницы.