import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@DataContract
public static class GetAnalyticsInfo implements IGet
{
@DataMember(Order=1)
public Date Month = null;
@DataMember(Order=2)
public String Type = null;
@DataMember(Order=3)
public String Op = null;
@DataMember(Order=4)
public String ApiKey = null;
@DataMember(Order=5)
public String UserId = null;
@DataMember(Order=6)
public String Ip = null;
public Date getMonth() { return Month; }
public GetAnalyticsInfo setMonth(Date value) { this.Month = value; return this; }
public String getType() { return Type; }
public GetAnalyticsInfo setType(String value) { this.Type = value; return this; }
public String getOp() { return Op; }
public GetAnalyticsInfo setOp(String value) { this.Op = value; return this; }
public String getApiKey() { return ApiKey; }
public GetAnalyticsInfo setApiKey(String value) { this.ApiKey = value; return this; }
public String getUserId() { return UserId; }
public GetAnalyticsInfo setUserId(String value) { this.UserId = value; return this; }
public String getIp() { return Ip; }
public GetAnalyticsInfo setIp(String value) { this.Ip = value; return this; }
}
@DataContract
public static class GetAnalyticsInfoResponse
{
@DataMember(Order=1)
public ArrayList<String> Months = null;
@DataMember(Order=2)
public AnalyticsLogInfo Result = null;
@DataMember(Order=3)
public ResponseStatus ResponseStatus = null;
public ArrayList<String> getMonths() { return Months; }
public GetAnalyticsInfoResponse setMonths(ArrayList<String> value) { this.Months = value; return this; }
public AnalyticsLogInfo getResult() { return Result; }
public GetAnalyticsInfoResponse setResult(AnalyticsLogInfo value) { this.Result = value; return this; }
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public GetAnalyticsInfoResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
}
@DataContract
public static class AnalyticsLogInfo
{
@DataMember(Order=1)
public Long Id = null;
@DataMember(Order=2)
public Date DateTime = null;
@DataMember(Order=3)
public String Browser = null;
@DataMember(Order=4)
public String Device = null;
@DataMember(Order=5)
public String Bot = null;
@DataMember(Order=6)
public String Op = null;
@DataMember(Order=7)
public String UserId = null;
@DataMember(Order=8)
public String UserName = null;
@DataMember(Order=9)
public String ApiKey = null;
@DataMember(Order=10)
public String Ip = null;
public Long getId() { return Id; }
public AnalyticsLogInfo setId(Long value) { this.Id = value; return this; }
public Date getDateTime() { return DateTime; }
public AnalyticsLogInfo setDateTime(Date value) { this.DateTime = value; return this; }
public String getBrowser() { return Browser; }
public AnalyticsLogInfo setBrowser(String value) { this.Browser = value; return this; }
public String getDevice() { return Device; }
public AnalyticsLogInfo setDevice(String value) { this.Device = value; return this; }
public String getBot() { return Bot; }
public AnalyticsLogInfo setBot(String value) { this.Bot = value; return this; }
public String getOp() { return Op; }
public AnalyticsLogInfo setOp(String value) { this.Op = value; return this; }
public String getUserId() { return UserId; }
public AnalyticsLogInfo setUserId(String value) { this.UserId = value; return this; }
public String getUserName() { return UserName; }
public AnalyticsLogInfo setUserName(String value) { this.UserName = value; return this; }
public String getApiKey() { return ApiKey; }
public AnalyticsLogInfo setApiKey(String value) { this.ApiKey = value; return this; }
public String getIp() { return Ip; }
public AnalyticsLogInfo setIp(String value) { this.Ip = 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/GetAnalyticsInfo HTTP/1.1
Host: test-do-services.klokgroep.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Month: 0001-01-01,
Type: String,
Op: String,
ApiKey: String,
UserId: String,
Ip: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Months:
[
String
],
Result:
{
Id: 0,
DateTime: 0001-01-01,
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
}
}
}