Summary
Responses to all search requests include a summary object with different counters regarding the results obtained. It is closely related to the grouping feature.
By default, the summary always shows the total count, the organization’s grouping counter, and the channel grouping counter.
count
(field): number of occurrences found in the whole searchsummaryGroup []
: array of type of summarized specific object structureSpecificObjectParameterDatamodel
: object inside the Parameter of the data modelscount
: number of these specific elements foundlist
: array of each type of summarized elementcount
: number of these specific elements foundname
: value of the parameter of the data model
Here’s how to search devices with a summary without a group clause
This is the request using curl:
curl --request POST \
--data-binary @subscription.json \
--header "X-ApiKey: YOUR_API_KEY_HERE" \
--verbose \
http://[your_opengate_address]/north/v80/search/devices/summary \
-H "Content-type: application/json"
Some grouping examples
Response summary without grouping
{
"summary": {
"count": 6,
"summaryGroup": [
{
"provision.administration.organization": {
"count": 6,
"list": [
{
"count": 6,
"name": "organization1"
}
]
}
},
{
"provision.administration.channel": {
"count": 6,
"list": [
{
"count": 6,
"name": "channel1"
}
]
}
}
]
}
}
This is the request using curl
:
curl --request POST \
--data-binary @subscription.json \
--header "X-ApiKey: YOUR_API_KEY_HERE" \
--verbose \
http://[your_opengate_address]/north/v80/search/devices/summary \
-H "Content-type: application/json"
In the body of the request, you include the filter with the select clause.
Example Filter using group
clause
{
"filter": {
"and": [
{
"like": {
"provision.administration.organization": "battery_organization"
}
}
]
},
"group": {
"parameters": [
{
"name": "provision.device.model"
}
]
}
}
Response summary with group clause
{
"summary": {
"count": 6,
"summaryGroup": [
{
"provision.administration.organization": {
"count": 6,
"list": [
{
"count": 6,
"name": "battery_organization"
}
]
}
},
{
"provision.administration.channel": {
"count": 6,
"list": [
{
"count": 6,
"name": "battery_channel"
}
]
}
},
{
"provision.device.model.name": {
"count": 6,
"list": [
{
"count": 1,
"name": "model_name-7"
},
{
"count": 2,
"name": "model_name-4"
},
{
"count": 1,
"name": "model_name-10"
},
{
"count": 1,
"name": "model_name-5"
},
{
"count": 1,
"name": "model_name-11"
}
]
}
}
]
}
}