import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
@DataContract
open class GetAnalyticsReports : IGet
{
@DataMember(Order=1)
open var month:Date? = null
@DataMember(Order=2)
open var filter:String? = null
@DataMember(Order=3)
open var value:String? = null
@DataMember(Order=4)
open var force:Boolean? = null
}
@DataContract
open class GetAnalyticsReportsResponse
{
@DataMember(Order=1)
open var result:AnalyticsReports? = null
@DataMember(Order=2)
open var responseStatus:ResponseStatus? = null
}
@DataContract
open class AnalyticsReports
{
@DataMember(Order=1)
open var id:Long? = null
@DataMember(Order=2)
open var created:Date? = null
@DataMember(Order=3)
open var version:BigDecimal? = null
@DataMember(Order=4)
open var apis:HashMap<String,RequestSummary>? = null
@DataMember(Order=5)
open var users:HashMap<String,RequestSummary>? = null
@DataMember(Order=6)
open var tags:HashMap<String,RequestSummary>? = null
@DataMember(Order=7)
open var status:HashMap<String,RequestSummary>? = null
@DataMember(Order=8)
open var days:HashMap<String,RequestSummary>? = null
@DataMember(Order=9)
open var apiKeys:HashMap<String,RequestSummary>? = null
@DataMember(Order=10)
open var ips:HashMap<String,RequestSummary>? = null
@DataMember(Order=11)
open var browsers:HashMap<String,RequestSummary>? = null
@DataMember(Order=12)
open var devices:HashMap<String,RequestSummary>? = null
@DataMember(Order=13)
open var bots:HashMap<String,RequestSummary>? = null
@DataMember(Order=14)
open var durations:HashMap<String,Long>? = null
}
@DataContract
open class RequestSummary
{
@DataMember(Order=1)
open var name:String? = null
@DataMember(Order=2)
open var totalRequests:Long? = null
@DataMember(Order=3)
open var totalRequestLength:Long? = null
@DataMember(Order=4)
open var minRequestLength:Long? = null
@DataMember(Order=5)
open var maxRequestLength:Long? = null
@DataMember(Order=6)
open var totalDuration:Double? = null
@DataMember(Order=7)
open var minDuration:Double? = null
@DataMember(Order=8)
open var maxDuration:Double? = null
@DataMember(Order=9)
open var status:HashMap<Int,Long>? = null
@DataMember(Order=10)
open var durations:HashMap<String,Long>? = null
@DataMember(Order=11)
open var apis:HashMap<String,Long>? = null
@DataMember(Order=12)
open var users:HashMap<String,Long>? = null
@DataMember(Order=13)
open var ips:HashMap<String,Long>? = null
@DataMember(Order=14)
open var apiKeys:HashMap<String,Long>? = null
}
Kotlin GetAnalyticsReports DTOs
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 /csv/reply/GetAnalyticsReports HTTP/1.1
Host: blazordiffusion.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"month":"0001-01-01T00:00:00","filter":"String","value":"String","force":false}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"result":{"id":0,"created":"0001-01-01T00:00:00","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"}}}