1

Работа с группами объектов через Remote API

Тема: Работа с группами объектов через Remote API

Всем привет.

Не могу сообразить, как работать с группами объектов средствами Remote API.
Есть команда update_units, но она позволяет только скопом закинуть набор объектов в группу, при этом все объекты, находившиеся в группе ранее, удаляются из неё.

Задачи такие:
- как, к тому, что было в группе, добавить объекты с известными ID?
- как из группы удалить объекты с известными ID?

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

2

Работа с группами объектов через Remote API

(28/12/2013 15:07:36 отредактировано zuve)

Re: Работа с группами объектов через Remote API

Список всех объектов группы можно получить выполнив core/search_items или core/search_item с соответствующими флагами.
Удаление и добавление юнитов  вгруппу происходит с помощью одной команды. Для того что бы добавить или удалить юниты вам так или иначе придется показывать все юниты группы, а значит и запрашивать их. Отредактируйте полученный список как считаете нужным, т.е добавьте или удалите юниты, а потом обновите юниты в группе  при помощи запроса unit_group/update_units.

Development Department
Gurtam
3

Работа с группами объектов через Remote API

Re: Работа с группами объектов через Remote API

zuve пишет:

Список всех объектов группы можно получить выполнив core/search_items или core/search_item с соответствующими флагами.
Удаление и добавление юнитов  вгруппу происходит с помощью одной команды. Для того что бы добавить или удалить юниты вам так или иначе придется показывать все юниты группы, а значит и запрашивать их. Отредактируйте полученный список как считаете нужным, т.е добавьте или удалите юниты, а потом обновите юниты в группе  при помощи запроса unit_group/update_units.

Спасибо, за ответ, но как воспользоваться функцией core/search_items для выбора всех объектов группы?
Устанавливаю itemsType = avl_unit, но не могу найти подходящего propName для фильтра по группам.

4

Работа с группами объектов через Remote API

Re: Работа с группами объектов через Remote API

Beef
Для поиска по группа устанавливайте itemsType = avl_unit_group.

Mobile Development
Gurtam
5

Работа с группами объектов через Remote API

Re: Работа с группами объектов через Remote API

kopa пишет:

Beef
Для поиска по группа устанавливайте itemsType = avl_unit_group.

Так в таком случае я же просто получу список групп, разве нет?
Такой запрос у меня:

svc=core/search_items&params={
                                    'spec':{
                                            'itemsType':'avl_unit_group',
                                            'propName':'sys_id',
                                            'propValueMask':ID_группы,
                                            'sortType':'sys_id'
                                            },
                                        'force':1,
                                        'flags':1,
                                        'from':0,
                                        'to':0
                                            }

Добавлено спустя   6 минут  59 секунд:
А, прошу прощения, всё понял. Я получаю список групп, и для каждой группы в ответе список входящих в неё объектов будет.

6

Работа с группами объектов через Remote API

Re: Работа с группами объектов через Remote API

Почему при очистке группы

svc: 'unit_group/update_units',
params: {
                itemId: groupID,
                units: []
            },

В ответ прилетает

{ error: 6 }

?
При этом все объекты из группы нормально удаляются.

7

Работа с группами объектов через Remote API

Re: Работа с группами объектов через Remote API

paul74 здравствуйте. Ошибка 6 может говорить об ограничениях на уровне сервисов в настройках учетной записи. Проверили несколько вариантов на тестовых учетных записях, но воспроизвести ситуацию с данной ошибкой при успешном удалении объектов из группы не удалось.
Для детального анализа, пожалуйста, направьте запрос на support@gurtam.com
В письме укажите, пожалуйста, полный текст запроса с ID группы, токен который используется для выполнения запросов.
Спасибо!

Anton Zinovyev
Technical Care Engineer (L2)
Wialon
8

Работа с группами объектов через Remote API

(14/06/2023 13:10:02 отредактировано gpe)

Re: Работа с группами объектов через Remote API

zuve пишет:

Отредактируйте полученный список как считаете нужным, т.е добавьте или удалите юниты, а потом обновите юниты в группе  при помощи запроса unit_group/update_units.

Кстати, токсичная реализация, при интенсивной работе нескольких пользователей могут возникать коллизии.
Если два пользователя запросят одновременно содержание одной группы то содержание будет перезаписано последним сохранившим, изменения которые внёс первый пользователь будут утеряны.
Это же относится и к ретрансляторам.
По уму нужны ещё две команды unit_group/add_units и del_units.