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>         /* время последнего изменения */
	}
]

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

ФлагОписание

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

Коды ошибок

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

Смотрите также