Удаление моделей устройств (delete models)
Вендор отправляет умному дому Sber список моделей, которые больше не нужно хранить в базе: таких устройств нет и не будет у пользователей.
Пример ситуации использования:
- В прошлом вендор добавил в умный дом модель устройств, которая теперь не производится. Устройств этой модели больше нет и не будет у пользователей умного дома Sber.
- Вендор уведомляет умный дом Sber о моделях, которые нужно удалить.
- Умный дом удаляет модели устройств из своей базы.
Формат запроса
Вендор отправляет уведомление на эндпоинт умного дома Sber: https://partners.iot.sberdevices.ru/
. Обратите внимание, что для обращения к облаку Sber на сервере вендора должны быть установлены российские сертификаты.
Заголовки см. в разделе Заголовки запросов.
DELETE /v1/models
Тело запроса:
Поле | Тип | Обязательное? | Описание |
model_ids | list<string> | ✔︎ | Список идентификаторов удаленных моделей |
{
"model_ids": [
"model1_id": string,
"model2_id": string
]
}
Формат ответа
Умный дом отправляет ответ на эндпоинт вендора. Заголовки см. в разделе Заголовки запросов.
Успешный ответ:
HTTP/1.1 200 OK
При возникновении ошибки умный дом может возвращать:
- Список
errors
, содержащий объекты error. Каждый объект указывает на конкретные модели, удалить которые не удалось. - Общую ошибку common error. Описывает проблему в целом и отправляется, только если проблему не удалось соотнести с конкретными моделями.
Если вендор уведомил о нескольких моделях, и часть из них умный дом смог удалить, а при удалении остальных произошла ошибка, умный дом отправит ответ с ошибкой — в нем будет список неудаленных моделей.
Ошибка конкретного устройства:
{
"errors": [
{
"id": string,
"code": integer,
"message": string
}
]
}
Общая ошибка:
{
"code": integer,
"message": string,
"details": list<string>
}
Пример запроса и ответа
Вендор уведомляет умный дом Sber об удалении двух моделей устройств.
Запрос:
curl -i -X DELETE /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-...
{
"model_ids": ["QWERTY123", "QWERTY124"]
}
Успешный ответ:
HTTP/1.1 200 OK
Ответ с ошибкой:
{
"errors": [
{
"id": "QWERTY123",
"code": 500,
"error": "System error"
},
{
"id": "QWERTY124",
"code": 500,
"error": "System error"
}
]
}