Уведомления: создание, редактирование и удаление

Для создания, редактирования и удаления уведомлений используется команда resource/update_notification:

svc=resource/update_notification&params={"itemId":<long>,
					 "id":<long>,
					 "callMode":<text>,
					 "n":<text>,
					 "txt":<text>,
					 "ta":<uint>,
					 "td":<uint>,
					 "ma":<uint>,
					 "mmtd":<uint>,
					 "cdt":<uint>,
					 "mast":<uint>,
					 "mpst":<uint>,
					 "cp":<uint>,
					 "fl":<uint>,
					 "tz":<int>,
					 "la":<text>,
					 "un":[<long>],
					 "sch":{	
						"f1":<uint>,
						"f2":<uint>,
						"t1":<uint>,
						"t2":<uint>,
						"m":<uint>,
						"y":<uint>,
						"w":<uint>
					 },
					 "trg":{	
						"t":<text>,
						"p":{	
							<text>:<text>,
							...
						}
					 },
					 "act":[	
						{
							"t":<text>,
							"p":{	
								<text>:<text>,
								...
							}
						}
					 ]}

Параметры

Название Описание
itemId ID ресурса
id ID уведомления
callMode режим: создание, редактирование, удаление (create, update, delete)
Параметры, обязательные только при создании и редактировании:
n название
txt текст уведомления
ta время активации (UNIX формат)
td время деактивации (UNIX формат)
ma максимальное количество срабатываний (0 - не ограничено)
mmtd максимальный временной интервал между сообщениями (секунд)
cdt таймаут срабатывания(секунд)
mast минимальная продолжительность тревожного состояния (секунд)
mpst минимальная продолжительность предыдущего состояния (секунд)
cp период контроля относительно текущего времени (секунд)
fl флаги (см. ниже)
tz часовой пояс
la язык пользователя (двухбуквенный код)
un массив ID объектов
sch ограничение по времени
f1 время начала интервала 1
f2 время начала интервала 2
t1 время окончания интервала 1
t2 время окончания интервала 2
m маска дней месяца
y маска месяцев
w маска дней недели
trg контроль
t – тип контроля (см. Типы контроля)
p – параметры вида название параметра: значение
act действия
t – тип действия (см. Типы действий)
p – параметры вида название параметра: значение

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

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

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

При создании и редактировании:

[
	<long>,		/* ID уведомления */
	{
		"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":<int>	/* часовой пояс */
		"la":<text>,	/* двухбуквенный код языка */
		"ac":<uint>,	/* количество срабатываний */
		"sch":{
			"f1":<uint>,	/* время начала интервала 1 (количество минут от полуночи) */
			"f2":<uint>,	/* время начала интервала 2(количество минут от полуночи) */
			"t1":<uint>,	/* время окончания интервала 1 (количество минут от полуночи) */
			"t2":<uint>,	/* время окончания интервала 2 (количество минут от полуночи) */
			"mdm":<uint>,	/* маска дней месяца [1: 2^0, 31: 2^30] */
			"ymm":<uint>,	/* маска месяцев [янв: 2^0, дек: 2^11] */
			"wdm":<uint>	/* маска дней недели [пн: 2^0, вс: 2^6] */
		},
		"un":[<long>],	/* массив GUIDов объектов */
		"act":[{	/* действия */
			"t":<text>,	/* тип действия */
			"p":{		/* параметры вида - название параметра: значение */
				<text>:<text>,
				...
			}
		}],
		"trg":{		/* контроль */
			"t":<text>,	/* тип контроля */
			"p":{		/* параметры вида - название параметра: значение */
				<text>:<text>,
				...
			}
		}
	}
]

При удалении:

[
	<long>,		/* ID уведомления */
	null
]

Возможные ошибки

Код Значение
1 недействительная сессия
2 неверное имя сервиса
3 неверный результат
4 неверный формат или значение параметров
6 - не существует уведомления с указанным ID
- ошибка удаления уведомления
7 - доступ запрещен
- не подключен сервис

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

Уведомить по e-mail

{
	"t":"email",		/* тип действия */
	"p":{
		"email_to":<text>,	/* e-mail адрес */
		"html":<text>,		/* использовать html-теги: 0 - нет, 1 - да  */
		"img_attach":<text>,	/* прикрепить изображение из сработавшего уведомления (1 - да, 0 - нет) */
		"subj":<text>		/* текст сообщения */
	}
}

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

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

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

{
	"t":"message",		/* тип действия */
	"p":{
		"name":<text>		/* название уведомления */
	}
}

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

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

Выполнить команду

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

Изменить права пользователей

{
	"t":"user_access",	/* тип действия */
	"p":{
		"acc_level":<text>,	/* права доступа */		
		"users":<text>		/* список GUIDов пользователей (через запятую) */
	}
}

Права доступа рассмотрены в разделе Получение прав доступа.

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

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

Возможные флаги счетчиков:

  • 1 - установить значение счетчика пробега
  • 2 - установить значение счетчика моточасов
  • 4 - установить значение счетчика GPRS-трафика

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

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

Флаги:

  • 1 - cохранить значение счетчика пробега как параметр
  • 2 - cохранить значение счетчика моточасов как параметр

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

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

Изменить вхождение в группы

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

Отправить отчет по e-mail

{
	"t":"email_report",	/* тип действия */
	"p":{
		"user":<text>,			/* GUID пользователя */
		"report_object_guid":<text>,	/* GUID элемента для отчета */
		"report_object_id":<text>,	/* ID подэлемента (0 - если отчет строится для элемента) */
		"report_guid":<text>,		/* GUID ресурса */
		"report_id":<text>,		/* ID шаблона */
		"time_from":<text>,		/* начало временного интервала */
		"time_to":<text>,		/* конец временного интервала */
		"flags":<text>,			/* флаги интервала */
		"file_type":<text>,		/* формат файла: html, pdf, xls, xlsx, xml, csv */
		"email_to":<text>,		/* e-mail адрес */
		"pack":<text>,			/* сжать файлы отчета (1 - да, 0 - нет) */
		"params":<text>,		/* конфигурация отчета (xml) */
        	"lang":<text>,			/* двухбуквенный код языка */
        	"subj":<text>			/* тема письма */
	}
}

Флаги интервала рассмотрены в разделе Отчеты: Выполнение отчета.

Назначить на маршрут

{
	"t":"route_control",	/* тип действия */
	"p":{
		"name":<text>,		/* название маршрута */
		"descr":<text>,		/* описание */
		"flags":<text>,		/* флаги маршрута */
		"act_time":<text>,	/* время активации */
		"zone_id":<text>	/* ID геозоны */
	}
}

Флаги маршрута рассмотрены в разделе Маршруты: создание, редактирование и удаление.

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

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

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

Контроль геозоны

"trg":{
	"t":"geozone",		/* тип контроля */
	"p":{
		"geozone_ids":<text>,	/* список идентификаторов геозон (через запятую) */
		"lower_bound":<text>,	/* значение датчика от */
		"max_speed":<text>,	/* максимальная скорость, км/ч */
		"merge":<text>,		/* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */
		"min_speed":<text>,	/* минимальная скорость, км/ч */
		"reversed":<text>,	/* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */
		"sensor_name_mask":<text>,	/* маска названия датчика */
		"sensor_type":<text>,	/* тип датчика */
		"type":<text>,		/* тип проверки: 0 - контролировать вход в геозону, 1 - контролировать выход из геозоны */
		"upper_bound":<text>	/* значение датчика до */
	}
}

Контроль скорости

"trg":{
	"t":"speed",		/* тип контроля */
	"p":{
		"lower_bound":<text>,	/* значение датчика от */
		"max_speed":<text>,	/* максимальная скорость, км/ч */
		"merge":<text>,		/* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */
		"min_speed":<text>,	/* минимальная скорость, км/ч */
		"reversed":<text>,	/* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */
		"sensor_name_mask":<text>,	/* маска названия датчика */
		"sensor_type":<text>,	/* тип датчика */
		"upper_bound":<text>	/* значение датчика до */
	}
}

Нажатие тревожной кнопки

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

Активация/дезактивация цифрового входа

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

Контроль параметра в сообщении

"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 - отсутствие параметра.

Контроль значения датчика

"trg":{
	"t":"sensor_value",		/* тип контроля */
	"p":{
		"lower_bound":<text>,		/* значение датчика от */
		"merge":<text>,			/* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */
		"sensor_name_mask":<text>,	/* маска названия датчика */
		"sensor_type":<text>,		/* тип датчика */
		"type":<text>,			/* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */
		"upper_bound":<text>		/* значение датчика до */
	}
}

Потеря связи или координат

"trg":{
	"t":"outage",		/* тип контроля */
	"p":{
		"time":<text>,		/* длительность потери (секунд) */
		"type":<text>		/* тип потери: 0 - координаты, 1  - связь */
	}
}

Простой Т/С

"trg":{
	"t":"speed",		/* тип контроля */
	"p":{
		"lower_bound":<text>,		/* значение датчика от */
		"max_speed":<text>,		/* максимальная скорость, км/ч */
		"merge":<text>,			/* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */
		"min_idle_time":<text>,		/* допустимое время простоя, мин */
		"min_speed":<text>,		/* минимальная скорость, км/ч */
		"reversed":<text>,		/* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */
		"sensor_name_mask":<text>,	/* маска названия датчика */
		"sensor_type":<text>,		/* тип датчика */
		"upper_bound":<text>		/* значение датчика до */
	}
}

Контроль SMS

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

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

"trg":{
	"t":"interposition",		/* тип контроля */
	"p":{
		"lower_bound":<text>,		/* значение датчика от */
		"max_speed":<text>,		/* максимальная скорость, км/ч */
		"merge":<text>,			/* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */
		"min_speed":<text>,		/* минимальная скорость, км/ч */
		"radius":<text>,		/* радиус, м */
		"reversed":<text>,		/* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */
		"sensor_name_mask":<text>,	/* маска названия датчика */
		"sensor_type":<text>,		/* тип датчика */
		"type":<text>,			/* тип проверки: 0 - контролировать приближение к объектам, 1 - контролировать удаление от объектов */
		"unit_guids":<text>,		/* GUIDы контролируемыx объектов (через запятую) */
		"upper_bound":<text>		/* значение датчика до */
	}
}

Контроль маршрута

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

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

  • 1 - начало маршрута;
  • 2 - завершение маршрута;
  • 3 - прерывание маршрута;
  • 11 - прибытие в контрольную точку;
  • 12 - пропуск контрольной точки;
  • 13 - отправление из контрольной точки;
  • 14 - опоздание;
  • 15 - опережение;
  • 16 - возвращение в расписание;
  • 21 - вход в геозону;
  • 22 - выход из геозоны.

Контроль водителя

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

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

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

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

  • 0 - не учитывать инетрвалы,
  • 1 - интервал по пробегу,
  • 2 - интервал по моточасам,
  • 4 - интервал в днях.
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam