import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@DataContract
public static class GetAnalyticsReports implements IGet
{
@DataMember(Order=1)
public Date Month = null;
@DataMember(Order=2)
public String Filter = null;
@DataMember(Order=3)
public String Value = null;
@DataMember(Order=4)
public Boolean Force = null;
public Date getMonth() { return Month; }
public GetAnalyticsReports setMonth(Date value) { this.Month = value; return this; }
public String getFilter() { return Filter; }
public GetAnalyticsReports setFilter(String value) { this.Filter = value; return this; }
public String getValue() { return Value; }
public GetAnalyticsReports setValue(String value) { this.Value = value; return this; }
public Boolean isForce() { return Force; }
public GetAnalyticsReports setForce(Boolean value) { this.Force = value; return this; }
}
@DataContract
public static class GetAnalyticsReportsResponse
{
@DataMember(Order=1)
public AnalyticsReports Result = null;
@DataMember(Order=2)
public ResponseStatus ResponseStatus = null;
public AnalyticsReports getResult() { return Result; }
public GetAnalyticsReportsResponse setResult(AnalyticsReports value) { this.Result = value; return this; }
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public GetAnalyticsReportsResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
}
@DataContract
public static class AnalyticsReports
{
@DataMember(Order=1)
public Long Id = null;
@DataMember(Order=2)
public Date Created = null;
@DataMember(Order=3)
public BigDecimal Version = null;
@DataMember(Order=4)
public HashMap<String,RequestSummary> Apis = null;
@DataMember(Order=5)
public HashMap<String,RequestSummary> Users = null;
@DataMember(Order=6)
public HashMap<String,RequestSummary> Tags = null;
@DataMember(Order=7)
public HashMap<String,RequestSummary> Status = null;
@DataMember(Order=8)
public HashMap<String,RequestSummary> Days = null;
@DataMember(Order=9)
public HashMap<String,RequestSummary> ApiKeys = null;
@DataMember(Order=10)
public HashMap<String,RequestSummary> Ips = null;
@DataMember(Order=11)
public HashMap<String,RequestSummary> Browsers = null;
@DataMember(Order=12)
public HashMap<String,RequestSummary> Devices = null;
@DataMember(Order=13)
public HashMap<String,RequestSummary> Bots = null;
@DataMember(Order=14)
public HashMap<String,Long> Durations = null;
public Long getId() { return Id; }
public AnalyticsReports setId(Long value) { this.Id = value; return this; }
public Date getCreated() { return Created; }
public AnalyticsReports setCreated(Date value) { this.Created = value; return this; }
public BigDecimal getVersion() { return Version; }
public AnalyticsReports setVersion(BigDecimal value) { this.Version = value; return this; }
public HashMap<String,RequestSummary> getApis() { return Apis; }
public AnalyticsReports setApis(HashMap<String,RequestSummary> value) { this.Apis = value; return this; }
public HashMap<String,RequestSummary> getUsers() { return Users; }
public AnalyticsReports setUsers(HashMap<String,RequestSummary> value) { this.Users = value; return this; }
public HashMap<String,RequestSummary> getTags() { return Tags; }
public AnalyticsReports setTags(HashMap<String,RequestSummary> value) { this.Tags = value; return this; }
public HashMap<String,RequestSummary> getStatus() { return Status; }
public AnalyticsReports setStatus(HashMap<String,RequestSummary> value) { this.Status = value; return this; }
public HashMap<String,RequestSummary> getDays() { return Days; }
public AnalyticsReports setDays(HashMap<String,RequestSummary> value) { this.Days = value; return this; }
public HashMap<String,RequestSummary> getApiKeys() { return ApiKeys; }
public AnalyticsReports setApiKeys(HashMap<String,RequestSummary> value) { this.ApiKeys = value; return this; }
public HashMap<String,RequestSummary> getIps() { return Ips; }
public AnalyticsReports setIps(HashMap<String,RequestSummary> value) { this.Ips = value; return this; }
public HashMap<String,RequestSummary> getBrowsers() { return Browsers; }
public AnalyticsReports setBrowsers(HashMap<String,RequestSummary> value) { this.Browsers = value; return this; }
public HashMap<String,RequestSummary> getDevices() { return Devices; }
public AnalyticsReports setDevices(HashMap<String,RequestSummary> value) { this.Devices = value; return this; }
public HashMap<String,RequestSummary> getBots() { return Bots; }
public AnalyticsReports setBots(HashMap<String,RequestSummary> value) { this.Bots = value; return this; }
public HashMap<String,Long> getDurations() { return Durations; }
public AnalyticsReports setDurations(HashMap<String,Long> value) { this.Durations = value; return this; }
}
@DataContract
public static class RequestSummary
{
@DataMember(Order=1)
public String Name = null;
@DataMember(Order=2)
public Long TotalRequests = null;
@DataMember(Order=3)
public Long TotalRequestLength = null;
@DataMember(Order=4)
public Long MinRequestLength = null;
@DataMember(Order=5)
public Long MaxRequestLength = null;
@DataMember(Order=6)
public Double TotalDuration = null;
@DataMember(Order=7)
public Double MinDuration = null;
@DataMember(Order=8)
public Double MaxDuration = null;
@DataMember(Order=9)
public HashMap<Integer,Long> Status = null;
@DataMember(Order=10)
public HashMap<String,Long> Durations = null;
@DataMember(Order=11)
public HashMap<String,Long> Apis = null;
@DataMember(Order=12)
public HashMap<String,Long> Users = null;
@DataMember(Order=13)
public HashMap<String,Long> Ips = null;
@DataMember(Order=14)
public HashMap<String,Long> ApiKeys = null;
public String getName() { return Name; }
public RequestSummary setName(String value) { this.Name = value; return this; }
public Long getTotalRequests() { return TotalRequests; }
public RequestSummary setTotalRequests(Long value) { this.TotalRequests = value; return this; }
public Long getTotalRequestLength() { return TotalRequestLength; }
public RequestSummary setTotalRequestLength(Long value) { this.TotalRequestLength = value; return this; }
public Long getMinRequestLength() { return MinRequestLength; }
public RequestSummary setMinRequestLength(Long value) { this.MinRequestLength = value; return this; }
public Long getMaxRequestLength() { return MaxRequestLength; }
public RequestSummary setMaxRequestLength(Long value) { this.MaxRequestLength = value; return this; }
public Double getTotalDuration() { return TotalDuration; }
public RequestSummary setTotalDuration(Double value) { this.TotalDuration = value; return this; }
public Double getMinDuration() { return MinDuration; }
public RequestSummary setMinDuration(Double value) { this.MinDuration = value; return this; }
public Double getMaxDuration() { return MaxDuration; }
public RequestSummary setMaxDuration(Double value) { this.MaxDuration = value; return this; }
public HashMap<Integer,Long> getStatus() { return Status; }
public RequestSummary setStatus(HashMap<Integer,Long> value) { this.Status = value; return this; }
public HashMap<String,Long> getDurations() { return Durations; }
public RequestSummary setDurations(HashMap<String,Long> value) { this.Durations = value; return this; }
public HashMap<String,Long> getApis() { return Apis; }
public RequestSummary setApis(HashMap<String,Long> value) { this.Apis = value; return this; }
public HashMap<String,Long> getUsers() { return Users; }
public RequestSummary setUsers(HashMap<String,Long> value) { this.Users = value; return this; }
public HashMap<String,Long> getIps() { return Ips; }
public RequestSummary setIps(HashMap<String,Long> value) { this.Ips = value; return this; }
public HashMap<String,Long> getApiKeys() { return ApiKeys; }
public RequestSummary setApiKeys(HashMap<String,Long> value) { this.ApiKeys = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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
}
}
}