How to use getAvailableObjects
In order to help you build API queries without using Frontend Export, you can use the following methods to retrieve a list of available objects.
Prerequisites:
Before you can call these lists, you should start and authenticate your API session as normal. For example, with Postman you should follow steps one to four in this How-To. Then, instead of adding in a JSON query, simply add one of the requests below. Please note the section that reads (?language=de), if you would like to receive the results in English, change de to en. If this is left off it will default to English.
Query Objects
GET intelligence.eu.mapp.com/analytics/api/query-objects(?language=de)
Basic Properties
Name | Definition |
---|---|
name | API name (must be used in your requests |
title | the title as seen on site |
context | the default scope of the object |
Example Result
{
"name": "product_parameter_number_675_sum",
"dataType": "NUMBER",
"title": "Discount costs",
"elementType": "CUSTOM_PARAMETER",
"metricDisplayType": "NORMAL"
"context": "ACTION"
},
Dynamic Time Filters
GET intelligence.eu.mapp.com/analytics/api/dynamic-timefilters(?language=de)
Basic Properties
Name | Definition |
---|---|
name | API name (must be used in your requests) |
title | the title as seen on site |
dynamicFilter | contains the complete dynamic filter configuration inside { } |
Example Result
{
"title": "Today, 14 days ago",
"name": "before_14_days",
"dynamicFilter": {
"name": "time_dynamic",
"connector": "AND",
"filterPredicate": "LIKE",
"value1": "before_14_days",
"value2": "",
"context": "NONE"
}
},
Segments
GET intelligence.eu.mapp.com/analytics/api/segments
Basic Properties
Name | Definition |
---|---|
id | Segment ID (must be used in your requests) |
title | the title as seen on site |
description | the description as visible in the user interface |
Example Result
{
"id": 1108,
"title": "Predicted conversion probability - Medium",
"description": "Percentile based, this includes the top 11% - 30% of all users ranked by conversion probability"
},
Example Use Case
You want to replace a static time range with a dynamic one.
Dynamic example:
{
"title": "Today, 14 days ago",
"name": "before_14_days",
"dynamicFilter": {
"name": "time_dynamic",
"connector": "AND",
"filterPredicate": "LIKE",
"value1": "before_14_days",
"value2": "",
"context": "NONE"
}
},
Static example:
"predefinedContainer": {
"filters": [
{
"name": "time_range",
"filterPredicate": "BETWEEN",
"connector": "AND",
"caseSensitive": false,
"context": "NONE",
"intern": false,
"value1": "2021-11-12 00:00:00",
"value2": "2021-12-10 00:00:00"
}
],
"containers": []
}
in order to use a dynamic time range instead, simply replace
{
"name": "time_range",
"filterPredicate": "BETWEEN",
"connector": "AND",
"caseSensitive": false,
"context": "NONE",
"intern": false,
"value1": "2021-11-12 00:00:00",
"value2": "2021-12-10 00:00:00"
}
with
{
"name": "time_dynamic",
"connector": "AND",
"filterPredicate": "LIKE",
"value1": "before_14_days",
"value2": "",
"context": "NONE"
}
Trouble Shooting
The information you gather from this call can be used to build your own custom requests. In case of an error or if something doesn't look quite right, our first suggestion is to check the same configuration onsite. By rebuilding your analysis in the UI, then downloading the JSON file you can see where your request could be improved.
Related
How to perform a basic Analytics API call with Postman