1

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Topic: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Здравствуйте! Задача заключается в поиске любых упоминаний одной почты и её удаление с помощью API. В ручную будет очень долго.
Как мне отредактировать email получателей в уведомлениях и заданиях типа "Отправить отчет по email" с помощью Remote API?
Отправляю вот такой запрос

https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items&params={"spec":{
        "itemsType": "avl_resource",    
        "propName":"jobs,notifications",    
        "propValueMask":"*",
        "propType":"propitemname",
        "sortType":"jobs,notifications"        
         },
         "force":"1",            
         "flags":1536,            
             "from":"0",            
         "to":"0"}&sid=

В ответе приходит по заданиям вот такого типа данные, но там нет поля получатели.
(Пример ответа заданий)

"ujb": {
"1": {
"id": 1,
"n": "Отчет из виалона",
"d": "",
"m": 0,
"st": {
"e": 1,
"c": 0,
"l": 0
},
"act": "send_email_report",
"ct": 1587469698,
"mt": 1587469698
}
},
"ujbmax": 0
},

(Пример ответа Уведомлений)

"3": {
"id": 3,
"n": "Новое уведомление",
"txt": "%UNIT%:%POS_TIME% %LOSE_RESTORE%. %MSG_TIME%",
"ta": 1585515600,
"td": 0,
"ma": 0,
"fl": 2,
"ac": 1,
"un": [
12779237
],
"act": [
"email",
"push_messages"
],
"trg": "outage",
"trg_p": {
"check_restore": "0",
"time": "2160000",
"type": "0"
},
"crc": 1349559583,
"ct": 1585561419,
"mt": 1585561500}

Смотрел флаги
тут https://sdk.wialon.com/wiki/ru/sidebar/ … t_job_data
и тут https://sdk.wialon.com/wiki/ru/sidebar/ … t/resource
Я скорее всего что-то упускаю, может быть поиск по подэлементам, другие флаги? Или такие правки делать через Remote API вообще нельзя?

2

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Добрый день,

email для отправки по настройкам задания вы можете получить через этот запрос - resource/get_job_data
для уведомлений -  аналогичный запрос https://sdk.wialon.com/wiki/ru/sidebar/ … ation_data
Через эти запросы вы сможете получить все настройки, включая email для отправки, а не через поиск элементов

А уже вносить правка в задания или уведомления - это другие запросы
https://sdk.wialon.com/wiki/ru/sidebar/ … tification
https://sdk.wialon.com/wiki/ru/sidebar/ … update_job

Diana Cheley
Wialon Hosting Expert
Gurtam
3

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

То есть  обязательно указывать id конкретного задания для смены? А массово это сделать не получится?

4

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Если редактировать, то да нужно указывать определенный id задания/уведомления.
Можно через core/batch запрос выполнить сразу несколько запросов на редактирование.
А получить настройки - только указвается конкретный ресурс и массив id заданий/уведомлений. Тажке можно несколько запросов завернуть в
core/batch

Diana Cheley
Wialon Hosting Expert
Gurtam
5

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Спасибо, мне все понятно. Кроме того как данным запросом отредактировать email? Там есть отправка по email, но как именно удалить добавленную почту?
[url]https://sdk.wialon.com/wiki/ru/pro/remoteapi/apiref/resource/update_job?s[]=id&s[]=%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B0[/url]

6

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

ehsru wrote:

Спасибо, мне все понятно. Кроме того как данным запросом отредактировать email? Там есть отправка по email, но как именно удалить добавленную почту?
[url]https://sdk.wialon.com/wiki/ru/pro/remoteapi/apiref/resource/update_job?s[]=id&s[]=%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B0[/url]

Параметр "email_to" не может быть пустым, поэтому как минимум один email адрес должен быть перечислен, т.е вы должны передать "email_to" с каким-то email адресом, при этом старый адрес не надо передавать. Например, было "email_to":"new@gurtam.com;cust@gmail.com" , cust@gmail.com нужно удалить, значит в запросе просто передаем "email_to":"new@gurtam.com"
Тажке при редактировании задания/уведолмения нужно передавать JSON со всеми параметрами задания/уведомления.

В core/batch запрос формат такого вида : [{},{},{}......{}], в {} указется каждый запрос на редактирование задания/уведомления : "svc":"название_команды", "params":{параметры_команды}

Пример , редактируем сразу 2 задания

https://hst-api.wialon.com/wialon/ajax.html?svc=core/batch&sid=026de688f441cb96e8cb4d27bf3fc5f6&
params=
[
  {
    "svc": "resource/update_job",
    "params": {
      "n": "sdk_job",
      "d": "",
      "r": "1 10:00",
      "at": 1587502800,
      "tz": 134228528,
      "l": "ru",
      "e": 1,
      "m": 0,
      "sch": {
        "f1": 0,
        "f2": 0,
        "t1": 0,
        "t2": 0,
        "m": 0,
        "y": 0,
        "w": 0,
        "fl": 0
      },
      "act": {
        "t": "send_email_report",
        "p": {
          "report_objects": "13511826",
          "report_guid": 930849,
          "report_id": 3,
          "time_from": 0,
          "time_to": 1,
          "flags": 16777218,
          "file_type": 2,
          "email_to": "new@gurtam.com",
          "pack": 1,
          "params": "<report render_map=\"0\" gmaps_links=\"1\" extend_bounds=\"0\" ignore_basis=\"0\" coding=\"utf8\" delimiter=\"semicolon\" headers=\"1\" orientation_landscape=\"1\" page_size=\"4\" nowrap=\"0\" xlsx_support=\"1\" content=\"1\"/>",
          "remote_server": 0
        }
      },
      "id": 33,
      "itemId": 930849,
      "callMode": "update"
    }
  },
  {
    "svc": "resource/update_job",
    "params": {
      "n": "report link",
      "d": "",
      "r": "1 11:26",
      "at": 1575925200,
      "tz": 134228528,
      "l": "ru",
      "e": 1,
      "m": 0,
      "sch": {
        "f1": 0,
        "f2": 0,
        "t1": 0,
        "t2": 0,
        "m": 0,
        "y": 0,
        "w": 0,
        "fl": 0
      },
      "act": {
        "t": "send_email_report",
        "p": {
          "report_objects": "13511826",
          "report_guid": 930849,
          "report_id": 28,
          "time_from": 1575147600,
          "time_to": 1576011599,
          "flags": 16777216,
          "file_type": 8,
          "email_to": "new@gurtam.com",
          "pack": 1,
          "params": "<report render_map=\"0\" gmaps_links=\"1\" extend_bounds=\"0\" ignore_basis=\"0\" coding=\"utf8\" delimiter=\"semicolon\" headers=\"1\" orientation_landscape=\"1\" page_size=\"4\" nowrap=\"0\" xlsx_support=\"1\" content=\"1\"/>",
          "remote_server": 1
        }
      },
      "id": 25,
      "itemId": 930849,
      "callMode": "update"
    }
  }
]
Diana Cheley
Wialon Hosting Expert
Gurtam
7

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Спасибо! Как всегда все рассказали и наглядно объяснили.

8

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

А как получить itemId ? И разные ли это вещи с параметром  col - массив идентификаторов заданий?

9

Wialon hosting, Remote API. Редактирование уведомлений и заданий.

Re: Wialon hosting, Remote API. Редактирование уведомлений и заданий.

ehsru wrote:

А как получить itemId ? И разные ли это вещи с параметром  col - массив идентификаторов заданий?

Добрый день!

itemId - это id ресурса (в вашем случае). Его можно получить через поиска элемента по имени ресурса, флаг = 1

hst-api.wialon.com/wialon/ajax.html?svc=core/search_items&sid=023b40bd84540d37e63832&params={"spec":{"itemsType":"avl_resource","propName":"sys_name","propValueMask":"*resource_name*","sortType":"sys_name"},"force":1,"flags":1,"from":0,"to":200},"flags":0}

itemId  - это уникальный идентификатор элемента внутри системы, например, ресурса,  а параметр col - это порядковый идентификатор подэлеметнтов, например задания или отчеты. Подробнее описано тут

Diana Cheley
Wialon Hosting Expert
Gurtam