Получение списка устройств пользователя (get devices)

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

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

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

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

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

GET /v1/devices?user_id=<string>&device_ids=<device_ids>

Параметры запроса:

Поле Тип Обязательное? Описание
user_id string ✔︎ Идентификатор пользователя в системе вендора. Умный дом получает ID при связывании аккаунтов и затем хранит их (см. метод Запрос информации о пользователе (get user))
device_ids list<string> Список идентификаторов устройств в системе вендора. Передаются, если вендору нужно узнать, есть ли у пользователя умного дома Sber какие-то конкретные устройства. Например, если вендор хочет убедиться, что некоторые устройства были добавлены в умный дом

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

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

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

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

При возникновении ошибки возвращается объект типа common error:

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

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

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

Запрос:

curl -i -X GET /v1/devices?user_id=AB12345 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_003",
            "name": "Кухонная розетка",
            "default_name": "Умная розетка"
        },
        {
            "id": "ABCD_005",
            "name": "Ночник",
            "default_name": "Умная лампа"
        },
    ]
}

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

{
    "code": 400,
    "message": "Invalid argument",
    "details": []
}

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

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