Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ru:local:remoteapi1504:codesamples:update_item [20/05/2014 11:49]
ru:local:remoteapi1504:codesamples:update_item [20/05/2014 11:49] (текущий)
Строка 1: Строка 1:
 +{{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>​
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam