All Verbs | /RestApi/Sitefinity/Analytics/GetMapData | ||
---|---|---|---|
All Verbs | /RestApi/GetMapData |
import Foundation
import ServiceStack
public class MapDataRequest : Codable
{
public var dashboardId:String
public var relatedDashboardId:String
public var metrics:[MetricItemDTO] = []
public var filter:String
public var dimension:Dimension
public var jsStartDate:String
public var jsEndDate:String
public var selectedMetric:String
public var region:String
public var siteId:String
public var startDate:Date
public var endDate:Date
required public init(){}
}
public class MetricItemDTO : Codable
{
public var name:String
public var displayName:String
public var value:Double
public var unit:String
public var denominatorMetricName:String
public var nominatorMetricName:String
public var showInSelector:Bool
required public init(){}
}
public enum Dimension : String, Codable
{
case Browser
case BrowserVersion
case City
case Continent
case VisitCount
case Country
case Date
case Day
case DaysSinceLastSession
case FlashVersion
case Hostname
case Hour
case DeviceCategory
case JavaEnabled
case Language
case Latitude
case Longitude
case Month
case NetworkDomain
case NetworkLocation
case PageDepth
case OperatingSystem
case OperatingSystemVersion
case Region
case ScreenColors
case ScreenResolution
case SubContinent
case UserDefinedValue
case UserType
case Week
case Year
case AdContent
case AdGroup
case AdSlot
case Campaign
case Keyword
case Medium
case ReferralPath
case Source
case ExitPagePath
case LandingPagePath
case PagePath
case PageTitle
case Affiliation
case DaysToTransaction
case ProductCategory
case ProductName
case ProductSku
case TransactionId
case SearchCategory
case SearchDestinationPage
case SearchKeyword
case SearchKeywordRefinement
case SearchStartPage
case SearchUsed
case EventCategory
case EventAction
case EventLabel
}
public class GetDashboardData : Codable
{
public var controls:[DashBoardControl] = []
public var layoutTemplateName:String
public var groupBy:String
public var metricNames:[MetricItemDTO] = []
public var errorMessage:String
public var needsGrouping:Bool
public var isDrillDown:Bool
public var dateItems:[KendoItem] = []
public var nonDateItems:[KendoItem] = []
public var totalsItem:KendoItem
public var mapDataTable:[[String]] = []
public var isMapRequest:Bool
public var seriesSources:[String:[String]] = [:]
public var statusCode:Int
public var suppressMultipleSeries:Bool
required public init(){}
}
public class DashBoardControl : Codable
{
public var controlType:String
public var attributes:[String:String] = [:]
public var placeholderId:String
public var displayName:String
public var series:[SingleSerie] = []
public var dimensionName:String
public var relatedDimension:[String] = []
public var sortbyField:String
public var sortAsc:Bool
required public init(){}
}
public class SingleSerie : Codable
{
public var mainMetric:MetricItemDTO
public var categoryFormat:String
public var batch:Bool
public var isCategory:Bool
public var seriesName:String
public var seriesDimensions:[DimensionItem] = []
public var relatedDimension:String
required public init(){}
}
// @DataContract
public class DimensionItem : Codable
{
// @DataMember
public var value:String
// @DataMember
public var name:String
required public init(){}
}
public class KendoItem : Codable
{
public var category:String
public var values:[String:Double] = [:]
public var group:String
public var tooltip:String
public var dimensions:[String:String] = [:]
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=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}