Создание, редактирование и удаление элементов

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

Создание объекта

Создадим объект типа 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
}
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2019 Gurtam