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 .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/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"}}}