Чтобы выполнить отчет, нужно использовать команду report/exec_report:
svc=report/exec_report¶ms={"reportResourceId":<long>, "reportTemplateId":<long>, "reportObjectId":<long>, "reportObjectSecId":<long>, "interval":{ "from":<uint>, "to":<uint>, "flags":<uint> }, "tzOffset":<uint>, "lang":<text>}
Внимание! Одновременно в сессии может быть выполнен только один отчет, поэтому если в сессии содержаться результаты выполнения предыдущего отчета, то перед выполнением следующего отчета их следует удалить командой report/cleanup_result.
Использование данного запроса рассмотрено в примере Отчеты.
Название | Описание |
---|---|
reportResourceId | ID ресурса |
reportTemplateId | ID шаблона |
reportObjectId | ID элемента |
reportObjectSecId | ID подэлемента, например геозоны или уведомления, если у элемента нету подэлементов, то 0 |
interval | настройки интервала отчета |
from | начало интервала, UNIX-время |
to | окончание интервала, UNIX-время |
flags | флаги интервала |
tzOffset | часовой пояс (см. Часовые пояса) |
lang | язык (двухбуквенный код) |
Флаги интервала:
Флаг | Описание |
---|---|
0x00 | указанный интервал |
0x01 | начиная 'От' до сегодня |
0x02 | за предыдущие n дней |
0x04 | за предыдущие n недель |
0x08 | за предыдущие n месяцев |
0x10 | за предыдущие n лет |
0x20 | включая текущее |
0x40 | за предыдущие n часов |
{ "reportResult":{ /* результат отчета */ "msgsRendered":<int>, /* загружены сообщения: 0 - нет, 1 - да */ "stats":[ /* массив статистических параметров */ [<text>,<text>] /* [название параметра, значение] */ ], "tables":[ /* массив таблиц */ { "nm":<text>, /* тип таблицы */ "text":<text>, /* название */ "f":<uint>, /* флаги таблиц (см. ниже) */ "r":<uint>, /* количество строк */ "c":<uint>, /* количество колонок */ "h":[<text>], /* массив названий столбцов таблицы */ "t":[<text>] /* итого */ } ], "attachments":[ /* массив приложений (графиков, фотографий) */ { "n":<text>, /* название */ "t":<text> /* тип: chart - график, photo - фотография */ } ] }, "reportLayer":{ /* графический слой */ "name":<text>, /* название слоя */ "bounds":[ <double>, /* минимальная широта */ <double>, /* минимальная долгота */ <double>, /* максимальная широта */ <double> /* максимальная долгота */ ], "units": [{ /* объекты */ "id": <long>, /* ID объекта */ "msgs":{ /* сообщения */ "count":<uint>, /* количество сообщений */ "first":{ /* первое сообщение из интервала */ "time":<uint>, /* время */ "lat":<double>, /* широта */ "lon":<double> /* долгота */ }, "last":{ /* последнее сообщение из интервала */ "time":<uint>, /* время */ "lat":<double>, /* широта */ "lon":<double> /* долгота */ } }, "mileage":<double>, /* пробег */ "max_speed":<double> /* максимальная скорость */ }] }, "layerCount":<uint> /* количество слоев, которые объединены в слой отчета */ }
Чтобы получить все доступные типы таблиц нужно выполнить запрос report/get_report_tables.
Флаги таблиц:
Флаг | Описание |
---|---|
0x1 | Группировка: по дням |
0x2 | Ограничение по времени |
0x4 | Группировка: по неделям |
0x8 | Группировка: по месяцам |
0x10 | Итого |
0x20 | Графики: разделять датчики |
0x100 | Детализация: частичная |
0x200 | Графики: отсчет с нуля |
0x800 | Детализация: полная |
0x1000 | Нумерация строк |