|
|
ru:local:remoteapi1504:codesamples:update_item [20/05/2014 11:49] |
ru:local:remoteapi1504:codesamples:update_item [20/05/2014 11:49] (текущий) |
| {{indexmenu_n>4}} |
| ====== Создание, редактирование и удаление элементов ====== |
| |
| Рассмотрим работу с элементами на примере создания, редактирования и удаления объекта. Принципы создания и удаления других элементов аналогичны рассмотренным ниже, а редактирование зависит от конкретного типа элемента. |
| |
| //:!: Внимание!// Для запуска данного примера на Wialon Kit во всех запросах следует заменить **<nowiki>https://hst-api.wialon.com</nowiki>** на **<nowiki>https://kit-api.wialon.com</nowiki>**, а для входа в систему использовать логин и пароль своей учетной записи или логин и пароль демо-пользователя: //**kitdemo kitdemo**//. |
| |
| ===== Создание объекта ===== |
| |
| Создадим объект типа Wialon IPS с именем "ips_unit" при помощи запроса [[../apiref/core/create_unit|core/create_unit]]: |
| <code> |
| 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> |
| </code> |
| |
| Результат выполнения: |
| <code javascript> |
| { |
| "item": { |
| "nm": "ips_unit", |
| "cls": 2, |
| "id": 652886, |
| "uacl": -1 |
| }, |
| "flags": 1 |
| } |
| </code> |
| |
| Чтобы проверить, что объект действительно создался, выполним [[../apiref/core/search_items|поиск]] объектов, название которых строго равно //ips_unit//: |
| <code> |
| 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> |
| </code> |
| |
| Результат выполнения: |
| <code javascript> |
| { |
| "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 |
| }] |
| } |
| </code> |
| Поиск вернул результат, следовательно объект был создан. |
| |
| ===== Редактирование объекта ===== |
| |
| В качестве примера редактирования изменим у созданного объекта значение счетчика пробега. |
| |
| Для того чтобы отследить изменение, выполним поисковый запрос и проверим начальное состояние счетчика. Для того чтобы результирующий JSON содержал значение счетчика, в запросе нужно установить флаг 0x00002000: |
| <code> |
| https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item& |
| params={ |
| "id":652886, |
| "flags":8193 |
| }&sid=<your_sid> |
| </code> |
| Результат выполнения: |
| <code javascript> |
| { |
| "item": { |
| "nm": "ips_unit", |
| "cls": 2, |
| "id": 652886, |
| "cfl": 16, |
| "cnm": 0, |
| "cneh": 0, |
| "cnkb": 0, |
| "uacl": -1 |
| }, |
| "flags": 8193 |
| } |
| </code> |
| Значение счетчика отображено в поле **"cnm"** и перед редактированием его значение равно 0. |
| |
| Изменим значение счетчика пробега при помощи запроса [[../apiref/unit/update_mileage_counter|unit/update_mileage_counter]]: |
| <code> |
| https://hst-api.wialon.com/wialon/ajax.html?svc=unit/update_mileage_counter& |
| params={ |
| "itemId":652886, |
| "newValue":456 |
| }&sid=<your_sid> |
| </code> |
| Результат выполнения: |
| <code javascript> |
| { |
| "cnm": 456 |
| } |
| </code> |
| |
| Проверим выполнение редактирования поиском объекта. |
| <code> |
| https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item& |
| params={ |
| "id":652886, |
| "flags":8193 |
| }&sid=<your_sid> |
| </code> |
| Результат выполнения: |
| <code javascript> |
| { |
| "item": { |
| "nm": "ips_unit", |
| "cls": 2, |
| "id": 652886, |
| "cfl": 16, |
| "cnm": 456, |
| "cneh": 0, |
| "cnkb": 0, |
| "uacl": -1 |
| }, |
| "flags": 8193 |
| } |
| </code> |
| Теперь значение поля **"cnm"** равно 456, следовательно редактирование прошло успешно. |
| |
| ===== Удаление объекта ===== |
| Удалить объект можно запросом [[../apiref/item/delete_item|core/delete_item]]: |
| <code> |
| https://hst-api.wialon.com/wialon/ajax.html?svc=item/delete_item& |
| params={ |
| "itemId":652886 |
| }&sid=<your_sid> |
| </code> |
| Результат выполнения: |
| <code javascript> |
| {} |
| </code> |
| |
| Проверить удаление можно выполнив поисковый запрос: |
| <code> |
| https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item& |
| params={ |
| "id":652886, |
| "flags":1 |
| }&sid=<your_sid> |
| </code> |
| Результат выполнения: |
| <code javascript> |
| { |
| "error": 7 |
| } |
| </code> |