Для создания, редактирования и удаления уведомлений используется команда resource/update_notification:
svc=resource/update_notification¶ms={"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 | - доступ запрещен - не подключен сервис |
{ "t":"email", /* тип действия */ "p":{ "email_to":<text>, /* e-mail адрес */ "html":<text>, /* использовать html-теги: 0 - нет, 1 - да */ "img_attach":<text>, /* прикрепить изображение из сработавшего уведомления (1 - да, 0 - нет) */ "subj":<text> /* текст сообщения */ } }
{ "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-трафика */ } }
Возможные флаги счетчиков:
{ "t":"store_counter", /* тип действия */ "p":{ "engine_hours":<text>, /* название параметра для счетчика моточасов */ "flags":<text>, /* флаги (см. ниже) */ "mileage":<text> /* название параметра для счетчика пробега */ } }
Флаги:
{ "t":"status", /* тип действия */ "p":{ "ui_text":<text> /* статус */ } }
{ "t":"group_manipulation", /* тип действия */ "p":{ "add_to":<text>, /* добавить в указанные группы (список GUIDов групп через запятую) */ "remove_from":<text> /* исключить из указанных групп */ } }
{ "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> /* значение параметра до */ } }
Типы контроля параметра:
"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> /* значение датчика до */ } }
"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> /* типы контроля маршрута (через запятую) */ } }
Типы контроля маршрута:
"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 - о просрочке */ } }
Флаги контроля техобслуживания: