Configure reports and notifications
IDM provides a basic reporting service that generates reports on specific sets of data within a resource collection. The reporting service does not intend to replace a comprehensive data analysis platform, such as the Elastic Stack. However, this service can avoid the need for third-party data analysis tools in simple use cases.
The reporting service is accessible with a filtered query on the openidm/report
endpoint.
The query must include an aggregateFields
parameter. This parameter provides a comma-delimited list of name-value pairs of fields that are aggregated to generate the report. The name indicates the field type, and the value indicates the field pointer. The field type can be TIMESTAMP
or VALUE
. A TIMESTAMP
field specifies a field name, a time scale
and, optionally, a utcOffset
in the format +/-HHmm
. A VALUE
field specifies a JSON pointer to any other fields to be aggregated in the report. For example:
TIMESTAMP=/timestamp;scale:min;utfOffset:-0700,VALUE=/response/status
The following example shows the full query syntax required to generate a report on a particular resource collection:
openidm/report/resourceCollection?_queryFilter=queryFilter&aggregateFields=TIMESTAMP=field;scale:min|hour|day|week|month:utcOffset:offset,VALUE=field