Рассмотрим работу с элементами на примере создания, редактирования и удаления объекта. Принципы создания и удаления других элементов аналогичны рассмотренным ниже, а редактирование зависит от конкретного типа элемента.
Создадим объект типа Wialon IPS (список доступных типов оборудования можно получить запрсом get_hw_types) с именем «ips_unit» при помощи запроса core/create_unit:
<your_wialon_pro_address>/ajax.html?svc=core/create_unit& params={ "creatorId":7, "name":"ips_unit", "hwType":6 }&ssid=<your_sid>
Результат выполнения:
{ "nm": "ips_unit", "cls": 3, "id": 51, "gd": "8a028a562774e6adb211254e358c9c5e", "prp": {}, "pup": {}, "crt": 7, "bact": 27, "uid": "", "hw": 6, "ph": "", "psw": "", "cmds": {}, "pos": {}, "lmsg": {}, "drv": "", "sens": {}, "sens_max": -1, "cfl": 0, "cnm": 0, "cneh": 0, "cml": {}, "cml_max": -1, "si": {}, "simax": -1, "rc": {}, "rcmax": -1, "ugi": 0, "ugs": [], "flds": {}, "flds_max": -1 }
Чтобы проверить, что объект действительно создался, выполним поиск объектов, название которых строго равно ips_unit:
<your_wialon_pro_address>/ajax.html?svc=core/search_items& params={ "spec":{ "itemsType":"avl_unit", "propName":"sys_name", "propValueMask":"ips_unit", "sortType":"sys_name" }, "force":1, "flags":1, "from":0, "to":0xffffffff }&ssid=<your_sid>
Результат выполнения:
{ "searchSpec": { "itemsType": "avl_unit", "propName": "sys_name", "propValueMask": "ips_unit", "sortType": "sys_name" }, "dataFlags": 1, "totalItemsCount": 1, "indexFrom": 0, "indexTo": 0, "items": [{ "nm": "ips_unit", "cls": 3, "id": 51 }] }
Поиск вернул результат, следовательно объект был создан.
В качестве примера редактирования изменим у созданного объекта значение счетчика пробега.
Для того чтобы отследить изменение, выполним поисковый запрос и проверим начальное состояние счетчика. Для того чтобы результирующий JSON содержал значение счетчика, в запросе нужно установить флаг 0x00000800:
<your_wialon_pro_address>/ajax.html?svc=core/search_item& params={ "itemId":51, "flags":2049 }&ssid=<your_sid>
Результат выполнения:
{ "nm": "ips_unit", "cls": 3, "id": 51, "drv": "", "sens": {}, "sens_max": -1, "cfl": 16, "cnm": 0, "cneh": 0, "si": {}, "simax": -1 }
Значение счетчика отображено в поле «cnm» и перед редактированием его значение равно 0.
Изменим значение счетчика пробега при помощи запроса unit/update_mileage_counter:
<your_wialon_pro_address>/ajax.html?svc=unit/update_mileage_counter& params={ "itemId":652886, "newValue":456 }&ssid=<your_sid>
Результат выполнения:
{ "cnm": 456 }
Проверим выполнение редактирования поиском объекта.
<your_wialon_pro_address>/ajax.html?svc=core/search_item& params={ "itemId":51, "flags":2049 }&ssid=<your_sid>
Результат выполнения:
{ "nm": "ips_unit", "cls": 3, "id": 51, "drv": "", "sens": {}, "sens_max": -1, "cfl": 16, "cnm": 456, "cneh": 0, "si": {}, "simax": -1 }
Теперь значение поля «cnm» равно 456, следовательно редактирование прошло успешно.
Удалить объект можно запросом core/delete_item:
<your_wialon_pro_address>/ajax.html?svc=item/delete_item& params={ "itemId":51 }&ssid=<your_sid>
Результат выполнения:
{ "error": 0 }
Проверить удаление можно выполнив поисковый запрос:
<your_wialon_pro_address>/ajax.html?svc=core/search_item& params={ "itemId":51, "flags":1 }&ssid=<your_sid>
Результат выполнения:
{ "error": 7 }
|