ym88659208ym87991671
Добавление моделей устройств (post models) | Документация SmartMarket
Skip to main content

Добавление моделей устройств (post models)

Вендор добавляет в базу умного дома Sber новую модель устройства.

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

  1. Вендор начал производить или продавать в России новую модель устройства: лампочку, розетку или другое.
  2. Вендор уведомляет умный дом Sber о новой модели устройства.
  3. Умный дом Sber добавляет новую модель устройства в свою базу.

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

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

POST /v1/models

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

ПолеТипОбязательное?Описание
modelslist<object>✔︎Список моделей устройств (см. Модель устройства (model))
{
"models": [
{
"id": string,
"manufacturer": string,
"model": string,
"hw_version": string,
"sw_version": string,
"description": string,
"category": string,
"features": [
"online": string,
"on_off": string
// ...
],
"dependencies": {
"func_name": {
"key": string,
"value": [
{
"type": string,
"type_value": object
},
{
// ...
}
]
},
{
// ...
}
}
},
{
// ...
}
]
}

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

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

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

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 POST /v1/models HTTP/1.1 \
-H Host: example.com \
-H Content-Type: application/json \
-H Authorization: Bearer qwerty-1234-... \
-H X-Request-Id: abcd-0000-ifgh-...
{
"models": [
{
"id": "QWERTY123",
"manufacturer": "Factory",
"model": "SM0123456789",
"hw_version": "3.2",
"sw_version": "5.7",
"description": "About device",
"category": "socket",
"features": ["online", "on_off"]
}
]
}

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

HTTP/1.1 200 OK

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

{
"errors": [
{
"id": "QWERTY123",
"code": 500,
"message": "System error"
}
]
}
Обновлено 19 мая 2022

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

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