Объекты

Основные запросы

Получить список объектов

Запрос:

GET /api/v1/objects

Ответ: 

Массив всех объектов проекта

Получить информацию об одном объекте

Запрос:

GET /api/v1/objects/:id

Ответ: 

Представление объекта в формате JSON

Создать новый объект

В теле запроса на создание нового объекта укажите его представление в формате JSON.

Обязательные поля:

  • model — идентификатор модели;
  • id идентификатор объекта для подключения устройства;
  • name — имя нового объекта.

Запрос:

POST /api/v1/objects

{

  "model": "<model-id>",

  "id": "test-object-01",

  "name": "test-object-01"

}

Ответ:

Представление объекта в формате JSON

Изменить объект

В теле запроса на изменение существующего объекта укажите поля, которые нужно обновить.

Запрос:

PATCH /api/v1/objects/:id

{

  "name": "test-object-02",

  "status": "broken"

}

Ответ:

Представление объекта в формате JSON с учетом измененных полей

Удалить объект

Запрос:

DELETE /api/v1/objects/:id

Ответ: 

Представление удаленного объекта в формате JSON

Получить историю пакетов

Запрос:

GET /api/v1/objects/:id/packets

Ответ: 

Массив всех пакетов объекта

Подсказка: Для того чтобы запросить список пакетов, полученных в определенный период, укажите нижнюю и верхнюю границу интервала в параметрах from и to соответственно. Границы интервала указываются в виде определенных моментов времени в одном из форматов:

1) Unix time — количество миллисекунд с полуночи (00:00:00 UTC) 1 января 1970 года;

2) ISO 8601 — дата и время в формате YYYY-MM-DDThh:mm.
Например, запросы /api/v1/objects/:id/packets?from=1640131200000&to=1640563200000 и  /api/v1/objects/:id/packets?from=2021-12-22T00:00&to=2021-12-27T00:00 позволяют загрузить список пакетов, полученных в период с 22 по 27 декабря 2021 года.

Команды объекта

Важно: В запросах :id — идентификатор объекта, на который отправляется команда; :command — идентификатор команды в модели.

Отправить команду

Запрос:

POST /api/v1/objects/:id/commands/:command

Ответ:

Ответ от устройства в формате JSON

Отправить команду с параметрами

Существуют команды с параметрами, значение которых можно указать непосредственно при отправке. Это нужно, если пользователь не знает заранее те значения, которые необходимо передавать в команде, либо эти значения раз от раза могут меняться.

Пример:

В этом случае в теле запроса для отправки команды на объект укажите необходимые параметры в формате JSON.

Запрос для команды из примера:

POST /api/v1/objects/:id/commands/new_command

{

  «state_param»: 42

}

Ответ:

Ответ от устройства в формате JSON