DigiOffice API Services Services

<back to all web services

GetAnalyticsInfo

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

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

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

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

    // @DataMember(Order=4)
    String? Device;

    // @DataMember(Order=5)
    String? Bot;

    // @DataMember(Order=6)
    String? Op;

    // @DataMember(Order=7)
    String? UserId;

    // @DataMember(Order=8)
    String? UserName;

    // @DataMember(Order=9)
    String? ApiKey;

    // @DataMember(Order=10)
    String? Ip;

    AnalyticsLogInfo({this.Id,this.DateTime,this.Browser,this.Device,this.Bot,this.Op,this.UserId,this.UserName,this.ApiKey,this.Ip});
    AnalyticsLogInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        DateTime = JsonConverters.fromJson(json['DateTime'],'DateTime',context!);
        Browser = json['Browser'];
        Device = json['Device'];
        Bot = json['Bot'];
        Op = json['Op'];
        UserId = json['UserId'];
        UserName = json['UserName'];
        ApiKey = json['ApiKey'];
        Ip = json['Ip'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'DateTime': JsonConverters.toJson(DateTime,'DateTime',context!),
        'Browser': Browser,
        'Device': Device,
        'Bot': Bot,
        'Op': Op,
        'UserId': UserId,
        'UserName': UserName,
        'ApiKey': ApiKey,
        'Ip': Ip
    };

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

// @DataContract
class GetAnalyticsInfoResponse implements IConvertible
{
    // @DataMember(Order=1)
    List<String>? Months;

    // @DataMember(Order=2)
    AnalyticsLogInfo? Result;

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

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

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

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

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

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

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

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

    // @DataMember(Order=4)
    String? ApiKey;

    // @DataMember(Order=5)
    String? UserId;

    // @DataMember(Order=6)
    String? Ip;

    GetAnalyticsInfo({this.Month,this.Type,this.Op,this.ApiKey,this.UserId,this.Ip});
    GetAnalyticsInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Month = JsonConverters.fromJson(json['Month'],'DateTime',context!);
        Type = json['Type'];
        Op = json['Op'];
        ApiKey = json['ApiKey'];
        UserId = json['UserId'];
        Ip = json['Ip'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Month': JsonConverters.toJson(Month,'DateTime',context!),
        'Type': Type,
        'Op': Op,
        'ApiKey': ApiKey,
        'UserId': UserId,
        'Ip': Ip
    };

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

TypeContext _ctx = TypeContext(library: 'test_do_services.klokgroep.nl', types: <String, TypeInfo> {
    'AnalyticsLogInfo': TypeInfo(TypeOf.Class, create:() => AnalyticsLogInfo()),
    'GetAnalyticsInfoResponse': TypeInfo(TypeOf.Class, create:() => GetAnalyticsInfoResponse()),
    'GetAnalyticsInfo': TypeInfo(TypeOf.Class, create:() => GetAnalyticsInfo()),
});

Dart GetAnalyticsInfo 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 /csv/reply/GetAnalyticsInfo HTTP/1.1 
Host: test-do-services.klokgroep.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Month":"0001-01-01T00:00:00.0000000","Type":"String","Op":"String","ApiKey":"String","UserId":"String","Ip":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Months":["String"],"Result":{"Id":0,"DateTime":"0001-01-01T00:00:00.0000000","Browser":"String","Device":"String","Bot":"String","Op":"String","UserId":"String","UserName":"String","ApiKey":"String","Ip":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}