Шаблоны оповещений
Система оповещений «MonitorServer» позволяет гибко настроить уведомления об интересующих событиях, которые могут отправлятся по электронной почте, SMS.
Настройка оповещения состоит из 2 частей: фильтра событий и шаблона уведомления. Фильтр отсеивает все события системы кроме интересующих, после чего формируется сообщение на основе шаблона уведомления.
В шаблоне уведомления поля «Шаблон сообщения» и «Получатель» имеют возможность включать в себя информацию о событии, либо системную информацию, доступную на момент обработки оповещения. Для этого предназначены специальные макропеременные. При отправке сообщения, макропеременные заменяются на их значения.
Синтаксис для макроподстановки:
%(name)s
где name - имя переменной для подстановки.
Информация о событии
Значения переменных зависят от типа события. Если переменная не применима к определенному типу события, ее значение будет пустым.
event.name | имя события |
event.timestamp | дата и время события |
event.timestamp.iso | дата и время события в формате ISO8601 (YYYY-MM-DD HH:MM:SS) |
event.timestamp.eur | дата и время события в формате DD.MM.YYYY HH:MM:SS |
event.point.lat | географическая широта места события, градусы |
event.point.lng | географическая долгота места события, градусы |
event.point.speed | скорость объекта в момент события, км/ч |
event.point.address | адрес ориентиров вблизи события |
event.geozone.name | имя контрольной зоны, имеющей отношение к событию |
event.sender | отправитель сообщения (для событий "Входящее сообщение") |
event.object.name | имя объекта, относящегося к событию |
event.object.is_actual | актуальность последних данных телеметрии |
event.object.is_link_up | состояние связи с объектом |
event.object.is_moving | наличие движения |
event.object.last_point.lat | географическая широта последней путевой точки, градусы |
event.object.last_point.lng | географическая долгота последней путевой точки, градусы |
event.object.last_point.speed | скорость в последней путевой точке, км/ч |
event.object.last_point.address | адрес близлежащих ориентиров |
event.object.in_geozones | список контрольных зон, в которых в данный момент присутствует объект |
event.object.assigned_operators.first.name | имя контролирующего оператора, первого из списка |
event.object.assigned_operators.first.email | email контролирующего оператора, первого из списка |
event.object.assigned_operators.first.phone | телефон контролирующего оператора, первого из списка |
Информация о состоянии произвольных объектов
objects[N].name | имя объекта |
objects[N].is_actual | актуальность последних данных об объекте |
objects[N].is_link_up | состояние связи с объектом |
objects[N].is_moving | последнее состояие объекта (движется или стоит) |
objects[N].in_geozones | список контрольных зон, в которых в данный момент присутствует объект |
objects[N].last_point.lat | географическая широта, градусы |
objects[N].last_point.lng | географическая долгота, градусы |
objects[N].last_point.speed | скорость, км/ч |
objects[N].last_point.address | адрес близлежащих ориентиров |
objects[N].assigned_operators.first.name | имя контролирующего оператора, первого из списка |
objects[N].assigned_operators.first.email | email контролирующего оператора, первого из списка |
objects[N].assigned_operators.first.phone | телефон контролирующего оператора, первого из списка |
N - системный код объекта. Код объекта можно узнать в консоли оператора в свойствах выбранного объекта, либо в консоли администратора, если сделать видимым столбец с кодами объектов.
Обработка входящих сообщений
Система может не только отправлять, но принимать и обрабатывать сообщения от служб уведомлений. Это могут быть и SMS сообщения, и любые другие, для которых настроены соответствующие службы.
Таким образом, появляется возможность реализовать сервис для предоставления информации по объектам, например, по SMS запросу.
Для отправки ответного сообщения сервером в поле получателя может быть использована макропеременная event.sender, которая хранит реквизит (адрес или телефон) отправителя входящего сообщения.
Пример шаблона оповещения:
Привет, Время: %(event.timestamp.iso)s Двигаемся около: %(event.point.address)s Скорость: %(event.point.speed)s Объект: %(objects[1].name)s Актуальность данных: %(objects[1].is_actual)s Состояние объекта: %(objects[1].is_moving)s Скорость: %(objects[1].last_point.speed)s км/ч Широта: %(objects[1].last_point.lat)s Долгота: %(objects[1].last_point.lng)s Адрес: %(objects[1].last_point.address)s Геозоны: %(objects[1].in_geozones)s -- Sincerely Yourth, MonitorServer!