Удаление моделей устройств (delete models)

Вендор отправляет умному дому Sber список моделей, которые больше не нужно хранить в базе: таких устройств нет и не будет у пользователей.

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

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

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

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

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"
        }
    ]
}

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

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