Для того, чтобы получить подробную информацию об интересующих вас уведомлениях, нужно использовать команду resource/get_notification_data:
svc=resource/get_notification_data¶ms={"itemId":<long>, "col":[<long>]}
Название | Описание |
---|---|
itemId | ID ресурса |
col | массив идентификаторов уведомлений |
[ { "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>, /* количество срабатываний */ "sch":{ /* ограничение по времени */ "f1":<uint>, /* время начала интервала 1 (количество минут от полуночи) */ "f2":<uint>, /* время начала интервала 2 (количество минут от полуночи) */ "t1":<uint>, /* время окончания интервала 1 (количество минут от полуночи) */ "t2":<uint>, /* время окончания интервала 2 (количество минут от полуночи) */ "m":<uint>, /* маска дней месяца [1: 2^0, 31: 2^30] */ "y":<uint>, /* маска месяцев [янв: 2^0, дек: 2^11] */ "w":<uint> /* маска дней недели [пн: 2^0, вс: 2^6] */ }, "ctrl_sch":{ /* расписание периодов ограничения количества срабатывания */ "f1":<uint>, /* время начала интервала 1 (количество минут от полуночи) */ "f2":<uint>, /* время начала интервала 2 (количество минут от полуночи) */ "t1":<uint>, /* время окончания интервала 1 (количество минут от полуночи) */ "t2":<uint>, /* время окончания интервала 2 (количество минут от полуночи) */ "m":<uint>, /* маска дней месяца [1: 2^0, 31: 2^30] */ "y":<uint>, /* маска месяцев [янв: 2^0, дек: 2^11] */ "w":<uint> /* маска дней недели [пн: 2^0, вс: 2^6] */ }, "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.
{ "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":{ "color":<text>, /* цвет уведомления */ "name":<text>, /* название уведомления */ "url":<text> /* URL-адрес звука уведомления */ } }
{ "t":"mobile_apps", /* тип действия */ "p":{ "apps":"{\"<text>\":[ /* имя мобильного приложения */ <uint> /* id пользователя */ ]}" } }
{ "t":"messenger_messages", /* тип действия */ "p":{ "chat_id":<text>, /* ID канала в Telegram */ "token":<text> /* токен пользователя в Telegram */ } }
{ "t":"push_messages", /* тип действия */ "p":{ "url":<text>, /* имя сервера (может быть указан порт), начните его с "http(s)" */ "get":<bool> /* тип запроса: 1 - GET, 0 - POST */ } }
{ "t":"event", /* тип действия */ "p":{ "flags":<text> /* зарегистрировать как: 0 - событие, 1 - нарушение */ } }
{ "t":"exec_cmd", /* тип действия */ "p":{ "cmd_type":<text>, /* тип команды */ "link":<text>, /* тип связи */ "name":<text>, /* название команды */ "param":<text> /* параметры */ "units":<text> /* список id объектов через запятую */ } }
Доступные типы команд можно посмотреть Список доступных команд
{ "t":"user_access", /* тип действия */ "p":{ "acl_bits":<text>, /* биты, которые нужно изменить */ "acl_mask":<text>, /* маска */ "units":<text>, /* список объектов (через запятую) */ "users":<text> /* список пользователей (через запятую) */ } }
{"t":"video_service", /* тип действия */ "p":{ /* опциональные параметры */ "channel_mask":int, /* маска доступных камер, по умолчанию берется из свойства объекта "video_channel_mask" */ "duration_before":long, /* время видео до текущего момента, по умолчанию - 10 сек, макс - 30 сек*/ "duration_after":long, /* время видео после текущего момента, по умолчанию - 10 сек, макс - 30 сек*/ "base_url":"http://hst-api.qa.wdc.dc/"}}
{ "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>, /* добавить в указанные группы */ "remove_from":<text> /* исключить из указанных групп */ } }
{ "t":"email_report", /* тип действия */ "p":{ "email_to":<text>, /* e-mail адрес */ "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> /* конец временного интервала */ } }
Флаги интервала рассмотрены в разделе Отчеты: Выполнение отчета.
Форматы файлов:
{ "t":"route_control", /* тип действия */ "p":{ "description":<text>, /* описание */ "expiration":<text>, /* срок действия */ "flags":<text>, /* флаги рейса */ "name":<text>, /* название */ "route":<text>, /* ID маршрута */ "schedule":<text> /* ID расписания */ } }
Флаги рейса рассмотрены в разделе Информация о рейсах.
{ "t":"drivers_reset", /* тип действия */ "p":{} }
{ "t":"trailers_reset", /* тип действия */ "p":{} }
"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>, /* список идентификаторов геозон (через запятую) */ "type":<uint>, /* тип проверки: 0 - контролировать вход в геозону, 1 - контролировать выход из геозоны */ "min_speed":<uint>, /* минимальная скорость, км/ч */ "max_speed":<uint>, /* максимальная скорость, км/ч */ "include_lbs":<uint>, /* учитывать LBS-сообщения: 1 - да, 0 - нет */ "lo":<text> /* логический оператор (опциональный): "AND", "OR" */ } }
"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 - нет */ } }
"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> /* значение датчика до */ } }
"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 - суммировать значения */ "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> /* значение датчика до */ } }
"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 геозон (через запятую) */ } }
"trg":{ "t":"speed", /* тип контроля */ "p":{ "min_speed":<text>, /* минимальная скорость, км/ч */ "max_speed":<text>, /* максимальная скорость, км/ч */ "merge":<text>, /* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */ "min_idle_time":<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>, /* тип датчика */ "lower_bound":<text>, /* значение датчика от */ "upper_bound":<text>, /* значение датчика до */ "include_lbs":<uint>, /* учитывать LBS-сообщения: 1 - да, 0 - нет */ "geozones_type":<text>, /* тип проверки: 0 - контролировать вне геозоны, 1 - контролировать в геозоне */ "geozones_list":<text> /* список ID геозон (через запятую) */ } }
Значение параметра min_idle_time в минутах должно соответствовать значению параметра mast в секундах. Например, чтобы уведомление срабатывало после 10 минут простоя, укажите 10 в параметре min_idle_time и 600 в mast
"trg":{ "t":"sms", /* тип контроля */ "p":{ "mask":<text> /* маска для текста SMS-сообщения */ } }
"trg":{ "t":"interposition", /* тип контроля */ "p":{ "sensor_type":<text>, /* тип датчика */ "sensor_name_mask":<text>, /* маска названия датчика */ "lower_bound":<text>, /* значение датчика от */ "upper_bound":<text> /* значение датчика до */ "prev_msg_diff":<text>, /* флаг, позволяющий сформировать диапазон для текущего значения с помощью предыдущего значения(prev) следующим образом: [prev+lower_bound ; prev+upper_bound] -- таким образом диапазон для текущего значения всегда относителен и зависит от предыдущего значения; 0 - выключить опцию, 1 - включить опцию */ "merge":<text>, /* одинаковые датчики: 0 - считать отдельно, 1 - суммировать значения */ "reversed":<text>, /* срабатывать: 0 - в рамках установленных значений, 1 - за пределами установленных значений */ "unit_guids":<text>, /* ID контролируемыx объектов (через запятую) */ "radius":<text>, /* радиус, м */ "type":<text>, /* тип проверки: 0 - контролировать приближение к объектам, 1 - контролировать удаление от объектов */ "max_speed":<text>, /* максимальная скорость, км/ч */ "min_speed":<text>, /* минимальная скорость, км/ч */ "include_lbs":<uint>, /* учитывать LBS-сообщения: 1 - да, 0 - нет */ "lo":<text> /* логический оператор (опциональный): "AND", "OR" */ } }
"trg":{ "t":"msgs_counter", /* тип контроля */ "p":{ "flags":<text>, /* тип сообщений: 1 - сообщения от объекта, 2 - SMS-сообщения */ "msgs_limit":<text>, /* лимит сообщений */ "time_offset":<text> /* интервал сброса датчика, секунд */ } }
"trg":{ "t":"route_control", /* тип контроля */ "p":{ "mask":<text>, /* маска имени маршрута */ "round_mask":<text>, /* маска имени рейса */ "schedule_mask":<text>, /* маска имени расписания */ "types":<text> /* типы контроля маршрута (через запятую) */ } }
Типы контроля маршрута:
"trg":{ "t":"driver", /* тип контроля */ "p":{ "driver_code_mask":<text>, /* маска кода водителя */ "flags":<text> /* тип контроля: 1 - назначение водителя, 2 - снятие водителя */ } }
"trg": { "t": "trailer", /* тип контроля */ "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 - о просрочке */ } }
Флаги контроля техобслуживания:
"trg":{ "t":"fuel_theft", /* тип контроля */ "p":{ "sensor_name_mask":<text>, /* маска имени датчика */ "geozones_type":<uint>, /*тип контроля геозон: 0 - выкл либо вне геозоны, 1 - внутри геозоны */ "geozones_list":<text>, /* список идентификаторов геозон (через запятую) в формате resourceID_geozone ID */ "realtime_only":<uint>, /* флаг игнорировать пересчет исторических данных: 0 - выкл, 1 - вкл */ } }
"trg":{ "t":"fuel_filling", /* тип контроля */ "p":{ "sensor_name_mask":<text>, /* маска имени датчика */ "geozones_type":<uint>, /*тип контроля геозон: 0 - выкл либо вне геозоны, 1 - внутри геозоны */ "geozones_list":<text>, /* список идентификаторов геозон (через запятую) в формате resourceID_geozone ID */ "realtime_only":<uint>, /* флаг игнорировать пересчет исторических данных: 0 - выкл, 1 - вкл */ } }
|