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

NameDefinition
nameAPI name (must be used in your requests
titlethe title as seen on site
contextthe 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"                       
    },
CODE

Dynamic Time Filters

GET intelligence.eu.mapp.com/analytics/api/dynamic-timefilters(?language=de)

Basic Properties

NameDefinition
nameAPI name (must be used in your requests)
titlethe title as seen on site
dynamicFiltercontains 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"
    }
  },
CODE

Segments

GET intelligence.eu.mapp.com/analytics/api/segments

Basic Properties

NameDefinition
idSegment ID (must be used in your requests)
titlethe title as seen on site
descriptionthe 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" 
  },
CODE

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"
    }
},
CODE

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": []
        }
CODE

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. 

API Technical Documentation

How to perform a basic Analytics API call with Postman