RU

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

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

Запрос:

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