DigiOffice API Services Services

<back to all web services

GetAnalyticsReports

Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports ServiceStack.Admin

Namespace Global

    Namespace ServiceStack.Admin

        <DataContract>
        Public Partial Class AnalyticsReports
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long

            <DataMember(Order:=2)>
            Public Overridable Property Created As Date

            <DataMember(Order:=3)>
            Public Overridable Property Version As Decimal

            <DataMember(Order:=4)>
            Public Overridable Property Apis As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=5)>
            Public Overridable Property Users As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=6)>
            Public Overridable Property Tags As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=7)>
            Public Overridable Property Status As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=8)>
            Public Overridable Property Days As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=9)>
            Public Overridable Property ApiKeys As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=10)>
            Public Overridable Property Ips As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=11)>
            Public Overridable Property Browsers As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=12)>
            Public Overridable Property Devices As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=13)>
            Public Overridable Property Bots As Dictionary(Of String, RequestSummary)

            <DataMember(Order:=14)>
            Public Overridable Property Durations As Dictionary(Of String, Long)
        End Class

        <DataContract>
        Public Partial Class GetAnalyticsReports
            Implements IGet
            <DataMember(Order:=1)>
            Public Overridable Property Month As Date?

            <DataMember(Order:=2)>
            Public Overridable Property Filter As String

            <DataMember(Order:=3)>
            Public Overridable Property Value As String

            <DataMember(Order:=4)>
            Public Overridable Property Force As Boolean?
        End Class

        <DataContract>
        Public Partial Class GetAnalyticsReportsResponse
            <DataMember(Order:=1)>
            Public Overridable Property Result As AnalyticsReports

            <DataMember(Order:=2)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class RequestSummary
            <DataMember(Order:=1)>
            Public Overridable Property Name As String

            <DataMember(Order:=2)>
            Public Overridable Property TotalRequests As Long

            <DataMember(Order:=3)>
            Public Overridable Property TotalRequestLength As Long

            <DataMember(Order:=4)>
            Public Overridable Property MinRequestLength As Long

            <DataMember(Order:=5)>
            Public Overridable Property MaxRequestLength As Long

            <DataMember(Order:=6)>
            Public Overridable Property TotalDuration As Double

            <DataMember(Order:=7)>
            Public Overridable Property MinDuration As Double

            <DataMember(Order:=8)>
            Public Overridable Property MaxDuration As Double

            <DataMember(Order:=9)>
            Public Overridable Property Status As Dictionary(Of Integer, Long)

            <DataMember(Order:=10)>
            Public Overridable Property Durations As Dictionary(Of String, Long)

            <DataMember(Order:=11)>
            Public Overridable Property Apis As Dictionary(Of String, Long)

            <DataMember(Order:=12)>
            Public Overridable Property Users As Dictionary(Of String, Long)

            <DataMember(Order:=13)>
            Public Overridable Property Ips As Dictionary(Of String, Long)

            <DataMember(Order:=14)>
            Public Overridable Property ApiKeys As Dictionary(Of String, Long)
        End Class
    End Namespace
End Namespace

VB.NET 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
		}
	}
}