ym88659208ym87991671
Обновление устройств пользователя (put devices) | Документация SmartMarket
Skip to main content

Обновление устройств пользователя (put devices)

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

Пример ситуации использования:

  1. Пользователь в приложении вендора изменяет характеристику одного или нескольких устройств: название, версию прошивки или другую.
  2. Вендор отправляет умному дому список изменившихся устройств.
  3. Умный дом актуализирует устройства и корректно отображает их в приложении Салют, на SberPortal, SberBox и других устройствах с ассистентами Салют.

Формат запроса

Вендор отправляет уведомление на эндпоинт умного дома Sber: https://partners.iot.sberdevices.ru/. Заголовки см. в разделе Заголовки запросов.

PUT /v1/devices

Тело запроса:

ПолеТипОбязательное?Описание
deviceslist<object>✔︎Список устройств (см. a Устройство пользователя (device))
{
"devices": [
{
"id": string,
"name": string,
"default_name": string
// ...
},
{
"id": string,
"name": string,
"default_name": string
// ...
}
]
}

Формат ответа

Умный дом отправляет ответ на эндпоинт вендора. Заголовки см. в разделе Заголовки запросов.

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

 HTTP/1.1 200 OK

При возникновении ошибки умный дом может возвращать:

  • Список errors, содержащий объекты error. Каждый объект указывает на конкретные устройства, обновить характеристики которых не удалось.
  • Общую ошибку common error. Описывает проблему в целом и отправляется, только если проблему не удалось соотнести с конкретными устройствами.

Если вендор уведомил о нескольких устройствах, и часть из них умный дом смог обновить, а при обновлении характеристик остальных произошла ошибка, умный дом отправит ответ с ошибкой — в нем будет список необновленных устройств.

Ошибка конкретного устройства:

{
"errors": [
{
"id": string,
"code": integer,
"message": string
}
]
}

Общая ошибка:

{
"code": integer,
"message": string,
"details": list<string>
}

Пример запроса и ответа

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

Запрос:

curl -i -X PUT /v1/devices HTTP/1.1 \
-H Host: example.com \
-H Content-Type: application/json \
-H Authorization: Bearer qwerty-1234-... \
-H X-Request-Id: abcd-0000-ifgh-...
{
"devices": [
{
"id": "ABCD_005",
"name": "Ночник",
"default_name": "Умная лампа"
}
]
}

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

HTTP/1.1 200 OK

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

{
"errors": [
{
"id": "ABCD_005",
"code": 500,
"message": "System error"
}
]
}
Обновлено 28 апреля 2022

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней