<back to all web services

MapDataRequest

The following routes are available for this service:
All Verbs/RestApi/Sitefinity/Analytics/GetMapData
All Verbs/RestApi/GetMapData
import java.math.*
import java.util.*
import net.servicestack.client.*


open class MapDataRequest
{
    var DashboardId:UUID? = null
    var RelatedDashboardId:UUID? = null
    var Metrics:ArrayList<MetricItemDTO> = ArrayList<MetricItemDTO>()
    var Filter:String? = null
    var Dimension:Dimension? = null
    var jsStartDate:String? = null
    var jsEndDate:String? = null
    var SelectedMetric:String? = null
    var Region:String? = null
    var SiteId:UUID? = null
    var StartDate:Date? = null
    var EndDate:Date? = null
}

open class MetricItemDTO
{
    var Name:String? = null
    var DisplayName:String? = null
    var Value:Double? = null
    var Unit:String? = null
    var DenominatorMetricName:String? = null
    var NominatorMetricName:String? = null
    var ShowInSelector:Boolean? = null
}

enum class Dimension
{
    Browser,
    BrowserVersion,
    City,
    Continent,
    VisitCount,
    Country,
    Date,
    Day,
    DaysSinceLastSession,
    FlashVersion,
    Hostname,
    Hour,
    DeviceCategory,
    JavaEnabled,
    Language,
    Latitude,
    Longitude,
    Month,
    NetworkDomain,
    NetworkLocation,
    PageDepth,
    OperatingSystem,
    OperatingSystemVersion,
    Region,
    ScreenColors,
    ScreenResolution,
    SubContinent,
    UserDefinedValue,
    UserType,
    Week,
    Year,
    AdContent,
    AdGroup,
    AdSlot,
    Campaign,
    Keyword,
    Medium,
    ReferralPath,
    Source,
    ExitPagePath,
    LandingPagePath,
    PagePath,
    PageTitle,
    Affiliation,
    DaysToTransaction,
    ProductCategory,
    ProductName,
    ProductSku,
    TransactionId,
    SearchCategory,
    SearchDestinationPage,
    SearchKeyword,
    SearchKeywordRefinement,
    SearchStartPage,
    SearchUsed,
    EventCategory,
    EventAction,
    EventLabel,
}

open class GetDashboardData
{
    var Controls:ArrayList<DashBoardControl> = ArrayList<DashBoardControl>()
    var LayoutTemplateName:String? = null
    var GroupBy:String? = null
    var MetricNames:ArrayList<MetricItemDTO> = ArrayList<MetricItemDTO>()
    var ErrorMessage:String? = null
    var NeedsGrouping:Boolean? = null
    var IsDrillDown:Boolean? = null
    var DateItems:ArrayList<KendoItem> = ArrayList<KendoItem>()
    var NonDateItems:ArrayList<KendoItem> = ArrayList<KendoItem>()
    var TotalsItem:KendoItem? = null
    var MapDataTable:ArrayList<String>? = null
    var IsMapRequest:Boolean? = null
    var SeriesSources:HashMap<String,ArrayList<String>> = HashMap<String,ArrayList<String>>()
    var StatusCode:Int? = null
    var SuppressMultipleSeries:Boolean? = null
}

open class DashBoardControl
{
    var ControlType:String? = null
    var attributes:HashMap<String,String> = HashMap<String,String>()
    var PlaceholderId:String? = null
    var DisplayName:String? = null
    var Series:ArrayList<SingleSerie> = ArrayList<SingleSerie>()
    var DimensionName:String? = null
    var RelatedDimension:ArrayList<String> = ArrayList<String>()
    var SortbyField:String? = null
    var SortAsc:Boolean? = null
}

open class SingleSerie
{
    var MainMetric:MetricItemDTO? = null
    var CategoryFormat:String? = null
    var Batch:Boolean? = null
    var IsCategory:Boolean? = null
    var SeriesName:String? = null
    var SeriesDimensions:ArrayList<DimensionItem> = ArrayList<DimensionItem>()
    var RelatedDimension:String? = null
}

@DataContract
open class DimensionItem
{
    @DataMember
    var Value:String? = null

    @DataMember
    var Name:String? = null
}

open class KendoItem
{
    var category:String? = null
    var values:HashMap<String,Double> = HashMap<String,Double>()
    var group:String? = null
    var tooltip:String? = null
    var Dimensions:HashMap<String,String> = HashMap<String,String>()
}

Kotlin MapDataRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /RestApi/Sitefinity/Analytics/GetMapData HTTP/1.1 
Host: www.asg.com.au 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{Unable to show example output for type 'MapDataRequest' using the custom 'csv' filter}One or more errors occurred.
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Controls":[{"ControlType":"String","attributes":{"String":"String"},"PlaceholderId":"String","DisplayName":"String","Series":[{"MainMetric":{"Name":"String","DisplayName":"String","Value":0,"Unit":"String","DenominatorMetricName":"String","NominatorMetricName":"String","ShowInSelector":false},"CategoryFormat":"String","Batch":false,"IsCategory":false,"SeriesName":"String","SeriesDimensions":[{}],"RelatedDimension":"String"}],"DimensionName":"String","RelatedDimension":["String"],"SortbyField":"String","SortAsc":false}],"LayoutTemplateName":"String","GroupBy":"String","MetricNames":[{"Name":"String","DisplayName":"String","Value":0,"Unit":"String","DenominatorMetricName":"String","NominatorMetricName":"String","ShowInSelector":false}],"ErrorMessage":"String","NeedsGrouping":false,"IsDrillDown":false,"DateItems":[{"category":"String","values":{"String":0},"group":"String","tooltip":"String","Dimensions":{"String":"String"}}],"NonDateItems":[{"category":"String","values":{"String":0},"group":"String","tooltip":"String","Dimensions":{"String":"String"}}],"TotalsItem":{"category":"String","values":{"String":0},"group":"String","tooltip":"String","Dimensions":{"String":"String"}},"MapDataTable":[["String"]],"IsMapRequest":false,"SeriesSources":{"String":["String"]},"StatusCode":0,"SuppressMultipleSeries":false}