|
|
ru:pro:remoteapi:apiref:resource:update_notification [05/12/2013 09:21] zuve |
ru:pro:remoteapi:apiref:resource:update_notification [13/02/2015 15:40] |
{{indexmenu_n>40}} | |
====== Уведомления: создание, редактирование и удаление ====== | |
| |
Для создания, редактирования и удаления уведомлений используется команда **resource/update_notification**: | |
| |
<code javascript> | |
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>, | |
... | |
} | |
} | |
]} | |
</code> | |
| |
===== Параметры ===== | |
| |
^ Название ^ Описание ^ | |
| 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 | уведомление выключено | | |
| |
===== Возвращаемый результат ===== | |
При создании и редактировании: | |
<code=javascript> | |
[ | |
<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>, /* маска дней месяца */ | |
"ymm":<uint>, /* маска месяцев */ | |
"wdm":<uint> /* маска дней недели */ | |
}, | |
"un":[<long>], /* массив GUIDов объектов */ | |
"act":[{ /* действия */ | |
"t":<text>, /* тип действия */ | |
"p":{ /* параметры вида - название параметра: значение */ | |
<text>:<text>, | |
... | |
} | |
}], | |
"trg":{ /* контроль */ | |
"t":<text>, /* тип контроля */ | |
"p":{ /* параметры вида - название параметра: значение */ | |
<text>:<text>, | |
... | |
} | |
} | |
} | |
] | |
</code> | |
| |
При удалении: | |
<code javascript> | |
[ | |
<long>, /* ID уведомления */ | |
null | |
] | |
</code> | |
| |
===== Возможные ошибки ===== | |
^ Код ^ Значение ^ | |
| 1 | недействительная сессия | | |
| 2 | неверное имя сервиса | | |
| 3 | неверный результат | | |
| 4 | неверный формат или значение параметров | | |
| 6 | - не существует уведомления с указанным ID\\ - ошибка удаления уведомления | | |
| 7 | - доступ запрещен\\ - не подключен сервис | | |
| |
===== Типы действий ===== | |
* [[#Уведомить по e-mail]], | |
* [[#Уведомить при помощи SMS]], | |
* [[#Отобразить онлайн уведомление во всплывающем окне]], | |
* [[#Зарегистрировать событие в истории объекта]], | |
* [[#Выполнить команду]], | |
* [[#Изменить права пользователей]], | |
* [[#Установить значение счетчика]], | |
* [[#Сохранить значение счетчика как параметр]], | |
* [[#Зарегистрировать статус объекта]], | |
* [[#Изменить вхождение в группы]], | |
* [[#Отправить отчет по e-mail]], | |
* [[#Назначить на маршрут]], | |
* [[#Снятие водителя]]. | |
| |
=== Уведомить по e-mail === | |
<code javascript> | |
{ | |
"t":"email", /* тип действия */ | |
"p":{ | |
"email_to":<text>, /* e-mail адрес */ | |
"html":<text>, /* использовать html-теги: 0 - нет, 1 - да */ | |
"img_attach":<text>, /* прикрепить изображение из сработавшего уведомления (1 - да, 0 - нет) */ | |
"subj":<text> /* текст сообщения */ | |
} | |
} | |
</code> | |
| |
=== Уведомить при помощи SMS === | |
<code javascript> | |
{ | |
"t":"sms", /* тип действия */ | |
"p":{ | |
"phones":<text> /* список телефонных номеров (через точку с запятой) */ | |
} | |
} | |
</code> | |
| |
=== Отобразить онлайн уведомление во всплывающем окне === | |
<code javascript> | |
{ | |
"t":"message", /* тип действия */ | |
"p":{ | |
"name":<text> /* название уведомления */ | |
} | |
} | |
</code> | |
| |
=== Зарегистрировать событие в истории объекта === | |
<code javascript> | |
{ | |
"t":"event", /* тип действия */ | |
"p":{ | |
"flags":<text> /* зарегистрировать как: 0 - событие, 1 - нарушение */ | |
} | |
} | |
</code> | |
| |
=== Выполнить команду === | |
<code javascript> | |
{ | |
"t":"exec_cmd", /* тип действия */ | |
"p":{ | |
"link":<text>, /* тип связи */ | |
"name":<text>, /* название команды */ | |
"param":<text> /* параметры */ | |
} | |
} | |
</code> | |
| |
=== Изменить права пользователей === | |
<code javascript> | |
{ | |
"t":"user_access", /* тип действия */ | |
"p":{ | |
"acc_level":<text>, /* права доступа */ | |
"users":<text> /* список GUIDов пользователей (через запятую) */ | |
} | |
} | |
</code> | |
| |
Права доступа рассмотрены в разделе [[../user/get_items_access]]. | |
| |
=== Установить значение счетчика === | |
<code javascript> | |
{ | |
"t":"counter", /* тип действия */ | |
"p":{ | |
"engine_hours":<text>, /* значение счетчика моточасов */ | |
"flags":<text>, /* флаги (см. ниже) */ | |
"mileage":<text>, /* значение счетчика пробега */ | |
"traffic":<text> /* значение счетчика GPRS-трафика */ | |
} | |
} | |
</code> | |
| |
Возможные флаги счетчиков: | |
* 1 - установить значение счетчика пробега | |
* 2 - установить значение счетчика моточасов | |
* 4 - установить значение счетчика GPRS-трафика | |
| |
=== Сохранить значение счетчика как параметр === | |
<code javascript> | |
{ | |
"t":"store_counter", /* тип действия */ | |
"p":{ | |
"engine_hours":<text>, /* название параметра для счетчика моточасов */ | |
"flags":<text>, /* флаги (см. ниже) */ | |
"mileage":<text> /* название параметра для счетчика пробега */ | |
} | |
} | |
</code> | |
| |
Флаги: | |
* 1 - cохранить значение счетчика пробега как параметр | |
* 2 - cохранить значение счетчика моточасов как параметр | |
| |
=== Зарегистрировать статус объекта === | |
<code javascript> | |
{ | |
"t":"status", /* тип действия */ | |
"p":{ | |
"ui_text":<text> /* статус */ | |
} | |
} | |
</code> | |
| |
=== Изменить вхождение в группы === | |
<code javascript> | |
{ | |
"t":"group_manipulation", /* тип действия */ | |
"p":{ | |
"add_to":<text>, /* добавить в указанные группы (список GUIDов групп через запятую) */ | |
"remove_from":<text> /* исключить из указанных групп */ | |
} | |
} | |
</code> | |
| |
=== Отправить отчет по e-mail === | |
<code javascript> | |
{ | |
"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> /* тема письма */ | |
} | |
} | |
</code> | |
Флаги интервала рассмотрены в разделе [[../report/exec_report#Параметры|Отчеты: Выполнение отчета]]. | |
| |
=== Назначить на маршрут === | |
<code javascript> | |
{ | |
"t":"route_control", /* тип действия */ | |
"p":{ | |
"name":<text>, /* название маршрута */ | |
"descr":<text>, /* описание */ | |
"flags":<text>, /* флаги маршрута */ | |
"act_time":<text>, /* время активации */ | |
"zone_id":<text> /* ID геозоны */ | |
} | |
} | |
</code> | |
| |
Флаги маршрута рассмотрены в разделе [[update_route]]. | |
| |
=== Снятие водителя === | |
<code javascript> | |
{ | |
"t":"drivers_reset", /* тип действия */ | |
"p":{} | |
} | |
</code> | |
| |
| |
| |
===== Типы контроля ===== | |
* [[#Контроль геозоны]], | |
* [[#Контроль скорости]], | |
* [[#Нажатие тревожной кнопки]], | |
* [[#Активация/дезактивация цифрового входа]], | |
* [[#Контроль параметра в сообщении]], | |
* [[#Контроль значения датчика]], | |
* [[#Потеря связи или координат]], | |
* [[#Простой Т/С]], | |
* [[#Контроль SMS]], | |
* [[#Взаиморасположение объектов]], | |
* [[#Контроль маршрута]], | |
* [[#Контроль водителя]], | |
* [[#Техобслуживание]]. | |
| |
=== Контроль геозоны === | |
<code javascript> | |
"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> /* значение датчика до */ | |
} | |
} | |
</code> | |
| |
=== Контроль скорости === | |
<code javascript> | |
"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> /* значение датчика до */ | |
} | |
} | |
</code> | |
| |
=== Нажатие тревожной кнопки === | |
<code javascript> | |
"trg":{ | |
"t":"alarm", /* тип контроля */ | |
"p":{} | |
} | |
</code> | |
| |
=== Активация/дезактивация цифрового входа === | |
<code javascript> | |
"trg":{ | |
"t":"digital_input", /* тип контроля */ | |
"p":{ | |
"input_index":<text>, /* цифровой вход (1-32) */ | |
"type":<text> /* тип проверки: 0 - на активацию, 1 - на дезактивацию */ | |
} | |
} | |
</code> | |
| |
=== Контроль параметра в сообщении === | |
<code javascript> | |
"trg":{ | |
"t":"msg_param", /* тип контроля */ | |
"p":{ | |
"kind":<text>, /* тип контроля параметра */ | |
"lower_bound":<text>, /* значение параметра от */ | |
"param":<text>, /* название параметра */ | |
"text_mask":<text>, /* текстовая маска */ | |
"type":<text>, /* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */ | |
"upper_bound":<text> /* значение параметра до */ | |
} | |
} | |
</code> | |
| |
Типы контроля параметра: | |
* 0 - диапазон значений, | |
* 1 - текстовая маска, | |
* 2 - присутствие параметра, | |
* 3 - отсутствие параметра. | |
| |
=== Контроль значения датчика === | |
<code javascript> | |
"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> /* значение датчика до */ | |
} | |
} | |
</code> | |
| |
=== Потеря связи или координат === | |
<code javascript> | |
"trg":{ | |
"t":"outage", /* тип контроля */ | |
"p":{ | |
"time":<text>, /* длительность потери (секунд) */ | |
"type":<text> /* тип потери: 0 - координаты, 1 - связь */ | |
} | |
} | |
</code> | |
| |
=== Простой Т/С === | |
<code javascript> | |
"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> /* значение датчика до */ | |
} | |
} | |
</code> | |
| |
=== Контроль SMS === | |
<code javascript> | |
"trg":{ | |
"t":"sms", /* тип контроля */ | |
"p":{ | |
"mask":<text> /* маска для текста SMS-сообщения */ | |
} | |
} | |
</code> | |
| |
=== Взаиморасположение объектов === | |
<code javascript> | |
"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> /* значение датчика до */ | |
} | |
} | |
</code> | |
| |
| |
| |
=== Контроль маршрута === | |
<code javascript> | |
"trg":{ | |
"t":"route_control", /* тип контроля */ | |
"p":{ | |
"mask":<text>, /* маска имени маршрута */ | |
"types":<text> /* типы контроля маршрута (через запятую) */ | |
} | |
} | |
</code> | |
| |
Типы контроля маршрута: | |
* 1 - начало маршрута; | |
* 2 - завершение маршрута; | |
* 3 - прерывание маршрута; | |
* 11 - прибытие в контрольную точку; | |
* 12 - пропуск контрольной точки; | |
* 13 - отправление из контрольной точки; | |
* 14 - опоздание; | |
* 15 - опережение; | |
* 16 - возвращение в расписание; | |
* 21 - вход в геозону; | |
* 22 - выход из геозоны. | |
| |
=== Контроль водителя === | |
<code javascript> | |
"trg":{ | |
"t":"driver", /* тип контроля */ | |
"p":{ | |
"driver_code_mask":<text>, /* маска кода водителя */ | |
"flags":<text> /* тип контроля: 1 - назначение водителя, 2 - снятие водителя */ | |
} | |
} | |
</code> | |
| |
| |
| |
=== Техобслуживание === | |
<code javascript> | |
"trg":{ | |
"t":"service_intervals", /* тип контроля */ | |
"p":{ | |
"days":<text>, /* интервал в днях */ | |
"engine_hours":<text>, /* интервал по моточасам, ч */ | |
"flags":<text>, /* флаги контроля техобслуживания */ | |
"mask":<text>, /* маска фильтра инревалов */ | |
"mileage":<text>, /* интервал по пробегу, км */ | |
"val":<text> /* уведомлять: 1 - о приближении срока техобслуживания, -1 - о просрочке */ | |
} | |
} | |
</code> | |
Флаги контроля техобслуживания: | |
* 0 - не учитывать инетрвалы, | |
* 1 - интервал по пробегу, | |
* 2 - интервал по моточасам, | |
* 4 - интервал в днях. | |