1

Запросы на получение данных Remote API

Тема: Запросы на получение данных Remote API

Доброго времени суток!

Пытаюсь вывести название оборудования по id=3183 применив фильтр по id. В моем случае это BCE IOTM.

мой сервер/wialon/ajax.html?svc=core/get_hw_types&params={"filterType":"id","filterValue":"3183","includeType":"0","ignoreType":"1","ignoreRename":"1"}&sid=мой_сид

В результате выводятся все протоколы. Хотя фильтр установлен по id и должен выпасть только один протокол. Что не так?

Администратор системы мониторинга
ИМК
2

Запросы на получение данных Remote API

Re: Запросы на получение данных Remote API

LyDjons добрый день, значение "filterValue" это массив, а в вашем примере строка. Попробуйте передать "filterValue":[3183] и проверьте результат.

Anton Zinovyev
Technical Care Engineer (L2)
Wialon
3

Запросы на получение данных Remote API

Re: Запросы на получение данных Remote API

zant пишет:

LyDjons добрый день, значение "filterValue" это массив, а в вашем примере строка. Попробуйте передать "filterValue":[3183] и проверьте результат.

Да, действительно. Спасибо

Администратор системы мониторинга
ИМК
4

Запросы на получение данных Remote API

Re: Запросы на получение данных Remote API

Я создаю новый объект и хочу его забросить в необходимые мне группы.
Правильно ли я понимаю алгоритм решения задачи:

1. За id или name группы найти список всех id объектов что входят в нее

svc=core/search_items&params={"spec":{"itemsType":"avl_unit_group","propName":"sys_name,sys_id,sys_unique_id","propValueMask":"Test group","sortType":"sys_name"},"force":1,"flags":2102529,"from":0,"to":10000}&sid=

2. В список id что получил добавляю необходимый новый id объекта и перезаписываю группу
svc=unit_group/update_units&params={"itemId":<long>, "units":[<long>]}

Это единственный правильный вариант? Или может еще есть?

Администратор системы мониторинга
ИМК
5

Запросы на получение данных Remote API

Re: Запросы на получение данных Remote API

LyDjons пишет:

Я создаю новый объект и хочу его забросить в необходимые мне группы.
Правильно ли я понимаю алгоритм решения задачи:

1. За id или name группы найти список всех id объектов что входят в нее

svc=core/search_items&params={"spec":{"itemsType":"avl_unit_group","propName":"sys_name,sys_id,sys_unique_id","propValueMask":"Test group","sortType":"sys_name"},"force":1,"flags":2102529,"from":0,"to":10000}&sid=

2. В список id что получил добавляю необходимый новый id объекта и перезаписываю группу
svc=unit_group/update_units&params={"itemId":<long>, "units":[<long>]}

Это единственный правильный вариант? Или может еще есть?

Так же очень неудобно, что через объект нельзя узнать в каких групах он состоит.
К примеру мне нужно удалить объект из групп в которых он состоит, и для этого мне нужно сделать сложные манипуляции

1. Найти все группы техники, которые доступны по токену
2. Проверить, есть ли в каждой группе этот объект. Объектов в группе тоже может быть много
3. Ну и потом уже делать апдейт каждой группы, перезаписывая в нее лист с id объектами

Как то все сложно. Может есть другой способ? Было бы неплохо иметь в объекте лист с id группами, в которых он состоит относительно доступа по токену.

Администратор системы мониторинга
ИМК
6

Запросы на получение данных Remote API

Re: Запросы на получение данных Remote API

LyDjons пишет:

Я создаю новый объект и хочу его забросить в необходимые мне группы.
Правильно ли я понимаю алгоритм решения задачи:

1. За id или name группы найти список всех id объектов что входят в нее

svc=core/search_items&params={"spec":{"itemsType":"avl_unit_group","propName":"sys_name,sys_id,sys_unique_id","propValueMask":"Test group","sortType":"sys_name"},"force":1,"flags":2102529,"from":0,"to":10000}&sid=

2. В список id что получил добавляю необходимый новый id объекта и перезаписываю группу
svc=unit_group/update_units&params={"itemId":<long>, "units":[<long>]}

Это единственный правильный вариант? Или может еще есть?

Добрый день,
Да, алгоритм корректный, нужно для начала получить данные по группе, а потом уже передавать в нее весь список объектов, включая новый.

"from":0,"to":10000 -- если требуется вывести все группы, то в параметре to можно передать 0.

Anton Zinovyev
Technical Care Engineer (L2)
Wialon
7

Запросы на получение данных Remote API

Re: Запросы на получение данных Remote API

LyDjons пишет:
LyDjons пишет:

Я создаю новый объект и хочу его забросить в необходимые мне группы.
Правильно ли я понимаю алгоритм решения задачи:

1. За id или name группы найти список всех id объектов что входят в нее

svc=core/search_items&params={"spec":{"itemsType":"avl_unit_group","propName":"sys_name,sys_id,sys_unique_id","propValueMask":"Test group","sortType":"sys_name"},"force":1,"flags":2102529,"from":0,"to":10000}&sid=

2. В список id что получил добавляю необходимый новый id объекта и перезаписываю группу
svc=unit_group/update_units&params={"itemId":<long>, "units":[<long>]}

Это единственный правильный вариант? Или может еще есть?

Так же очень неудобно, что через объект нельзя узнать в каких групах он состоит.
К примеру мне нужно удалить объект из групп в которых он состоит, и для этого мне нужно сделать сложные манипуляции

1. Найти все группы техники, которые доступны по токену
2. Проверить, есть ли в каждой группе этот объект. Объектов в группе тоже может быть много
3. Ну и потом уже делать апдейт каждой группы, перезаписывая в нее лист с id объектами

Как то все сложно. Может есть другой способ? Было бы неплохо иметь в объекте лист с id группами, в которых он состоит относительно доступа по токену.

Добрый день,
Вы можете немного упростить задачу немного поправив запрос core/search_items:

https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items&params={"spec":{"itemsType":"avl_unit_group","propName":"sys_units","propValueMask":"UNIT_ID","sortType":"sys_name","propType":"list"},"force":1,"flags":1,"from":0,"to":0}}&sid=SID

В данном запросе есть следующие параметры на которые стоит обратить внимание:
"propName":"sys_units" - значение sys_units позволяет выполнять поиск по ID объекта по группам. Т.е. в ответ вернутся только те группы, где есть нужный объект. Можно добавить несколько ID через запятую в параметр propValueMask
"propType":"list" - list указывается для работы со списками.

Anton Zinovyev
Technical Care Engineer (L2)
Wialon