Сообщения
На этой странице описаны форматы всех типов сообщений. Вы можете запрашивать сообщения определенного типа с помощью флагов.
О том, как указывать флаги в запросах, см. в разделе Формат данных.
Каждое сообщение также содержит поле tns (<long>): время сообщения в наносекундах (UTC). В Wialon Local поле tns доступно начиная с версии 2604.
Типы сообщений
Доступны следующие типы сообщений:
| Флаг в HEX | Флаг в DEC | Описание |
|---|---|---|
| 0x0000 | 0 | Сообщение с данными |
| 0x0100 | 256 | SMS |
| 0x0200 | 512 | Команда |
| 0x0300 | 768 | Онлайн-уведомление |
| 0x0400 | 1024 | Журнал пользователя |
| 0x0500 | 1280 | Биллинговое сообщение |
| 0x0600 | 1536 | Событие |
| 0x0700 | 1792 | Обработка участка |
| 0x0800 | 2048 | Запись сервиса WDC |
| 0x0900 | 2304 | SMS водителю и от водителя |
| 0x1000 | 4096 | Запись журнала |
| 0x2000 | 8192 | Использование видео |
| 0x4000 | 16384 | Сообщение о срабатывании уведомления |
| 0x5000 | 20480 | Задача |
Чтобы удалить сообщение, используйте метод messages/delete_message. Удалять можно только сообщения объекта. Необходимое право доступа к объекту зависит от флага сообщения f. Условия проверяются в следующем порядке:
| Условие | Типы сообщений | Право доступа HEX (DEC) |
|---|---|---|
f & 0x0600 равно 0x0600 |
События, записи журнала объекта (0x1FE12) |
Управление событиями 0x2000000 (33554432) |
f & 0x1000 равно 0x1000 |
Задачи | Управление журналом 0x800 (2048) |
| Любое другое значение | Сообщения с данными, SMS, команды и другие типы сообщений | Удаление сообщений 0x800000 (8388608) |
Нельзя удалить последнее сообщение или последнее местоположение объекта. В этом случае возвращается ошибка 4.
Удаление задачи не фиксируется в журнале объекта.
Дополнительную информацию о флагах прав доступа смотрите в разделе Флаги доступа.
Все типы сообщений, кроме задач, содержат параметр rt, в котором хранится время регистрации сообщения на сервере (UTC). Он заполняется для сообщений, которые приходят от объекта, например для сообщений с данными и результатов выполнения команд. Он также заполняется для событий. В записях журнала и сообщениях о срабатывании уведомлений значение rt равно 0.
Сообщения с данными
Флаг сообщений с данными — 0x0000 (0).
{
"t": <uint>, /* Время сообщения (UTC). */
"f": <uint>, /* Флаги (см. ниже). */
"tp": "ud", /* Тип сообщения («ud» обозначает сообщение с данными). */
"pos": { /* Местоположение. null, если сообщение не содержит данных о местоположении. */
"y": <double>, /* Широта. */
"x": <double>, /* Долгота. */
"z": <int>, /* Высота. */
"s": <uint>, /* Скорость. */
"c": <uint>, /* Курс. */
"sc": <ubyte> /* Количество спутников. */
},
"i": <uint>, /* Входные данные. Присутствует, только если установлен флаг 0x02. */
"o": <uint>, /* Выходные данные. Присутствует, только если установлен флаг 0x04. */
"dr": <text>, /* Код водителя. Присутствует, только если установлен флаг 0x20. */
"p": { /* Параметры. */
<text>: <double>
...
},
"sensors": { /* Присутствует, только если используется параметр calcSensors. */
"<sensor_id>": {
"value": <double|text>, /* Необработанное значение датчика. */
"format": {
"value": <text> /* Отформатированное значение датчика с единицами измерения. */
}
}
},
"lc": <int>, /* Контрольная сумма LBS-сообщения. */
"rt": <uint> /* Время регистрации сообщения (UTC). */
}
Объект sensors присутствует, только если в запросе передан параметр calcSensors со значением, отличным от 0. Этот параметр принимают методы messages/load_interval и render/get_messages.
Значения датчиков рассчитываются только по сообщениям с данными. В сообщениях остальных типов формулы датчиков не получают данных, поэтому числовой датчик возвращает -348201.3876, а текстовый — строку "---".
Флаги сообщений с данными:
| Значение в HEX | Значение в DEC | Описание |
|---|---|---|
| 0x01 | 1 | Доступны данные о местоположении. |
| 0x02 | 2 | Доступна информация о входных данных. |
| 0x04 | 4 | Доступна информация о выходных данных. |
| 0x10 | 16 | Сообщение содержит бит тревоги. |
| 0x20 | 32 | Сообщение содержит информацию о коде водителя в параметре avl_driver. |
| 0x20000 | 131072 | Сообщение было скорректировано по LBS. |
| 0x40000 | 262144 | Сообщение зарегистрировано во время личной поездки, поэтому данные о его местоположении недоступны. |
SMS
Флаг SMS-сообщений — 0x0100 (256).
{
"t": <uint>, /* Время сообщения (UTC). */
"f": 256, /* Флаги: 256 (0x0100) обозначает SMS-сообщение. */
"tp": "us", /* Тип сообщения («us» обозначает SMS-сообщение). */
"st": <text>, /* Текст сообщения. */
"mp": <text>, /* Номер телефона модема. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": {} /* Параметры. */
}
Команда
Флаг команд — 0x0200 (512).
{
"t": <uint>, /* Время сообщения (UTC). */
"f": 512, /* Флаги: 512 (0x0200) обозначает команду. */
"tp": "ucr", /* Тип сообщения («ucr» обозначает команду). */
"ca": <text>, /* Название команды. */
"cn": <text>, /* Тип команды. */
"cp": <text>, /* Параметры команды. */
"ui": <long>, /* ID пользователя. */
"ln": <text>, /* Название канала. */
"lt": <text>, /* Тип канала. */
"et": <uint>, /* Время выполнения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": {} /* Параметры. */
}
Типы каналов описаны на странице update_command_definition.
Событие
Флаг событий — 0x0600 (1536).
{
"t": <uint>, /* Время сообщения (UTC). */
"f": <uint>, /* Флаги (см. ниже). */
"tp": "evt", /* Тип сообщения («evt» обозначает событие). */
"et": <text>, /* Текст события. */
"x": <double>, /* Долгота. 0, если у события нет местоположения. */
"y": <double>, /* Широта. 0, если у события нет местоположения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": { /* Параметры. */
"evt_name": <text>, /* Название события. */
"evt_sub_type": <uint>, /* Подтип события (см. ниже). */
"evt_reg_type": <uint>, /* Тип регистрации (см. ниже). */
"executed_branch": <text>, /* Выполненные условия, объединенные оператором AND. */
...
}
}
Флаги событий:
| Значение в HEX | Значение в DEC | Описание |
|---|---|---|
| 0x1 | 1 | Нарушение. |
| 0x2 | 2 | Техобслуживание или заправка. |
| 0x4 | 4 | Прохождение маршрута. |
| 0x10 | 16 | Техобслуживание. Этот флаг устанавливается в дополнение к 0x2. |
| 0x20 | 32 | Заправка. Этот флаг устанавливается в дополнение к 0x2. |
Если значение f равно 0, событие является простым.
Параметры evt_name, evt_sub_type и evt_reg_type присутствуют в большинстве событий. Их нет в событиях, зарегистрированных методом unit/registry_insurance_event, и в событиях, которые метод unit/update_traffic_counter регистрирует при сбросе счетчика трафика.
Параметр executed_branch присутствует только в событиях, зарегистрированных уведомлениями, контролем маршрута и методами unit/registry_maintenance_event, unit/registry_fuel_filling_event и unit/registry_charge_event. В событиях, зарегистрированных методами unit/registry_status_event и unit/registry_custom_event, его нет. Параметр executed_branch в Wialon Local недоступен.
Остальные параметры зависят от того, чем зарегистрировано событие.
| Источник регистрации | Дополнительные параметры |
|---|---|
| Уведомление | avl_trigger_type, expression |
| Статус объекта | ui_text |
| Контроль маршрута | counter, flags, rt_name, rt_round, rt_code, rt_index, rt_pt_name, rt_zone, а также rt_pt_tm и rt_pt_tmd для прибытия или отправления либо rt_pt_tm_i, rt_pt_tmd_i, rt_pt_tm_o и rt_pt_tmd_o для пропущенной контрольной точки |
| Техобслуживание | comment, cost, duration (в секундах), eh (в секундах), mileage, place |
Значения параметра evt_sub_type приведены в разделе Подтипы событий и задач. Значения параметра evt_reg_type приведены в разделе Типы регистрации событий и задач.
В событиях, зарегистрированных до того, как задачи были отделены от событий, параметры
evt_name,evt_sub_typeиevt_reg_typeназываютсяtask_evt_name,task_sub_typeиtask_reg_type. Подробнее см. в записи Tasks no longer tied to registered events.Параметр
executed_branchотсутствует в событиях, зарегистрированных до обновления системы уведомлений. Подробнее см. в записи Notification system redesign.
Онлайн-уведомление
Флаг онлайн-уведомлений — 0x0300 (768).
Онлайн-уведомление создается действием Отобразить онлайн-уведомление во всплывающем окне. В отличие от сообщения о срабатывании уведомления, оно не хранится на сервере и доставляется только в сессию в виде события.
Чтобы получать онлайн-уведомления, подпишитесь на ресурс с флагом сообщений 0x00000020 (32) с помощью метода core/update_data_flags и считывайте события с помощью avl_evts. Событие приходит от ресурса, а не от объекта.
{
"t": <uint>, /* Время сообщения (UTC). */
"f": <uint>, /* Флаги (см. ниже). */
"tp": "unm", /* Тип сообщения. */
"name": <text>, /* Название уведомления. */
"txt": <text>, /* Текст уведомления. */
"color": <text>, /* Цвет уведомления в формате HTML, например #ff9a05. */
"url": <text>, /* URL-адрес звукового сигнала уведомления. */
"unit": <long>, /* ID объекта, для которого сработало уведомление. */
"blink": <uint>, /* Мигание мини-карты при срабатывании: 1 — включено, 0 — отключено. */
"x": <double>, /* Долгота. */
"y": <double>, /* Широта. */
"expression": <text>, /* Условия уведомления, объединенные операторами AND и OR, например скорость AND геозона. */
"executed_branch": <text>, /* Выполненные условия, объединенные оператором AND. Часть expression. */
"nid": <long>, /* ID уведомления. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": {} /* Параметры. */
}
В отличие от сообщений других типов, онлайн-уведомление хранит свои параметры в корне объекта, а объект p всегда пуст.
Все параметры всегда присутствуют в сообщении. Если значение не задано, текстовый параметр пуст, а числовой равен 0. Если в сообщении, которое вызвало срабатывание уведомления, нет координат, то x и y равны 0.
Значение f всегда равно 0x380 (896): 0x0300 (768) — тип сообщения, 0x80 (128) — сообщение, которое не хранится на сервере.
Чтобы получить полную конфигурацию уведомления, передайте nid в метод resource/get_notification_data.
Методы messages/load_interval и messages/load_last никогда не возвращают сообщения этого типа. Чтобы получить сохраненные записи о срабатываниях уведомлений за период, используйте флаг
0x4000(16384), описанный в разделе Сообщение о срабатывании уведомления.
Журнал пользователя
Флаг записей журнала пользователя — 0x0400 (1024). В таких записях хранится история входов пользователя в систему и выходов из нее. Они принадлежат пользователю, а не объекту или ресурсу.
{
"t": <uint>, /* Время сообщения (UTC). */
"f": 1024, /* Флаги: 1024 обозначает запись журнала пользователя. */
"tp": "xx", /* Тип сообщения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": { /* Параметры. */
"type": <text>, /* Тип записи (см. ниже). */
"host": <text>, /* Хост, с которого подключился пользователь. */
"service": <text>, /* Сервис, в котором была открыта сессия. */
"app": <text>, /* Приложение, в котором была открыта сессия. */
"sid": <text> /* ID сессии, 32 символа. */
}
}
Все параметры всегда присутствуют.
Типы записей:
| Значение | Описание |
|---|---|
login |
Пользователь вошел в систему. |
logout |
Пользователь вышел из системы. |
Параметры service и app содержат название сервиса или приложения, в котором была открыта сессия, например web/hosting.wialon.com для веб-интерфейса или hst-api.wialon.com для запроса к API. В записи типа login оба параметра всегда содержат одно и то же значение. В записи типа logout они берутся из разных источников и могут различаться.
В записи типа logout значение t — это время последней активности в сессии, а не время ее завершения.
Записи типа
loginне всегда соответствует запись типаlogout.
Чтобы получить такие записи, используйте метод messages/load_interval или messages/load_last, указав ID пользователя в параметре
itemId,0x0400(1024) в параметреflagsи0xFF00(65280) в параметреflagsMask. Для этого необходимо право доступа к пользователю Запрос сообщений и отчетов0x200(512).Чтобы получать новые записи в виде событий, подпишитесь на пользователя с флагом сообщений
0x00000020(32) с помощью метода core/update_data_flags и считывайте события с помощью avl_evts.
Чтобы получить записи о действиях, выполненных с элементом, используйте тип сообщений Запись журнала.
Биллинговые сообщения
Флаг биллинговых сообщений — 0x0500 (1280).
{
"t": <uint>, /* Время сообщения (UTC). */
"f": <uint>, /* Флаги: 0x1 устанавливается, когда сообщение содержит биллинговую информацию. */
"tp": "xx", /* Тип сообщения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": {} /* Параметры. */
}
SMS водителю и от водителя
Флаг SMS-сообщений водителю и от водителя — 0x0900 (2304). Сообщения в обоих направлениях имеют этот тип. Флаг 0x1 в параметре f устанавливается, если сообщение отправлено водителю, и не устанавливается, если сообщение получено от водителя.
{
"t": <uint>, /* Время сообщения (UTC). */
"f": <uint>, /* Флаги: 0x1 устанавливается для сообщения, отправленного водителю. */
"tp": "xx", /* Тип сообщения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": { /* Параметры. */
"phone": <text>, /* Номер телефона водителя. */
"sms_text": <text>, /* Текст SMS. */
"driver_name": <text>, /* Имя водителя. */
"driver_id": <uint>, /* ID водителя. */
"modem_phone": <text> /* Номер телефона модема. Присутствует только в сообщениях, полученных от водителя. */
}
}
Запись журнала
Флаг записей журнала — 0x1000 (4096).
{
"t": <uint>, /* Время сообщения (UTC). */
"f": <uint>, /* Флаги (см. ниже). */
"tp": "xx", /* Тип сообщения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": { /* Параметры. */
"user": <text>, /* Имя пользователя, выполнившего действие. */
"action": <text>, /* ID действия. */
"host": <text>, /* Хост, с которого выполнено действие. */
"p1": <text>, /* Параметр, зависящий от действия. */
"p2": <text>, /* Параметр, зависящий от действия. */
"p3": <text>, /* Тип элемента, например avl_unit. */
...
}
}
В возвращаемом результате значение f не зависит от действия. Для объектов оно всегда равно 0x1FE12 (130578). Для всех остальных элементов оно всегда равно 0x1000 (4096).
Не используйте 0x1FE12 (130578) в запросах. Чтобы запросить записи журнала любого элемента, укажите 0x1000 (4096) в параметре flags и 0xFF00 (65280) в параметре flagsMask.
Доступные ID действий и их параметры (p1, p2) описаны на странице item/add_log_record.
Чтобы получить историю входов пользователя в систему и выходов из нее, используйте тип сообщений Журнал пользователя.
Чтобы получать записи журнала, необходимы два права доступа: Запрос сообщений и отчетов
0x200(512) для вызова метода messages/load_interval или messages/load_last и Управление журналом0x800(2048) к запрашиваемому элементу. Без права Управление журналом возвращаемый результат не содержит ни записей журнала, ни ошибки. Полный список прав приведен в разделе Флаги доступа.
Использование видео
Флаг сообщений об использовании видео — 0x2000 (8192). В таких сообщениях фиксируется видеотрафик объекта.
Сообщения об использовании видео доступны только в Wialon Hosting.
Устройство не отправляет такие сообщения. Сервер собирает записи видеосервиса и сохраняет их в истории сообщений объекта каждые 15 минут, поэтому сообщение может появиться с такой задержкой. Время сообщения — это время записи о видеотрафике, а не время ее сохранения на сервере.
{
"t": <uint>, /* Время сообщения (UTC). */
"f": 8192, /* Флаги: 8192 обозначает сообщение об использовании видео. */
"tp": "xx", /* Тип сообщения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": { /* Параметры. */
"cha_n": <uint>, /* Номер канала камеры. */
"bytes_in": <long>, /* Объем видеотрафика в байтах. */
"action": <uint>, /* Операция, при которой был израсходован трафик (см. ниже). */
"conn_id": <uint>, /* ID соединения, присвоенный видеосервисом. */
"hw_id": <long> /* ID типа устройства объекта. */
}
}
Все параметры всегда присутствуют в сообщении.
Параметр action показывает, при какой операции был израсходован трафик и какой кодек используется для видео:
| Значение | Операция | Кодек |
|---|---|---|
| 1 | Просмотр видеотрансляции | H.264 |
| 2 | Воспроизведение записи | H.264 |
| 3 | Скачивание видео | H.264 |
| 4 | Просмотр видеотрансляции | H.265 |
| 5 | Воспроизведение записи | H.265 |
| 6 | Скачивание видео | H.265 |
Доступные значения зависят от кодека, который поддерживает устройство объекта.
Несколько сообщений могут иметь одинаковое значение conn_id, если в рамках одного соединения было создано несколько записей о трафике. Видеосервис нумерует соединения с помощью счетчика, который сбрасывается при перезапуске сервиса, поэтому не используйте conn_id в качестве уникального ключа.
Параметр cha_n содержит номер канала камеры, который передает устройство. Нумерация определяется протоколом устройства, поэтому она может различаться для разных типов устройств. Чтобы получить названия камер, настроенных для объекта, используйте метод unit/get_video_settings.
Параметр hw_id содержит то же значение, что и свойство объекта hw, которое описано в разделе Расширенные свойства. Чтобы получить название типа устройства по этому значению, используйте метод core/get_hw_types.
Система суммирует значения bytes_in объекта, чтобы рассчитать расход видеотрафика.
Чтобы получить такие сообщения, используйте метод messages/load_interval или messages/load_last, указав ID объекта в параметре
itemId,0x2000(8192) в параметреflagsи0xFF00(65280) в параметреflagsMask. Для этого необходимо право доступа к объекту Запрос сообщений и отчетов0x200(512). Права на видеоданные не требуются.Такие сообщения появляются только у объектов с включенным видеомониторингом. Чтобы включить биллинг видео для объекта, используйте метод unit/update_video_status.
Сообщения WLN
Сообщения WLN имеют следующий формат:
REG;time;lon;lat;speed;course;double params;int params;text params;long params;boolean params;
Внутри раздела параметры отделяются друг от друга запятыми. Пример:
REG;1466585078;30.4367027283;59.7207145691;1;273;ALT:24.0,adc1:0.0,adc2:25.57,adc3:0.0,adc4:0.0,adc5:0.0,adc6:0.0,fuel1:0.0,fuel2:170.0,fuel3:0.0,odometer:7293607.0,acc:0.0,pwr_int:0.731,pwr_ext:25.751,hdop:1.7;in13:1,,SATS:5,count1:1,count2:0,temp1:0,temp2:23,temp3:0,sats_glonass:0,sats_gps:5;soft_version:"44";;;
Сообщение о срабатывании уведомления
При срабатывании уведомления система сохраняет сообщение с флагом 0x4000 (16384). Такие сообщения содержат подробную информацию о событии, при котором сработало уведомление.
Чтобы получить такие сообщения, используйте метод messages/load_interval или messages/load_last со значением 0x4000 (16384) в параметре flags и 0xFF00 (65280) в параметре flagsMask. Не используйте 0x4000 в качестве маски: под нее также подходят задачи, так как их флаг 0x5000 содержит тот же бит.
{
"t": <uint>, /* Время срабатывания (UTC). */
"f": 16384, /* Флаги: 16384 обозначает срабатывание уведомления. */
"tp": "xx", /* Тип сообщения. */
"rt": <uint>, /* Время регистрации сообщения (UTC). */
"p": { /* Параметры. */
"name": <text>, /* Название уведомления. */
"resource_id": <uint>, /* ID ресурса, в котором настроено уведомление. */
"trigger_type": <text>, /* Тип срабатывания, например speed, geozone или expression. */
"actions": <text>, /* Типы действий, разделенные запятыми, например message,event. */
"unit_id": <uint>, /* ID объекта, для которого сработало уведомление. */
"text": <text>, /* Текст сообщения уведомления. */
"trigger_time": <uint>, /* Время срабатывания (UTC). */
"alarm_msg_time": <uint>, /* Время сообщения, которое вызвало срабатывание уведомления (UTC). 0, если такого сообщения не было. */
"notification_id": <uint>, /* ID уведомления. */
"x": <double>, /* Долгота. Присутствует, только если у сообщения, которое вызвало срабатывание уведомления, есть местоположение. */
"y": <double>, /* Широта. Присутствует, только если у сообщения, которое вызвало срабатывание уведомления, есть местоположение. */
"expression": <text>, /* Условия уведомления, объединенные операторами AND и OR, например скорость AND геозона. Может быть пустым. */
"executed_branch": <text>, /* Выполненные условия, объединенные оператором AND. Часть expression. */
"account_id": <uint> /* ID учетной записи ресурса. Отсутствует, если у ресурса нет биллинговой учетной записи. */
}
}
Параметры notification_id, expression и executed_branch отсутствуют в сообщениях, зарегистрированных до обновления системы уведомлений. Они недоступны в Wialon Local. Об изменениях в системе уведомлений см. в записи Notification system redesign.
Задача
Флаг задач — 0x5000 (20480).
В Wialon Local сообщения о задачах доступны начиная с версии 2504.
{
"t": <uint>, /* Время сообщения (UTC). */
"f": 20480, /* Флаги: 20480 обозначает задачу. */
"tp": "task", /* Тип сообщения. */
"task_id": <text>, /* ID задачи. */
"p": { /* Параметры. */
"task_id": <text>, /* ID задачи. */
"task_sub_type": <uint>, /* Подтип задачи: число или текст (см. ниже). */
"task_reg_type": <uint>, /* Тип регистрации (см. ниже). */
"task_account": <long>, /* ID учетной записи или пользователя, который создал объект (см. ниже). */
"task_status": <uint>, /* Статус задачи (см. ниже). */
"task_description": <text>, /* Описание задачи. */
"task_priority": <uint>, /* Приоритет задачи (см. ниже). */
"task_assignee": <long>, /* ID пользователя, на которого назначена задача. 0, если задача не назначена. */
"task_evt_name": <text>, /* Название задачи. */
"task_tags": <text>, /* Текст с JSON-объектом, который содержит теги уведомления, создавшего задачу. Пуст для задач, созданных вручную. */
"task_comments": [ /* Комментарии. */
{
"id": <uint>, /* ID комментария. */
"timestamp": <uint>, /* Время добавления комментария (UTC). */
"assignee": <long>, /* ID пользователя, добавившего комментарий. */
"last_edited_by": <long>, /* ID пользователя, который последним отредактировал комментарий. */
"last_edit_time": <uint>, /* Время последнего редактирования (UTC). */
"comment": <text> /* Текст комментария. */
}
],
"task_update_time": <uint>, /* Время последнего обновления (UTC). 0 для задачи, которая зарегистрирована уведомлением и ни разу не обновлялась. */
"task_address_x": <double>, /* Долгота. 0, если у задачи нет местоположения. */
"task_address_y": <double>, /* Широта. 0, если у задачи нет местоположения. */
"task_done_rejected": <uint>, /* Время, когда задача была выполнена или отклонена (UTC). 0 для остальных статусов. */
"task_params": { /* Дополнительные параметры задачи. Каждый параметр присутствует, только если его значение задано. */
"filled": <double>, /* Количество заправленного топлива. */
"charged": <double>, /* Количество заряженной энергии. */
"cost": <double>, /* Стоимость задачи. */
"engine_hours": <double>, /* Моточасы. */
"mileage": <double>, /* Пробег. */
"duration": <uint> /* Длительность в секундах. */
}
}
}
В отличие от сообщений других типов, сообщение о задаче не содержит параметра rt. Метод messages/get_task_messages возвращает такой же объект p, но вместо tp и task_id возвращает параметр item_id с ID объекта.
Значение параметра task_account зависит от того, как была создана задача: для задачи, созданной вручную, он содержит ID учетной записи, которой принадлежит объект (свойство объекта bact), а для задачи, зарегистрированной уведомлением, — ID пользователя, который создал объект (свойство crt). Подробнее об этих свойствах см. в разделе Информация о биллинге.
Параметр task_tags является текстом, а не объектом. Он содержит {}, если у уведомления нет тегов, и пуст для задач, созданных вручную.
Комментарии возвращаются в том порядке, в котором они были переданы в последнем запросе unit/update_task. Не рассчитывайте на то, что они отсортированы по id или по timestamp.
Статусы задач:
| Значение | Описание |
|---|---|
| 1 | Новая. |
| 2 | К выполнению. |
| 3 | В работе. |
| 4 | Приостановлена. |
| 5 | Отклонена. |
| 6 | Выполнена. |
Приоритеты задач:
| Значение | Описание |
|---|---|
| 1 | Низкий. |
| 2 | Средний. |
| 3 | Высокий. |
Значения параметров task_sub_type и task_reg_type приведены в разделах Подтипы событий и задач и Типы регистрации событий и задач.
В ответах метода messages/get_task_messages и в событиях avl_evts значения filled и mileage указываются в системе измерения объекта, которая задается в его свойстве mu. Подробнее см. в разделе Основные свойства. В ответах методов messages/load_interval и messages/load_last эти значения всегда указываются в метрической системе (СИ): в литрах и километрах.
Задачи создаются методом unit/create_task и действием уведомления Создать задачу. Чтобы изменить статус, приоритет, назначенного пользователя или комментарии задачи, используйте метод unit/update_task.
Чтобы получить задачи объекта за период, используйте метод messages/get_task_messages. Чтобы получать новые задачи в виде событий, подпишитесь на объект с флагом задач
0x01000000(16777216) с помощью метода core/update_data_flags и считывайте события с помощью avl_evts.В обоих случаях необходимы права доступа к объекту Просмотр элемента и его основных свойств
0x1(1) и Запрос сообщений и отчетов0x200(512), а для учетной записи должна быть включена и активна услуга Задачи.Задачи одного объекта также можно загрузить с помощью метода messages/load_interval или messages/load_last. Для этого укажите
0x5000(20480) в параметреflagsи0xFF00(65280) в параметреflagsMask. Необходимо право доступа к объекту Запрос сообщений и отчетов0x200(512).
Подтипы событий и задач
Параметр evt_sub_type события и параметр task_sub_type задачи имеют одинаковый набор значений.
Для событий и задач, зарегистрированных уведомлением, подтип соответствует типу контроля уведомления:
| Значение | Описание |
|---|---|
| 1 | Скорость. |
| 2 | Тревога (SOS). |
| 3 | Параметр в сообщении. |
| 4 | Потеря связи. |
| 5 | SMS. |
| 6 | Адрес. |
| 7 | Заправка топлива или зарядка батареи. |
| 8 | Прохождение маршрута. |
| 9 | Прицеп. |
| 10 | Тревожная кнопка пассажира. |
| 11 | Геозона. |
| 12 | Цифровой вход. |
| 13 | Значение датчика. |
| 14 | Простой. |
| 15 | Близость объекта. |
| 16 | Превышение лимита сообщений. |
| 17 | Слив топлива. |
| 18 | Водитель. |
| 19 | Активность пассажиров. |
| 20 | Техобслуживание. |
| 31 | Состояние устройства. |
| 32 | Комбинирование нескольких условий. |
Для события, зарегистрированного уведомлением, тип контроля также доступен в текстовом виде в параметре avl_trigger_type.
Для событий и задач, зарегистрированных из других источников, подтип указывает на источник:
| Значение | Описание |
|---|---|
| 21 | Произвольный. |
| 22 | Заправка топлива. |
| 23 | Зарядка батареи. |
| 24 | Запись в журнале. |
| 25 | Статус объекта. |
| 26 | Работы по техобслуживанию. |
| 27 | Учет GPRS-трафика. |
| 28 | Учет пробега. |
| 29 | Учет моточасов. |
| 30 | Прохождение маршрута. |
Значения 22, 23 и 26 используются, когда заправка, зарядка батареи или техобслуживание регистрируются напрямую, без уведомления. Если то же событие регистрируется уведомлением, подтип равен 7 или 20.
Подтип задачи в виде текста
Параметр task_sub_type задачи может содержать как число, так и текстовое значение, поэтому обрабатывайте оба типа.
В учетных записях с обновленной системой уведомлений (подробнее см. в записи Notification system redesign) вместо числа возвращается текстовое значение. Для задачи, зарегистрированной уведомлением, оно содержит выполненные условия, объединенные оператором AND, так же как в параметре executed_branch события. Например, outage для уведомления о потере связи или speed AND driver_unassigned для уведомления с несколькими условиями. Названия условий, которые можно комбинировать в одном уведомлении, приведены в разделе Поддерживаемые типы условий. Уведомления с несколькими условиями недоступны в Wialon Local.
Для остальных задач, включая задачи, созданные вручную, и задачи, зарегистрированные до обновления системы уведомлений, текстовое значение формируется из числового подтипа. Если числовой подтип охватывает несколько условий, их названия объединяются оператором OR.
| Числовое значение | Текстовое значение |
|---|---|
| 1 | speed OR speeding_gis |
| 2 | alarm |
| 3 | msg_param |
| 4 | outage |
| 5 | sms |
| 6 | address |
| 7 | fuel_filling OR battery_charge |
| 8, 30 | route_control |
| 9 | trailer |
| 10 | tag_alarm |
| 11 | geozone_inside OR geozone_outside |
| 12 | digital_input |
| 13 | sensor_range OR sensor_change |
| 14 | idling |
| 15 | interposition |
| 16 | msgs_counter |
| 17 | fuel_theft |
| 18 | driver |
| 19 | tag |
| 20, 26 | service_intervals |
| 21 | custom |
| 22 | fuel_filling |
| 23 | battery_charge |
| 31 | health_check |
Подтипы 24, 25, 27, 28 и 29 не имеют текстового значения и всегда возвращаются числами. Подтип 32 (комбинирование нескольких условий) возвращается числом только для задач, зарегистрированных до обновления системы уведомлений.
Это касается только задач. Параметр
evt_sub_typeсобытия всегда является числом.
Типы регистрации событий и задач
Параметр evt_reg_type события и параметр task_reg_type задачи показывают, как было зарегистрировано событие или задача: 1 — вручную, 2 — автоматически.