1

Пару вопросов по API

(31/07/2020 14:09:58 отредактировано r0m4n)

Тема: Пару вопросов по API

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

Небольшая легенда: пишу скрипт, который берет телефонные номера объектов из таблицы и выводит во второй файл имя объекта, id объекта и  id устройства (hw), работаю с флагом 321 и вижу некий "gd/guid". Хочу чтобы выводилось название устройства, а не его id (получаю первым запросом как "hw":13677), т.е. вместо 13677 выводитьTeltonika FMB920. Вычитал на форуме, что это делается отдельным методом svc=core/get_hw_types&params={"filterType":"","filterValue":""}. Тут возникают следующие трудности:

1. Верны ли параметры "filterType": "id","filterValue":"13677".
На это получаю список всех устройств, а отфильтровать никак не могу.

2. Затем хочу вывести список групп, в которых находится объект, но искать по id объекта в группах кажется неблагородным делом. Как лучше это реализовать? И поможет ли с этим "gd/guid"? Возможно, у объектов есть свой идентификатор, который однозначно говорит о принадлежности к определенной группе (и под каким флагом его получу?).

3. Не нашел списка расшифровки всех элементов, возвращаемых запросом, где бы, например, указывалось что 'ph' это телефонный номер, а 'hw' - id устройства. Если такой существует, был бы рад увидеть.

Хотелось бы реализовать вывод всех необходимых параметров одним запросом по каждому объекту (большой флаг, а из множества всех присылаемых элементов достаю нужный и сортирую по ячейкам). Рад любому комментарию по этому поводу.

2

Пару вопросов по API

Re: Пару вопросов по API

r0m4n пишет:

1. Верны ли параметры "filterType": "id","filterValue":"13677".
На это получаю список всех устройств, а отфильтровать никак не могу.

Похоже что в документации сделали неприметные квадратные скобки.

Попробуйте передать массив: "filterValue": ["13677"].

r0m4n пишет:

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

К сожалению, такого метода нет.

r0m4n пишет:

Не нашел списка расшифровки всех элементов, возвращаемых запросом, где бы, например, указывалось что 'ph' это телефонный номер, а 'hw' - id устройства. Если такой существует, был бы рад увидеть.

Раздел "Data format" — https://sdk.wialon.com/wiki/en/sidebar/ … ormat/unit

r0m4n пишет:

Хотелось бы реализовать вывод всех необходимых параметров одним запросом по каждому объекту (большой флаг, а из множества всех присылаемых элементов достаю нужный и сортирую по ячейкам). Рад любому комментарию по этому поводу.

Можно сделать core/batch, в котором сделать core/get_hw_types без фильтров; два core/search_items, в одном получить все объекты со всеми нужными полями, во втором все группы со списком объектов.

Получится один большой запрос, который получает сразу всё. Останется только пройтись по группам, сделать отображение id объекта → множество id групп; пройтись по типам оборудования, сделать отображение id → имя; пройтись по объектам, добавлять строки с нужными полями, типом оборудования и группами, в которые он входит.

Если количество групп/объектов сильно большое и запрос получается слишком большим, core/search_items можно делать отдельно с пагинацией from/to, но вряд ли там будет слишком много данных, если вам нужны только «простые» поля, без сенсоров и прочего.