DataFlex / Cognite API v1 / Aggregate events
Back to Collection Items
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoHttp
Boolean iSuccess
Variant vJson
Handle hoJson
Variant vResp
Handle hoResp
String sTemp1
Integer iTemp1
Boolean bTemp1
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "fields": [
// "subtype"
// ],
// "aggregate": "uniqueValues",
// "filter": {
// "startTime": {
// "max": 80468070,
// "min": 36316784
// },
// "endTime": {
// "max": 41454407,
// "min": 22256402
// },
// "activeAtTime": {
// "max": 99761365,
// "min": 19522733
// },
// "metadata": {},
// "assetIds": [
// 7366433780129810,
// 4231159671616230
// ],
// "assetExternalIds": [
// "laboris amet ex deserunt et",
// "Lorem"
// ],
// "rootAssetIds": [
// {
// "id": 5301845202166120
// },
// {
// "externalId": "eiusmod exercitation"
// }
// ],
// "assetSubtreeIds": [
// {
// "id": 532532664250766
// },
// {
// "externalId": "minim consequat"
// }
// ],
// "dataSetIds": [
// {
// "externalId": "m"
// },
// {
// "id": 7462419378685606
// }
// ],
// "source": "proident",
// "type": "incididunt anim reprehenderi",
// "subtype": "Lo",
// "createdTime": {
// "max": 52541729,
// "min": 71476601
// },
// "lastUpdatedTime": {
// "max": 55306689,
// "min": 35839070
// },
// "externalIdPrefix": "ad esse Ut consequat ut"
// }
// }
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get ComUpdateString Of hoJson "fields[0]" "subtype" To iSuccess
Get ComUpdateString Of hoJson "aggregate" "uniqueValues" To iSuccess
Get ComUpdateInt Of hoJson "filter.startTime.max" 80468070 To iSuccess
Get ComUpdateInt Of hoJson "filter.startTime.min" 36316784 To iSuccess
Get ComUpdateInt Of hoJson "filter.endTime.max" 41454407 To iSuccess
Get ComUpdateInt Of hoJson "filter.endTime.min" 22256402 To iSuccess
Get ComUpdateInt Of hoJson "filter.activeAtTime.max" 99761365 To iSuccess
Get ComUpdateInt Of hoJson "filter.activeAtTime.min" 19522733 To iSuccess
Get ComUpdateNewObject Of hoJson "filter.metadata" To iSuccess
Get ComUpdateInt Of hoJson "filter.assetIds[0]" 7366433780129810 To iSuccess
Get ComUpdateInt Of hoJson "filter.assetIds[1]" 4231159671616230 To iSuccess
Get ComUpdateString Of hoJson "filter.assetExternalIds[0]" "laboris amet ex deserunt et" To iSuccess
Get ComUpdateString Of hoJson "filter.assetExternalIds[1]" "Lorem" To iSuccess
Get ComUpdateInt Of hoJson "filter.rootAssetIds[0].id" 123 To iSuccess
Get ComUpdateString Of hoJson "filter.rootAssetIds[1].externalId" "eiusmod exercitation" To iSuccess
Get ComUpdateInt Of hoJson "filter.assetSubtreeIds[0].id" 123 To iSuccess
Get ComUpdateString Of hoJson "filter.assetSubtreeIds[1].externalId" "minim consequat" To iSuccess
Get ComUpdateString Of hoJson "filter.dataSetIds[0].externalId" "m" To iSuccess
Get ComUpdateInt Of hoJson "filter.dataSetIds[1].id" 123 To iSuccess
Get ComUpdateString Of hoJson "filter.source" "proident" To iSuccess
Get ComUpdateString Of hoJson "filter.type" "incididunt anim reprehenderi" To iSuccess
Get ComUpdateString Of hoJson "filter.subtype" "Lo" To iSuccess
Get ComUpdateInt Of hoJson "filter.createdTime.max" 52541729 To iSuccess
Get ComUpdateInt Of hoJson "filter.createdTime.min" 71476601 To iSuccess
Get ComUpdateInt Of hoJson "filter.lastUpdatedTime.max" 55306689 To iSuccess
Get ComUpdateInt Of hoJson "filter.lastUpdatedTime.min" 35839070 To iSuccess
Get ComUpdateString Of hoJson "filter.externalIdPrefix" "ad esse Ut consequat ut" To iSuccess
Send ComSetRequestHeader To hoHttp "content-type" "application/json"
Send ComSetRequestHeader To hoHttp "api-key" "{{api-key}}"
Get pvComObject of hoJson to vJson
Get ComPostJson3 Of hoHttp "https://domain.com/api/v1/projects/{{project}}/events/aggregate" "application/json" vJson To vResp
If (IsComObject(vResp)) Begin
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
Set pvComObject Of hoResp To vResp
End
Get ComLastMethodSuccess Of hoHttp To bTemp1
If (bTemp1 = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComStatusCode Of hoResp To iTemp1
Showln iTemp1
Get ComBodyStr Of hoResp To sTemp1
Showln sTemp1
Send Destroy of hoResp
End_Procedure
Curl Command
curl -X POST
-H "api-key: {{api-key}}"
-H "content-type: application/json"
-d '{
"fields": [
"subtype"
],
"aggregate": "uniqueValues",
"filter": {
"startTime": {
"max": 80468070,
"min": 36316784
},
"endTime": {
"max": 41454407,
"min": 22256402
},
"activeAtTime": {
"max": 99761365,
"min": 19522733
},
"metadata": {},
"assetIds": [
7366433780129810,
4231159671616230
],
"assetExternalIds": [
"laboris amet ex deserunt et",
"Lorem"
],
"rootAssetIds": [
{
"id": 5301845202166120
},
{
"externalId": "eiusmod exercitation"
}
],
"assetSubtreeIds": [
{
"id": 532532664250766
},
{
"externalId": "minim consequat"
}
],
"dataSetIds": [
{
"externalId": "m"
},
{
"id": 7462419378685606
}
],
"source": "proident",
"type": "incididunt anim reprehenderi",
"subtype": "Lo",
"createdTime": {
"max": 52541729,
"min": 71476601
},
"lastUpdatedTime": {
"max": 55306689,
"min": 35839070
},
"externalIdPrefix": "ad esse Ut consequat ut"
}
}'
https://domain.com/api/v1/projects/{{project}}/events/aggregate
Postman Collection Item JSON
{
"id": "aggregateEvents",
"name": "Aggregate events",
"request": {
"url": {
"host": "{{baseUrl}}",
"path": [
"api",
"v1",
"projects",
"{{project}}",
"events",
"aggregate"
],
"query": [
],
"variable": [
]
},
"method": "POST",
"header": [
{
"key": "api-key",
"value": "{{api-key}}",
"description": "An admin can create API keys in the Cognite console."
},
{
"key": "content-type",
"value": "application/json"
}
],
"description": "The aggregation API allows you to compute aggregated results on events \nlike getting the count of all events in a project or checking what are all the \ndifferent types and subtypes of events in your project, along with \nthe count of events in each of those aggregations. By specifying an additional \nfilter, you can also aggregate only among events matching the specified filter.\n\nThe default behavior, when you do not specify \nthe `aggregate` field in the request body, is to return the count \nof events.\n\nSetting `aggregate` to `uniqueValues` will return all unique values (up to a \nmaximum of 1000) and the count of each in the field specified in \n`fields: []`. Note that, currently, you can only request for unique \nvalues on a single field. Also, in the case of text fields, the values are \naggregated in a case-insensitive manner. For example:\n\n```\n{\n \"aggregate\": \"uniqueValues\",\n \"fields\": [ \"type\" ]\n}\n```\n\nwill return all unique 'types' in the events in your project.\n\nSimilarly,\n\n```\n{\n \"aggregate\": \"uniqueValues\",\n \"fields\": [ \"dataSetId\" ],\n \"filter\": {\n \"subType\": \"subtype_1\"\n }\n}\n```\nwill return all unique dataSetIds in events of subtype 'subtype_1'\n",
"body": {
"mode": "raw",
"raw": "{\n \"fields\": [\n \"subtype\"\n ],\n \"aggregate\": \"uniqueValues\",\n \"filter\": {\n \"startTime\": {\n \"max\": 80468070,\n \"min\": 36316784\n },\n \"endTime\": {\n \"max\": 41454407,\n \"min\": 22256402\n },\n \"activeAtTime\": {\n \"max\": 99761365,\n \"min\": 19522733\n },\n \"metadata\": {},\n \"assetIds\": [\n 7366433780129810,\n 4231159671616230\n ],\n \"assetExternalIds\": [\n \"laboris amet ex deserunt et\",\n \"Lorem\"\n ],\n \"rootAssetIds\": [\n {\n \"id\": 5301845202166120\n },\n {\n \"externalId\": \"eiusmod exercitation\"\n }\n ],\n \"assetSubtreeIds\": [\n {\n \"id\": 532532664250766\n },\n {\n \"externalId\": \"minim consequat\"\n }\n ],\n \"dataSetIds\": [\n {\n \"externalId\": \"m\"\n },\n {\n \"id\": 7462419378685606\n }\n ],\n \"source\": \"proident\",\n \"type\": \"incididunt anim reprehenderi\",\n \"subtype\": \"Lo\",\n \"createdTime\": {\n \"max\": 52541729,\n \"min\": 71476601\n },\n \"lastUpdatedTime\": {\n \"max\": 55306689,\n \"min\": 35839070\n },\n \"externalIdPrefix\": \"ad esse Ut consequat ut\"\n }\n}"
}
}
}