Добавить в REST API методы получения объектов учёта и групп объектов учёта [8984]

Прошу реализовать в REST API методы получения списков объектов учёта и данные группы, к которой принадлежит объект учёта. В устаревшей web-службе есть метод GetNodeListExtended, возвращающий список объектов учета с расширенной информацией, доступный для учетной записи. С флагом Customer я мог получить данные группы, к которой относится данный объект. Это позволяло мне разграничить доступ разным пользователям, которым были доступны только определённые группы объектов учёта в интерфейсе моего приложения.

Но ведь сервер ЛЭРС УЧЁТ контролирует какие объекты из каких групп доступны пользователям. Почему не использовать встроенную проверку и не делать этого в коде?

Да, и я этим активно пользуюсь, так как пользователи в моём приложении авторизуются учёткой ЛЭРС. Объекты учёта распределены по группам. Мне эти группы необходимо показывать. Цепочка выглядит примерно так: Группа объектов учёта → Объекты учёта → Точки учёта. Сейчас в текущем методе /api/v1/Core/MeasurePoints я вижу только ID и имя объекта учёта, до групп объектов добраться не могу. Ну, и скорость подгрузки отдельного списка групп или объектов учёта значительно выше, нежели запросить все точки учёта, откуда получать информацию для иерархического списка.

Может, вам больше подойдут методы для запроса списка объектов/точек по группе? Тогда вы сможете после выбора группы сразу запросить список объектов/точек, которые в неё входят.

У нас есть внутренние api, которые позволяют это сделать. В версии 3.36 мы можем открыть их в публичный доступ.

Запросы будут вида
/api/v1/MeasurePoints?nodeGroupId=ИДЕНТИФИКАТОР_ГРУППЫ
и
/api/v1/Nodes/NodeGroup?nodeGroupId=ИДЕНТИФИКАТОР_ГРУППЫ

Подойдёт ли такой вариант?

Отличный вариант!
Полагаю, что в объекте будет поле с именем группы, а дальше построить иерархическое дерево “Группы → Объекты → Точки” уже дело техники. Ну, и одним запросом типа /api/v1/Nodes/NodeGroup получить весь список доступных групп было бы вообще отлично.

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

В версии 3.36 мы добавим маршруты:

/api/v1/Core/NodeGroups

Вернёт список групп, и идентификаторы объектов, входящих в каждую группу.

/api/v1/Core/Nodes
Позволит запросить список объектов с возможностью отфильтровать их по группе. Для этого в запрос нужно передать параметр nodeGroupId=ИДЕНТИФИКАТОР_ГРУППЫ
Например:
api/v1/Core/Nodes?nodeGroupId=ИД_ГРУППЫ

Такой же запрос доступен для точек учёта
/api/v1/Core/MeasurePoints?nodeGroupId=ИД_ГРУППЫ

Спасибо за продуктивную обратную связь! Будем ждать обновления.

Версия 3.36.0. доступна для скачивания.