Справочный центр Wialon

get_notification_data

Метод get_notification_data используется для получения подробной информации об указанных уведомлениях.

Конечная точка

Copied!
svc=resource/get_notification_data&params={
  "itemId": <long>,
  "col": [
    <long>
  ]
}

Параметры

Название Описание
itemId ID ресурса.
col Массив ID уведомлений.

Возвращаемый результат

При успешном выполнении запроса возвращается результат в следующем формате:

Copied!
[
  {
    "id": <long>,              /* ID уведомления */
    "n": "<text>",              /* имя */
    "txt": "<text>",            /* текст уведомления */
    "ta": <uint>,               /* время активации (формат Unix) */
    "td": <uint>,               /* время деактивации (формат Unix) */
    "ma": <uint>,               /* максимальное количество срабатываний (0 — не ограничено) */
    "mmtd": <uint>,             /* максимальный временной интервал между сообщениями, сек. */
    "cdt": <uint>,              /* таймаут срабатывания, сек. */
    "mast": <uint>,             /* минимальная длительность тревожного состояния, сек. */
    "mpst": <uint>,             /* минимальная длительность предыдущего состояния, сек. */
    "cp": <uint>,               /* период контроля относительно текущего времени, сек. */
    "fl": <uint>,               /* флаги уведомления (см. ниже) */
    "tz": <uint>,               /* часовой пояс */
    "la": "<text>",             /* язык пользователя (двухбуквенный код) */
    "ac": <uint>,               /* количество срабатываний */
    "d": "<text>",              /* описание уведомления */

    "sch": {
      			    /* ограничение по времени */
      "f1": <uint>,             /* начало интервала 1 (количество минут от полуночи) */
      "f2": <uint>,             /* начало интервала 2 (количество минут от полуночи) */
      "t1": <uint>,             /* конец интервала 1 (количество минут от полуночи) */
      "t2": <uint>,             /* конец интервала 2 (количество минут от полуночи) */
      "m": <uint>,              /* маска дней месяца [1: 2||0, 31: 2||30] */
      "y": <uint>,              /* маска месяцев [Jan: 2||0, Dec: 2||11] */
      "w": <uint>,              /* маска дней недели [Mon: 2||0, Sun: 2||6] */
      "fl": <int>               /* флаги расписания */
    },

    "ctrl_sch": {
      			    /* расписание интервалов максимального количества срабатываний */
      "f1": <uint>,             /* начало интервала 1 (количество минут от полуночи) */
      "f2": <uint>,             /* начало интервала 2 (количество минут от полуночи) */
      "t1": <uint>,             /* конец интервала 1 (количество минут от полуночи) */
      "t2": <uint>,             /* конец интервала 2 (количество минут от полуночи) */
      "m": <uint>,              /* маска дней месяца [1: 2||0, 31: 2||30] */
      "y": <uint>,              /* маска месяцев [Jan: 2||0, Dec: 2||11] */
      "w": <uint>,              /* маска дней недели [Mon: 2||0, Sun: 2||6] */
      "fl": <int>               /* флаги расписания */
    },

    "un": [
      <long>
    ],                           /* массив ID объектов/групп объектов */

    "act": [
      {
        "t": "<text>",           /* тип действия (см. ниже) */
        "p": {
          "blink": "<text>",     /* мигание мини-окна при срабатывании */
          "color": "<text>",     /* цвет онлайн-уведомления */
          "url": "<text>",       /* URL-адрес звука уведомления */
          ...
        }
      }
    ],                           /* действия */

    "trg": {
      "t": "<text>",             /* тип контроля (см. ниже) */
      "p": {
        "<text>": "<text>"
        /* название параметра: значение */
      }
    },

    "ct": <uint>,                /* время создания */
    "mt": <uint>                 /* время последнего изменения */
  }
]
Параметр Описание
id ID уведомления.
n Имя уведомления.
txt Текст уведомления.
ta Время активации (формат Unix). Соответствует настройке Время активации.
td Время деактивации (формат Unix). Соответствует настройке Время деактивации.
ma Максимальное количество срабатываний (0 означает без ограничений). Соответствует настройке Макс. количество срабатываний.
mmtd Максимальный временной интервал между сообщениями в секундах. Соответствует настройке Макс. время между сообщениями.
cdt Таймаут анализа сообщения в секундах. Соответствует настройке Таймаут анализа сообщения.
mast Минимальная длительность тревожного состояния в секундах. Соответствует настройке Мин. длительность тревожного состояния.
mpst Минимальная длительность предыдущего состояния в секундах. Соответствует настройке Игнорировать прерывания тревожного состояния менее.
cp Период контроля относительно текущего времени в секундах. Соответствует настройке Допустимая задержка сообщения.
fl Флаги уведомления (см. ниже).
tz Часовой пояс.
la Язык пользователя (двухбуквенный код).
ac Количество срабатываний (сколько раз срабатывало уведомление).
d Описание уведомления.
sch Расписание уведомления. Содержит временные интервалы (f1, f2, t1, t2 в минутах от полуночи), маску дней месяца (m), маску месяцев (y), маску дней недели (w) и флаги расписания (fl).
ctrl_sch Расписание для интервалов сброса счетчика Макс. количество срабатываний. Использует ту же структуру, что и sch.
un Массив ID объектов или групп объектов, которые отслеживает уведомление.
act Массив действий. Каждое действие имеет тип (t) и параметры (p). См. Типы действий.
trg Конфигурация условия. Структура зависит от типа контроля: тип с одним условием (см. Типы контроля) или тип на основе выражений (см. Комбинирование нескольких условий). Комбинирование условий недоступно в Wialon Local.
ct Время создания (формат Unix).
mt Время последнего изменения (формат Unix).

Флаги уведомлений:

Флаг Описание
0x0 Уведомление срабатывает только при изменении состояния с не тревожного на тревожное.
0x1 Уведомление срабатывает для каждого сообщения в течение тревожного состояния.
0x2 Уведомление выключено.

Для уведомлений с типом контроля Простой значение параметра mast, указанное в секундах, должно соответствовать значению параметра min_idle_time, указанному в минутах. Таким образом, если вы хотите, чтобы уведомление срабатывало после 10 минут простоя, укажите 10 для min_idle_time и 600 для mast.

Если запрос выполнить не удалось, возвращается код ошибки.

Типы действий

Для уведомлений доступны следующие типы действий:

Уведомить по email

Copied!
{
	"t":"email",		/* тип действия */
	"p":{
		"email_to":"<text>",	/* адрес электронной почты */
		"html":"<text>",		/* использовать HTML-теги: 0 — нет, 1 — да */
		"img_attach":"<text>",	/* прикрепить изображение из уведомления: 1 — да, 0 — нет */
		"subj":"<text>"		/* текст сообщения */
	}
}

Уведомить при помощи SMS

Copied!
{
	"t":"sms",		/* тип действия */
	"p":{
		"phones":"<text>"		/* список телефонных номеров (через точку с запятой) */
	}
}

Отобразить онлайн-уведомление во всплывающем окне

Copied!
{
	"t":"message",		/* тип действия */
	"p":{
		"color":"<text>",		/* цвет уведомления */
		"name":"<text>",		/* имя уведомления */
		"url":"<text>"		/* URL-адрес звука уведомления */
	}
}

Отправить мобильное уведомление

Copied!
{
	"t":"mobile_apps",		/* тип действия */
	"p":{
		"apps":"{\"<text>\":[	/* название мобильного приложения */
				<uint>	/* ID пользователя */
		]}"
	}
}

Отправить уведомление в Telegram

Copied!
{
	"t":"messenger_messages",	/* тип действия */
	"p":{
		"chat_id":"<text>",		/* ID канала в Telegram */
		"token":"<text>"		/* токен пользователя в Telegram */		
	}
}

Выполнить запрос

Copied!
{
	"t":"push_messages",	/* тип действия */
	"p":{
		"url":"<text>",		/* имя сервера (можно указать порт), начните с "http(s)" */
		"get":<bool>		/* тип запроса: 1 — GET, 0 — POST */		
	}
}

Зарегистрировать событие в истории объекта

Copied!
{
	"t":"event",		/* тип действия */
	"p":{
		"flags":"<text>"		/* зарегистрировать как: 0 — событие, 1 — нарушение */
	}
}

Отправить команду

Copied!
{
	"t":"exec_cmd",		/* тип действия */
	"p":{
		"cmd_type":"<text>",	/* тип команды */
		"link":"<text>",		/* тип ссылки */
		"name":"<text>",		/* имя команды */
		"param":"<text>"		/* параметры */
	}
}

Список доступных типов команд можно найти здесь.

Изменить доступ к объектам

Copied!
{
	"t":"user_access",	/* тип действия */
	"p":{
		"acl_bits":"<text>",	/* 1 — установить бит, 0 — удалить бит */
		"acl_mask":"<text>",	/* маска битов, которые нужно изменить */
		"units":"<text>",		/* список ID объектов (через запятую) */
		"users":"<text>"		/* список ID пользователей (через запятую) */
	}
}

Установить значение счетчика

Copied!
{
	"t":"counter",		/* тип действия */
	"p":{
		"engine_hours":"<text>",	/* значение счетчика моточасов */
		"flags":"<text>",		/* флаги (см. ниже) */
		"mileage":"<text>",	/* значение счетчика пробега */
		"traffic":"<text>"	/* значение счетчика GPRS-трафика */
	}
}

Флаги счетчиков:

Флаг Описание
1 Установить значение счетчика пробега
2 Установить значение счетчика моточасов.
4 Установить значение счетчика GPRS-трафика.

Сохранить значение счетчика как параметр

Copied!
{
	"t":"store_counter",		/* тип действия */
	"p":{
		"engine_hours":"<text>",		/* название параметра для счетчика моточасов */
		"flags":"<text>",			/* флаги (см. ниже) */
		"mileage":"<text>"		/* название параметра для счетчика пробега */
	}
}

Флаги:

Флаг Описание
1 Сохранить значение счетчика пробега как параметр.
2 Сохранить значение счетчика моточасов как параметр.

Зарегистрировать статус объекта

Copied!
{
	"t":"status",		/* тип действия */
	"p":{
		"ui_text":"<text>"	/* статус */
	}
}

Изменить состав групп объектов

Copied!
{
	"t":"group_manipulation",	/* тип действия */
	"p":{
		"add_to":"<text>",		/* добавить в указанные группы */
		"remove_from":"<text>"		/* удалить из указанных групп */
	}
}

Отправить отчет по email

Copied!
{
	"t":"email_report",	/* тип действия */
	"p":{
		"email_to":"<text>",		/* адрес электронной почты */
		"file_type":"<text>",		/* формат файла (см. нижу) */
		"flags":"<text>",			/* флаги интервала */
		"params":"<text>",		/* конфигурация отчета (XML) */
		"report_guid":"<text>",		/* ID ресурса */
		"report_id":"<text>",		/* ID шаблона */
		"report_object_guid":"<text>",	/* ID элемента для отчета */
		"report_object_id":"<text>",	/* ID подэлемента (0 — если отчет выполняется для элемента) */
		"time_from":"<text>",		/* начало временнóго интервала */
		"time_to":"<text>"		/* конец временнóго интервала */
	}
}

Флаги интервалов описаны здесь.

Форматы файлов:

  • 1 — HTML;
  • 2 — PDF;
  • 4 — XLS;
  • 8 — XLSX;
  • 16 — XML;
  • 32 — CSV.

Создать рейс

Copied!
{
	"t":"route_control",	/* тип действия */
	"p":{
		"description":"<text>",	/* описание */
		"expiration":"<text>",	/* срок действия */
		"flags":"<text>",		/* флаги рейса */
		"name":"<text>",		/* имя */
		"route":"<text>",		/* ID маршрута */
		"schedule":"<text>"	/* ID расписания */
	}
}

Флаги рейса описаны здесь.

Снять водителя

Copied!
{
	"t":"drivers_reset",	/* тип действия */
	"p":{}
}

Снять прицеп

Copied!
{
	"t":"trailers_reset",	/* тип действия */
	"p":{}
}

Создать задачу

Copied!
{
	"t": "create_task",	/* тип действия */
	"p": {
        "task_priority": "<int>", /* приоритет задачи */
        "task_assignee": "<int>" /* ID пользователя, на которого назначена задача */
	}
}

Типы контроля

Для уведомлений доступны следующие типы контроля:

Геозона

Copied!
"trg":{
	"t":"geozone",		/* тип контроля */
	"p":{
		"sensor_type":"<text>",		/* тип датчика */
		"sensor_name_mask":"<text>",	/* маска имени датчика */
		"lower_bound":<uint>,		/* значение датчика от */
		"upper_bound":<uint>,		/* значение датчика до */
		"prev_msg_diff":<uint>, 	/* флаг позволяет создать диапазон для текущего значения в соответствии с предыдущим значением(prev) следующим образом: [prev+lower_bound ; prev+upper_bound]; таким образом, диапазон для текущего значения является относительным к предыдущему значению; 0 — выключить опцию, 1 — включить опцию */
		"merge":<uint>,			/* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
		"reversed":<uint>,		/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"geozone_ids":"<text>",		/* список ID геозон (через запятую) */
		"type":<uint>,			/* тип контроля: 0 — контролировать вход в геозону, 1 — контролировать выход из геозоны */
		"min_speed":<uint>,		/* минимальная скорость, км/ч */
		"max_speed":<uint>,		/* максимальная скорость, км/ч */
		"include_lbs":<uint>,		/* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
		"lo":"<text>"			/* логический оператор (необязательно): "AND", "OR" */
	}
}

Адрес

Copied!
"trg":{
	"t":"address",		/* тип контроля */
	"p":{
		"sensor_type":"<text>",		/* тип датчика */
		"sensor_name_mask":"<text>",	/* маска имени датчика */
		"lower_bound":<uint>,		/* значение датчика от */
		"upper_bound":<uint>,		/* значение датчика до */
		"prev_msg_diff":<uint>, 	/* флаг позволяет создать диапазон для текущего значения в соответствии с предыдущим значением(prev) следующим образом: [prev+lower_bound ; prev+upper_bound]; таким образом, диапазон для текущего значения является относительным к предыдущему значению; 0 — выключить опцию, 1 — включить опцию */
		"merge":<uint>,			/* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
		"reversed":<uint>,		/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"radius":<uint>,		/* радиус срабатывания */ 
		"type":<uint>,			/* тип контроля: 0 — контролировать в радиусе адреса, 1 — контролировать за пределами радиуса адреса */
		"min_speed":<uint>,		/* минимальная скорость, км/ч */
		"max_speed":<uint>,		/* максимальная скорость, км/ч */
		"country":"<text>",		/* страна */
		"region":"<text>",		/* регион */
		"city":"<text>",			/* город */
		"street":"<text>",		/* улица */
		"house":"<text>",			/* дом */
		"include_lbs":<uint>		/* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
	}
}

Скорость

Copied!
"trg":{
	"t":"speed",		/* тип контроля */
	"p":{
		"lower_bound":"<text>",	/* значение датчика от */
		"max_speed":"<text>",	/* максимальная скорость, км/ч */
		"merge":"<text>",		/* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
		"min_speed":"<text>",	/* минимальная скорость, км/ч */
		"prev_msg_diff":"<text>", /* флаг позволяет создать диапазон для текущего значения в соответствии с предыдущим значением(prev) следующим образом: [prev+lower_bound ; prev+upper_bound]; таким образом, диапазон для текущего значения является относительным к предыдущему значению; 0 — выключить опцию, 1 — включить опцию */
		"reversed":"<text>",	/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"sensor_name_mask":"<text>",	/* маска имени датчика */
		"sensor_type":"<text>",	/* тип датчика */
		"upper_bound":"<text>"	/* значение датчика до */
	}
}

Тревога (SOS)

Copied!
"trg":{
	"t":"alarm",		/* тип контроля */
	"p":{}
}

Цифровой вход

Copied!
"trg":{
	"t":"digital_input",	/* тип контроля */
	"p":{
		"input_index":"<text>",	/* цифровой вход (1-32) */
		"type":"<text>"  		/* тип контроля: 0 — проверять на активацию, 1 — проверять на деактивацию */
	}
}

Параметр в сообщении

Copied!
"trg":{
	"t":"msg_param",	/* тип контроля */
	"p":{
		"kind":"<text>",		/* тип контроля параметра (см. ниже) */
		"lower_bound":"<text>",	/* значение параметра от */
		"param":"<text>",		/* название параметра */
		"text_mask":"<text>",	/* текстовая маска */
		"type":"<text>",		/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"upper_bound":"<text>"	/* значение параметра до */
	}
}

Типы контроля параметра:

Тип Описание
0 Диапазон значений.
1 Текстовая маска.
2 Наличие параметра.
3 Отсутствие параметра.

Значение датчика

Copied!
"trg":{
	"t":"sensor_value",		/* тип контроля */
	"p":{
		"lower_bound":"<text>",		/* значение датчика от */
		"merge":"<text>",			/* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
		"prev_msg_diff":"<text>",         /* флаг позволяет создать диапазон для текущего значения в соответствии с предыдущим значением(prev) следующим образом: [prev+lower_bound ; prev+upper_bound]; таким образом, диапазон для текущего значения является относительным к предыдущему значению; 0 — выключить опцию, 1 — включить опцию */
		"sensor_name_mask":"<text>",	/* маска имени датчика */
		"sensor_type":"<text>",		/* тип дптчика */
		"type":"<text>",			/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"upper_bound":"<text>"		/* значение датчика до */
	}
}

Потеря связи

Copied!
"trg":{
	"t":"outage",		/* тип контроля */
	"p":{
		"time":"<text>",		/* временнóй интервал, сек. */
		"type":"<text>",		/* тип контроля: 0 — потеря координат, 1 — потеря связи */
		"include_lbs":<uint>,	/* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
		"check_restore":<uint>,	/* уведомлять о: 0 — потере связи, 1 — потере и восстановлении связи, 2 — восстановлении связи */
		"geozones_type":"<text>", /* тип контроля: 0 — за пределами геозоны, 1 — в геозоне */ 
		"geozones_list":"<text>"  /* список ID геозон (через запятую) */
	}
}

Простой

Copied!
"trg":{
	"t":"speed",		/* тип контроля */
	"p":{
		"lower_bound":"<text>",		/* значение датчика от */
		"max_speed":"<text>",		/* максимальная скорость, км/ч */
		"merge":"<text>",			/* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
		"min_idle_time":"<text>",		/* минимальное время простоя, мин. */
		"min_speed":"<text>",		/* минимальная скорость, км/ч */
		"prev_msg_diff":"<text>",         /* флаг позволяет создать диапазон для текущего значения в соответствии с предыдущим значением(prev) следующим образом: [prev+lower_bound ; prev+upper_bound]; таким образом, диапазон для текущего значения является относительным к предыдущему значению; 0 — выключить опцию, 1 — включить опцию */
		"reversed":"<text>",		/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"sensor_name_mask":"<text>",	/* маска имени датчика */
		"sensor_type":"<text>",		/* тип датчика */
		"upper_bound":"<text>",		/* значение датчика до */
		"geozones_type":"<text>", 	/* тип контроля: 0 — за пределами геозоны, 1 — в геозоне */ 
		"geozones_list":"<text>"  	/* список ID геозон (через запятую) */
	}
}

Значение параметра min_idle_time в минутах должно соответствовать значению параметра mast в секундах. Например, чтобы уведомление срабатывало после 10 минут простоя, укажите 10 в параметре min_idle_time и 600 в mast

SMS

Copied!
"trg":{
	"t":"sms",		/* тип контроля */
	"p":{
		"mask":"<text>"		/* маска текста SMS-сообщения */
	}
}

Взаиморасположение объектов

Copied!
"trg":{
	"t":"interposition",		/* тип контроля */
	"p":{
		"sensor_name_mask":"<text>",	/* маска имени датчика */
		"sensor_type":"<text>",		/* тип датчика */
		"lower_bound":"<text>",		/* значение датчика от */
		"upper_bound":"<text>"		/* значение датчика до */
		"merge":"<text>",			/* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
		"max_speed":"<text>",		/* максимальная скорость, км/ч */
		"min_speed":"<text>",		/* минимальная скорость, км/ч */
		"reversed":"<text>",		/* срабатывать: 0 — в рамках указанного диапазона, 1 — за пределами указанного диапазона */
		"prev_msg_diff":"<text>",         /* флаг позволяет создать диапазон для текущего значения в соответствии с предыдущим значением(prev) следующим образом: [prev+lower_bound ; prev+upper_bound]; таким образом, диапазон для текущего значения является относительным к предыдущему значению; 0 — выключить опцию, 1 — включить опцию */
		"radius":"<text>",		/* радиус, м */
		"type":"<text>",			/* тип контроля: 0 — контролировать приближение к объектам, 1 — контролировать удаление от объектов */
		"unit_guids":"<text>",		/* список ID контролируемыx объектов (через запятую) */
		"include_lbs":<uint>,		/* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
		"lo":"<text>"			/* логический оператор (необязательно): "AND", "OR" */
	}
}

Превышение количества сообщений

Copied!
"trg":{
	"t":"msgs_counter",		/* тип контроля */
	"p":{
		"flags":"<text>",			/* тип сообщений: 1 — сообщения с данными, 2 — SMS-сообщения */
		"msgs_limit":"<text>",		/* лимит сообщений */
		"time_offset":"<text>"		/* интервал сброса значений датчика (лимит — 24 ч.), сек. */
	}
}

Прохождение маршрута

Copied!
"trg":{
	"t":"route_control",		/* тип контроля */
	"p":{
		"mask":"<text>",			/* маска имени маршрута */
		"round_mask":"<text>",		/* маска имени рейса */
		"schedule_mask":"<text>",		/* маска имени расписания */
		"types":"<text>"			/* типы контроля маршрута (через запятую) */
	}
}

Типы контроля маршрута:

Тип Описание
1 Начало рейса.
2 Завершение рейса.
4 Прерывание рейса.
8 Прибытие в контрольную точку.
16 Пропуск контрольной точки.
32 Отправление из контрольной точки.
64 Опоздание.
128 Опережение.
256 Возвращение к расписанию.

Водитель

Copied!
"trg":{
	"t":"driver",		/* тип контроля */
	"p":{
		"driver_code_mask":"<text>",	/* маска кода водителя */
		"flags":"<text>"			/* тип контроля: 1 — назначение водителя, 2 — снятие водителя */
	}
}

Прицеп

Copied!
"trg": {
	"t": "trailer",		/* тип контроля */
	"p": {
		"driver_code_mask": "<text>",	/* маска кода прицепа */
		"flags": "<text>"			/* тип контроля: 1 — назначение прицепа, 2 — снятие прицепа */
	}
}

Техобслуживание

Copied!
"trg":{
	"t":"service_intervals",	/* тип контроля */
	"p":{
		"days":"<text>",			/* интервал в днях */
		"engine_hours":"<text>",		/* интервал по моточасам, ч. */
		"flags":"<text>",			/* флаги контроля техобслуживания (см. ниже) */
		"mask":"<text>",			/* маска фильтра инревалов */
		"mileage":"<text>",		/* интервал по пробегу, км */
		"val":"<text>"			/* уведомлять о: 1 — приближении срока сервиса, -1 — просрочке срока сервиса */
	}
}

Флаги контроля техобслуживания:

Флаг Описание
0 Контролировать все сервисные интервалы.
1 Интервал по пробегу.
2 Интервал по моточасам.
4 Интервал по дням.

Заправка или зарядка батареи

Copied!
"trg":{
	"t":"fuel_filling",	/* тип контроля */
	"p":{
		"sensor_name_mask":"<text>",			/* маска имени датчика */
		"geozones_type":<uint>,		/* тип контроля геозон: 0 — выкл или за пределами геозоны, 1 — в геозоне */
		"geozones_list":"<text>",			/* список ID геозон (через запятую) в формате "resourceID_geozone ID" */
		"realtime_only":<uint>,			/* игнорировать пересчет исторических данных: 0 — выключить, 1 — включить */
	}
}

Слив топлива

Copied!
"trg":{
	"t":"fuel_theft",	/* тип контроля */
	"p":{
		"sensor_name_mask":"<text>",			/* маска имени датчика */
		"geozones_type":<uint>,		/* тип контроля геозоны: 0 — отключено или вне геозоны, 1 — внутри геозоны */
		"geozones_list":"<text>",		 /* список ссылок на геозоны, разделенных запятыми, в формате propID:createTime (для геозон из того же ресурса, что и уведомление) или itemId_propId:createTime (для геозон из другого ресурса). Например, для ссылки на геозону с ID 15, созданную 2024-01-15 в 10:30:00 UTC (timestamp: `1705315800`), укажите "15:1705315800" */
		"realtime_only":<uint>,			/* игнорировать пересчет исторических данных: 0 — отключено, 1 — включено */
	}
}

Состояние устройств

Copied!
"trg": {
        "t": "health_check",  /* Тип контроля */
        "p": {
            "healthy": <uint>,  /* Показывает, является ли устройство рабочим: 0 — нет, 1 — да */
            "unhealthy": <uint>,   /* Показывает, является ли устройство нерабочим: 0 — нет, 1 — да */
            "needAttention": <uint>,  /* Показывает, требует ли устройство внимания: 0 — нет, 1 — да */
            "triggerForEachIncident": <uint>  /* Срабатывать при каждом инциденте: 0 — опция выключена, 1 — опция включена */
        }
    }

Комбинирование нескольких условий

Этот тип контроля позволяет объединить до трех условий уведомления в одном выражении с использованием логических операторов (И/ИЛИ).

Комбинирование условий недоступно в Wialon Local.

Copied!
"trg": {
    "t": "expression",
    "p": {},
    "expression": "<text>",      /* Текстовая строка, определяющая логическое выражение, комбинирующее несколько условий. Использует имена условий, соединенных операторами "AND" или "OR". */
    "conditions": {              /* Параметры для каждого условия в выражении. Ключи — это имена условий из выражения, значения — объекты с параметрами, специфичными для условия. */
        "<condition_name>": {
            /* Параметры, специфичные для условия */
        }
    }
}

Поддерживаемые типы условий

Существуют комбинируемые и некомбинируемые типы условий. Комбинируемые могут использоваться с операторами И/ИЛИ (до 3 условий), тогда как некомбинируемые должны быть единственным условием в выражении.

Комбинируемые условия

Тип условия Описание
speed Превышение порога скорости.
idling Обнаружение простоя двигателя.
speed_gis Превышение ограничения скорости согласно ГИС.
driver_unassigned Снятие водителя с объекта.
address Триггер на основе адреса.
geozone_inside Вход объекта в геозону.
geozone_outside Выход объекта из геозоны.
interposition Расстояние объекта от других объектов.
sensor_range Значение датчика в указанном диапазоне или вне его.
sensor_change Изменение значения датчика.
alarm Активация тревожной кнопки.
msg_param Параметр в сообщении.
digital_input Состояние цифрового входа.
eco_driving Нарушение качества вождения.

Некомбинируемые условия

Тип условия Описание
tag Назначение пассажира на объект.
msgs_counter Достигнут лимит сообщений.
trailer Назначение прицепа на объект.
driver Назначение водителя на объект.
sms Получение SMS.

Примеры выражений:

  • "geozone_inside OR geozone_outside"
  • "speed AND driver_unassigned"
  • "address OR sensor_range"

Если один и тот же тип условия используется несколько раз, добавьте подчеркивание и номер:

  • "geozone_inside_1 AND geozone_inside_2 AND speed"

Параметры условий

Каждое условие в объекте conditions имеет специфичные параметры в зависимости от его типа.

Произвольный диапазон скорости

Copied!
{
    "speed": {
        "min_speed": <uint>,   /* минимальная скорость, км/ч */
        "max_speed": <uint>,   /* максимальная скорость, км/ч */
        "include_lbs": <uint>  /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

Простой

Copied!
{
    "idling": {
        "min_speed": <uint>,        /* минимальная скорость, км/ч */
        "max_speed": <uint>,        /* максимальная скорость, км/ч */
        "min_idle_time": <uint>     /* минимальное время простоя, мин */
    }
}

Ограничения скорости на дороге

Copied!
{
    "speeding_gis": {
        "speeding_tolerance": <any>,    /* допустимое превышение */
        "include_lbs": <uint>           /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

Диапазон значений датчика

Copied!
{
    "sensor_range": {
        "sensor_type": "<text>",        /* тип датчика */
        "sensor_name_mask": "<text>",   /* маска имени датчика */
        "merge": <uint>,                /* одинаковые датчики: 0 — считать отдельно, 1 — суммировать значения */
        "lower_bound": <double>,        /* значение датчика от */
        "upper_bound": <double>,        /* значение датчика до */
        "reversed": <uint>              /* срабатывать: 0 — внутри диапазона, 1 — вне диапазона */
    }
}

Разница значений датчика

Copied!
{
    "sensor_change": {
        "sensor_type": "<text>",        /* тип датчика */
        "sensor_name_mask": "<text>",   /* маска имени датчика */
        "lower_bound": <double>,        /* изменение значения датчика от (относительно предыдущего сообщения) */
        "upper_bound": <double>         /* изменение значения датчика до (относительно предыдущего сообщения) */
    }
}

Водитель не назначен

Copied!
{
    "driver_unassigned": {
        "driver": <uint>    /* этот флаг позволяет учитывать назначения водителя: 1 — условие выполнено, когда водитель не назначен, 2 — условие выполнено, когда водитель назначен, 0 — этот флаг игнорируется */
    }
}

Тревога

Copied!
{
    "alarm": {}
}

Состояние параметра

Copied!
{
    "msg_param": {
        "kind": <uint>,            /* тип контроля параметра: 0 — диапазон значений, 1 — текстовая маска, 2 — наличие параметра, 3 — отсутствие параметра */
        "lower_bound": <double>,   /* значение параметра от */
        "param": "<text>",         /* имя параметра */
        "text_mask": "<text>",     /* текстовая маска */
        "type": <uint>,            /* срабатывать: 0 — внутри диапазона, 1 — вне диапазона */
        "upper_bound": <double>    /* значение параметра до */
    }
}

Цифровой вход

Copied!
{
    "digital_input": {
        "input_index": <uint>,   /* цифровой вход (1-32) */
        "type": <uint>           /* тип контроля: 0 — проверка активации, 1 — проверка деактивации */
    }
}

Вход в геозону

Copied!
{
    "geozone_inside": {
        "geozone_ids": "<text>",   /* список ссылок на геозоны, разделенных запятыми, в формате propID:createTime (для геозон из того же ресурса, что и уведомление) или itemId_propId:createTime (для геозон из другого ресурса) */
        "lo": "<text>",            /* логический оператор (опционально): "AND", "OR" */
        "include_lbs": <uint>      /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

Выход из геозоны

Copied!
{
    "geozone_outside": {
        "geozone_ids": "<text>",   /* список ссылок на геозоны, разделенных запятыми, в формате propID:createTime (для геозон из того же ресурса, что и уведомление) или itemId_propId:createTime (для геозон из другого ресурса) */
        "lo": "<text>",            /* логический оператор (опционально): "AND", "OR" */
        "include_lbs": <uint>      /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

Адрес

Copied!
{
    "address": {
        "city": "<text>",      /* город */
        "country": "<text>",   /* страна */
        "house": "<text>",     /* дом */
        "radius": <uint>,      /* радиус срабатывания */
        "region": "<text>",    /* регион */
        "street": "<text>",    /* улица */
        "type": <uint>,        /* тип контроля: 0 — в радиусе адреса, 1 — вне радиуса адреса */
        "include_lbs": <uint>  /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

Близость объекта

Copied!
{
    "interposition": {
        "lo": "<text>",        /* логический оператор (опционально): "AND", "OR" */
        "radius": <uint>,      /* радиус, м */
        "type": <uint>,        /* тип контроля: 0 — контроль приближения к объектам, 1 — контроль удаления от объектов */
        "unit_guids": "<text>", /* список ID контролируемых объектов (через запятую) */
        "include_lbs": <uint>  /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

Состояние соединения

Copied!
{
    "outage": {
        "check_restore": <uint>,   /* уведомить когда: 0 — потеря связи, 1 — потеря связи и восстановление, 2 — восстановление связи */
        "time": <uint>,            /* временной интервал, с */
        "type": <uint>,            /* тип контроля: 0 — потеря координат, 1 — потеря связи */
        "include_lbs": <uint>      /* обрабатывать LBS-сообщения: 1 — да, 0 — нет */
    }
}

SMS

Copied!
{
    "sms": {
        "mask": "<text>"   /* маска текста SMS */
    }
}

Лимит сообщений

Copied!
{
    "msgs_counter": {
        "flags": <uint>,      /* тип сообщения: 1 — сообщения с данными, 2 — SMS-сообщения */
        "msgs_limit": <uint>, /* лимит сообщений */
        "time_offset": <uint> /* сбрасывать счетчик каждые (лимит 24ч), с */
    }
}

Назначение пассажира

Copied!
{
    "tag": {
        "tag_code_mask": "<text>",   /* маска кода пассажира */
        "type": <uint>              /* тип контроля: 1 — посадка, 2 — высадка */
    }
}

Пассажир не снят

Copied!
{
    "tag_alarm": {
        "time": <uint>   /* таймаут тревоги, с */
    }
}

Назначение водителя

Copied!
{
    "driver": {
        "code_mask": "<text>",   /* маска кода водителя */
        "flags": <uint>          /* тип контроля: 1 — назначение водителя, 2 — снятие водителя */
    }
}

Назначение прицепа

Copied!
{
    "trailer": {
        "code_mask": "<text>",   /* маска кода прицепа */
        "flags": <uint>          /* тип контроля: 1 — назначение прицепа, 2 — снятие прицепа */
    }
}

Прохождение маршрута

Copied!
{
    "route_control": {
        "mask": "<text>",          /* маска имени маршрута */
        "round_mask": "<text>",    /* маска имени рейса */
        "schedule_mask": "<text>", /* маска имени расписания */
        "types": "<text>"          /* типы контроля маршрута (через запятую): 1 — рейс начат, 2 — рейс завершен, 4 — рейс прерван, 8 — прибытие в контрольную точку, 16 — контрольная точка пропущена, 32 — отбытие из контрольной точки, 64 — опоздание, 128 — опережение, 256 — возврат к расписанию */
    }
}

Заправка топлива

Copied!
{
    "fuel_filling": {
        "realtime_only": <uint>,       /* игнорировать пересчет исторических данных: 0 — отключено, 1 — включено */
        "sensor_name_mask": "<text>"   /* маска имени датчика */
    }
}

Слив топлива

Copied!
{
    "fuel_theft": {
        "realtime_only": <uint>,       /* игнорировать пересчет исторических данных: 0 — отключено, 1 — включено */
        "sensor_name_mask": "<text>"   /* маска имени датчика */
    }
}

Зарядка батареи

Copied!
{
    "battery_charge": {
        "realtime_only": <uint>,       /* игнорировать пересчет исторических данных: 0 — отключено, 1 — включено */
        "sensor_name_mask": "<text>"   /* маска имени датчика */
    }
}

Качество вождения

Copied!
{
    "eco_driving": {
        "criterions": [              /* массив фильтров критериев качества вождения */
            {
                "type": "<text>",    /* тип критерия: speeding, acceleration, braking, turn, idling, harsh (опасное вождение), sensor (произвольный) */
                "mask": "<text>"     /* маска имени критерия */
            }
        ]
    }
}

Уведомление срабатывает, когда заканчивается событие нарушения качества вождения. Это условие можно использовать после того, как вы настроили критерии качества вождения в свойствах объекта с помощью unit/update_drive_rank_settings.

При комбинировании условия eco_driving с другими условиями, eco_driving должно быть первым условием в выражении. Система проверяет другие условия для сообщения в момент начала нарушения, но уведомление срабатывает в момент окончания нарушения.

Условие eco_driving может быть объединено с fuel_filling, fuel_theft и battery_charge только с использованием оператора OR.

Техобслуживание

Copied!
{
    "service_intervals": {
        "days": <long>,          /* интервал в днях */
        "engine_hours": <long>,  /* интервал моточасов, ч */
        "flags": <uint>,         /* флаги контроля техобслуживания: 0 — контролировать все интервалы техобслуживания, 1 — интервал пробега, 2 — интервал моточасов, 4 — интервал в днях */
        "mask": "<text>",        /* маска имени интервала техобслуживания */
        "mileage": <long>,       /* интервал пробега, км */
        "val": <long>            /* уведомить когда: 1 — срок техобслуживания приближается, -1 — срок техобслуживания истек */
    }
}

Состояние устройства

Copied!
{
    "health_check": {
        "healthy": <any>,                /* срабатывать при статусе "исправно": "0" — нет, "1" — да */
        "needAttention": <any>,          /* срабатывать при статусе "требует внимания": "0" — нет, "1" — да */
        "triggerForEachIncident": <any>,  /* срабатывать при каждом инциденте в состоянии "требует внимания": "0" — отключено, "1" — включено */
        "unhealthy": <any>              /* срабатывать при статусе "неисправно": "0" — нет, "1" — да */
    }
}

Коды ошибок

Код Описание
4 Неверные входные параметры.
7 У пользователя нет необходимого права доступа на ресурс (ADF_ACL_AVL_RES_VIEW_NF).

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.

Сообщить об ошибке

Ваше сообщение отправлено. Спасибо!

Произошла ошибка при отправке формы