Основные запросы
Получить список объектов
Запрос:
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 соответственно. Границы интервала указываются в виде определенных моментов времени в одном из форматов:
- Unix time - количество миллисекунд с полуночи (00:00:00 UTC) 1 января 1970 года;
- 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