Рассмотрим работу с элементами на примере создания, редактирования и удаления объекта. Принципы создания и удаления других элементов аналогичны рассмотренным ниже, а редактирование зависит от конкретного типа элемента.
Внимание! Для запуска данного примера на Wialon Kit во всех запросах следует заменить https://hst-api.wialon.com на https://kit-api.wialon.com, а для входа в систему использовать логин и пароль своей учетной записи или логин и пароль демо-пользователя: kitdemo kitdemo.
Создадим объект типа Wialon IPS с именем «ips_unit» при помощи запроса core/create_unit:
https://hst-api.wialon.com/wialon/ajax.html?svc=core/create_unit& params={ "creatorId":50935, "name":"ips_unit", "hwTypeId":96266, "dataFlags":1 }&sid=<your_sid>
Результат выполнения:
{ "item": { "nm": "ips_unit", "cls": 2, "id": 652886, "uacl": -1 }, "flags": 1 }
Чтобы проверить, что объект действительно создался, выполним поиск объектов, название которых строго равно ips_unit:
https://hst-api.wialon.com/wialon/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":0 }&sid=<your_sid>
Результат выполнения:
{ "searchSpec": { "itemsType": "avl_unit", "propName": "sys_name", "propValueMask": "ips_unit", "sortType": "sys_name", "propType": "" }, "dataFlags": 1, "totalItemsCount": 1, "indexFrom": 0, "indexTo": 0, "items": [{ "nm": "ips_unit", "cls": 2, "id": 652886, "uacl": -1 }] }
Поиск вернул результат, следовательно объект был создан.
В качестве примера редактирования изменим у созданного объекта значение счетчика пробега.
Для того чтобы отследить изменение, выполним поисковый запрос и проверим начальное состояние счетчика. Для того чтобы результирующий JSON содержал значение счетчика, в запросе нужно установить флаг 0x00002000:
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item& params={ "id":652886, "flags":8193 }&sid=<your_sid>
Результат выполнения:
{ "item": { "nm": "ips_unit", "cls": 2, "id": 652886, "cfl": 16, "cnm": 0, "cneh": 0, "cnkb": 0, "uacl": -1 }, "flags": 8193 }
Значение счетчика отображено в поле «cnm» и перед редактированием его значение равно 0.
Изменим значение счетчика пробега при помощи запроса unit/update_mileage_counter:
https://hst-api.wialon.com/wialon/ajax.html?svc=unit/update_mileage_counter& params={ "itemId":652886, "newValue":456 }&sid=<your_sid>
Результат выполнения:
{ "cnm": 456 }
Проверим выполнение редактирования поиском объекта.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item& params={ "id":652886, "flags":8193 }&sid=<your_sid>
Результат выполнения:
{ "item": { "nm": "ips_unit", "cls": 2, "id": 652886, "cfl": 16, "cnm": 456, "cneh": 0, "cnkb": 0, "uacl": -1 }, "flags": 8193 }
Теперь значение поля «cnm» равно 456, следовательно редактирование прошло успешно.
Удалить объект можно запросом core/delete_item:
https://hst-api.wialon.com/wialon/ajax.html?svc=item/delete_item& params={ "itemId":652886 }&sid=<your_sid>
Результат выполнения:
{}
Проверить удаление можно выполнив поисковый запрос:
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item& params={ "id":652886, "flags":1 }&sid=<your_sid>
Результат выполнения:
{ "error": 7 }