DigiOffice API Services Services

<back to all web services

GetAnalyticsReports

import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @DataContract
class RequestSummary implements IConvertible
{
    // @DataMember(Order=1)
    String? Name;

    // @DataMember(Order=2)
    int? TotalRequests;

    // @DataMember(Order=3)
    int? TotalRequestLength;

    // @DataMember(Order=4)
    int? MinRequestLength;

    // @DataMember(Order=5)
    int? MaxRequestLength;

    // @DataMember(Order=6)
    double? TotalDuration;

    // @DataMember(Order=7)
    double? MinDuration;

    // @DataMember(Order=8)
    double? MaxDuration;

    // @DataMember(Order=9)
    Map<int,int?>? Status;

    // @DataMember(Order=10)
    Map<String,int?>? Durations;

    // @DataMember(Order=11)
    Map<String,int?>? Apis;

    // @DataMember(Order=12)
    Map<String,int?>? Users;

    // @DataMember(Order=13)
    Map<String,int?>? Ips;

    // @DataMember(Order=14)
    Map<String,int?>? ApiKeys;

    RequestSummary({this.Name,this.TotalRequests,this.TotalRequestLength,this.MinRequestLength,this.MaxRequestLength,this.TotalDuration,this.MinDuration,this.MaxDuration,this.Status,this.Durations,this.Apis,this.Users,this.Ips,this.ApiKeys});
    RequestSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        TotalRequests = json['TotalRequests'];
        TotalRequestLength = json['TotalRequestLength'];
        MinRequestLength = json['MinRequestLength'];
        MaxRequestLength = json['MaxRequestLength'];
        TotalDuration = JsonConverters.toDouble(json['TotalDuration']);
        MinDuration = JsonConverters.toDouble(json['MinDuration']);
        MaxDuration = JsonConverters.toDouble(json['MaxDuration']);
        Status = JsonConverters.fromJson(json['Status'],'Map<int,int?>',context!);
        Durations = JsonConverters.fromJson(json['Durations'],'Map<String,int?>',context!);
        Apis = JsonConverters.fromJson(json['Apis'],'Map<String,int?>',context!);
        Users = JsonConverters.fromJson(json['Users'],'Map<String,int?>',context!);
        Ips = JsonConverters.fromJson(json['Ips'],'Map<String,int?>',context!);
        ApiKeys = JsonConverters.fromJson(json['ApiKeys'],'Map<String,int?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Name': Name,
        'TotalRequests': TotalRequests,
        'TotalRequestLength': TotalRequestLength,
        'MinRequestLength': MinRequestLength,
        'MaxRequestLength': MaxRequestLength,
        'TotalDuration': TotalDuration,
        'MinDuration': MinDuration,
        'MaxDuration': MaxDuration,
        'Status': JsonConverters.toJson(Status,'Map<int,int?>',context!),
        'Durations': JsonConverters.toJson(Durations,'Map<String,int?>',context!),
        'Apis': JsonConverters.toJson(Apis,'Map<String,int?>',context!),
        'Users': JsonConverters.toJson(Users,'Map<String,int?>',context!),
        'Ips': JsonConverters.toJson(Ips,'Map<String,int?>',context!),
        'ApiKeys': JsonConverters.toJson(ApiKeys,'Map<String,int?>',context!)
    };

    getTypeName() => "RequestSummary";
    TypeContext? context = _ctx;
}

// @DataContract
class AnalyticsReports implements IConvertible
{
    // @DataMember(Order=1)
    int? Id;

    // @DataMember(Order=2)
    DateTime? Created;

    // @DataMember(Order=3)
    double? Version;

    // @DataMember(Order=4)
    Map<String,RequestSummary?>? Apis;

    // @DataMember(Order=5)
    Map<String,RequestSummary?>? Users;

    // @DataMember(Order=6)
    Map<String,RequestSummary?>? Tags;

    // @DataMember(Order=7)
    Map<String,RequestSummary?>? Status;

    // @DataMember(Order=8)
    Map<String,RequestSummary?>? Days;

    // @DataMember(Order=9)
    Map<String,RequestSummary?>? ApiKeys;

    // @DataMember(Order=10)
    Map<String,RequestSummary?>? Ips;

    // @DataMember(Order=11)
    Map<String,RequestSummary?>? Browsers;

    // @DataMember(Order=12)
    Map<String,RequestSummary?>? Devices;

    // @DataMember(Order=13)
    Map<String,RequestSummary?>? Bots;

    // @DataMember(Order=14)
    Map<String,int?>? Durations;

    AnalyticsReports({this.Id,this.Created,this.Version,this.Apis,this.Users,this.Tags,this.Status,this.Days,this.ApiKeys,this.Ips,this.Browsers,this.Devices,this.Bots,this.Durations});
    AnalyticsReports.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
        Version = JsonConverters.toDouble(json['Version']);
        Apis = JsonConverters.fromJson(json['Apis'],'Map<String,RequestSummary?>',context!);
        Users = JsonConverters.fromJson(json['Users'],'Map<String,RequestSummary?>',context!);
        Tags = JsonConverters.fromJson(json['Tags'],'Map<String,RequestSummary?>',context!);
        Status = JsonConverters.fromJson(json['Status'],'Map<String,RequestSummary?>',context!);
        Days = JsonConverters.fromJson(json['Days'],'Map<String,RequestSummary?>',context!);
        ApiKeys = JsonConverters.fromJson(json['ApiKeys'],'Map<String,RequestSummary?>',context!);
        Ips = JsonConverters.fromJson(json['Ips'],'Map<String,RequestSummary?>',context!);
        Browsers = JsonConverters.fromJson(json['Browsers'],'Map<String,RequestSummary?>',context!);
        Devices = JsonConverters.fromJson(json['Devices'],'Map<String,RequestSummary?>',context!);
        Bots = JsonConverters.fromJson(json['Bots'],'Map<String,RequestSummary?>',context!);
        Durations = JsonConverters.fromJson(json['Durations'],'Map<String,int?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Created': JsonConverters.toJson(Created,'DateTime',context!),
        'Version': Version,
        'Apis': JsonConverters.toJson(Apis,'Map<String,RequestSummary?>',context!),
        'Users': JsonConverters.toJson(Users,'Map<String,RequestSummary?>',context!),
        'Tags': JsonConverters.toJson(Tags,'Map<String,RequestSummary?>',context!),
        'Status': JsonConverters.toJson(Status,'Map<String,RequestSummary?>',context!),
        'Days': JsonConverters.toJson(Days,'Map<String,RequestSummary?>',context!),
        'ApiKeys': JsonConverters.toJson(ApiKeys,'Map<String,RequestSummary?>',context!),
        'Ips': JsonConverters.toJson(Ips,'Map<String,RequestSummary?>',context!),
        'Browsers': JsonConverters.toJson(Browsers,'Map<String,RequestSummary?>',context!),
        'Devices': JsonConverters.toJson(Devices,'Map<String,RequestSummary?>',context!),
        'Bots': JsonConverters.toJson(Bots,'Map<String,RequestSummary?>',context!),
        'Durations': JsonConverters.toJson(Durations,'Map<String,int?>',context!)
    };

    getTypeName() => "AnalyticsReports";
    TypeContext? context = _ctx;
}

// @DataContract
class GetAnalyticsReportsResponse implements IConvertible
{
    // @DataMember(Order=1)
    AnalyticsReports? Result;

    // @DataMember(Order=2)
    ResponseStatus? ResponseStatus;

    GetAnalyticsReportsResponse({this.Result,this.ResponseStatus});
    GetAnalyticsReportsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Result = JsonConverters.fromJson(json['Result'],'AnalyticsReports',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Result': JsonConverters.toJson(Result,'AnalyticsReports',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetAnalyticsReportsResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class GetAnalyticsReports implements IGet, IConvertible
{
    // @DataMember(Order=1)
    DateTime? Month;

    // @DataMember(Order=2)
    String? Filter;

    // @DataMember(Order=3)
    String? Value;

    // @DataMember(Order=4)
    bool? Force;

    GetAnalyticsReports({this.Month,this.Filter,this.Value,this.Force});
    GetAnalyticsReports.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Month = JsonConverters.fromJson(json['Month'],'DateTime',context!);
        Filter = json['Filter'];
        Value = json['Value'];
        Force = json['Force'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Month': JsonConverters.toJson(Month,'DateTime',context!),
        'Filter': Filter,
        'Value': Value,
        'Force': Force
    };

    getTypeName() => "GetAnalyticsReports";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'test_do_services.klokgroep.nl', types: <String, TypeInfo> {
    'RequestSummary': TypeInfo(TypeOf.Class, create:() => RequestSummary()),
    'Map<int,int?>': TypeInfo(TypeOf.Class, create:() => Map<int,int?>()),
    'Map<String,int?>': TypeInfo(TypeOf.Class, create:() => Map<String,int?>()),
    'AnalyticsReports': TypeInfo(TypeOf.Class, create:() => AnalyticsReports()),
    'Map<String,RequestSummary?>': TypeInfo(TypeOf.Class, create:() => Map<String,RequestSummary?>()),
    'GetAnalyticsReportsResponse': TypeInfo(TypeOf.Class, create:() => GetAnalyticsReportsResponse()),
    'GetAnalyticsReports': TypeInfo(TypeOf.Class, create:() => GetAnalyticsReports()),
});

Dart GetAnalyticsReports DTOs

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

HTTP + JSV

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

POST /jsv/reply/GetAnalyticsReports HTTP/1.1 
Host: test-do-services.klokgroep.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Month: 0001-01-01,
	Filter: String,
	Value: String,
	Force: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Result: 
	{
		Id: 0,
		Created: 0001-01-01,
		Version: 0,
		Apis: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Users: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Tags: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Status: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Days: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		ApiKeys: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Ips: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Browsers: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Devices: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Bots: 
		{
			String: 
			{
				Name: String,
				TotalRequests: 0,
				TotalRequestLength: 0,
				MinRequestLength: 0,
				MaxRequestLength: 0,
				TotalDuration: 0,
				MinDuration: 0,
				MaxDuration: 0,
				Status: 
				{
					0: 0
				},
				Durations: 
				{
					String: 0
				},
				Apis: 
				{
					String: 0
				},
				Users: 
				{
					String: 0
				},
				Ips: 
				{
					String: 0
				},
				ApiKeys: 
				{
					String: 0
				}
			}
		},
		Durations: 
		{
			String: 0
		}
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}