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