// @DataContract
export class RequestSummary
{
// @DataMember(Order=1)
public name: string;
// @DataMember(Order=2)
public totalRequests: number;
// @DataMember(Order=3)
public totalRequestLength: number;
// @DataMember(Order=4)
public minRequestLength: number;
// @DataMember(Order=5)
public maxRequestLength: number;
// @DataMember(Order=6)
public totalDuration: number;
// @DataMember(Order=7)
public minDuration: number;
// @DataMember(Order=8)
public maxDuration: number;
// @DataMember(Order=9)
public status: { [index:number]: number; };
// @DataMember(Order=10)
public durations: { [index:string]: number; };
// @DataMember(Order=11)
public apis: { [index:string]: number; };
// @DataMember(Order=12)
public users: { [index:string]: number; };
// @DataMember(Order=13)
public ips: { [index:string]: number; };
// @DataMember(Order=14)
public apiKeys: { [index:string]: number; };
public constructor(init?: Partial<RequestSummary>) { (Object as any).assign(this, init); }
}
// @DataContract
export class AnalyticsReports
{
// @DataMember(Order=1)
public id: number;
// @DataMember(Order=2)
public created: string;
// @DataMember(Order=3)
public version: number;
// @DataMember(Order=4)
public apis: { [index:string]: RequestSummary; };
// @DataMember(Order=5)
public users: { [index:string]: RequestSummary; };
// @DataMember(Order=6)
public tags: { [index:string]: RequestSummary; };
// @DataMember(Order=7)
public status: { [index:string]: RequestSummary; };
// @DataMember(Order=8)
public days: { [index:string]: RequestSummary; };
// @DataMember(Order=9)
public apiKeys: { [index:string]: RequestSummary; };
// @DataMember(Order=10)
public ips: { [index:string]: RequestSummary; };
// @DataMember(Order=11)
public browsers: { [index:string]: RequestSummary; };
// @DataMember(Order=12)
public devices: { [index:string]: RequestSummary; };
// @DataMember(Order=13)
public bots: { [index:string]: RequestSummary; };
// @DataMember(Order=14)
public durations: { [index:string]: number; };
public constructor(init?: Partial<AnalyticsReports>) { (Object as any).assign(this, init); }
}
// @DataContract
export class GetAnalyticsReportsResponse
{
// @DataMember(Order=1)
public result: AnalyticsReports;
// @DataMember(Order=2)
public responseStatus: ResponseStatus;
public constructor(init?: Partial<GetAnalyticsReportsResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class GetAnalyticsReports implements IGet
{
// @DataMember(Order=1)
public month?: string;
// @DataMember(Order=2)
public filter: string;
// @DataMember(Order=3)
public value: string;
// @DataMember(Order=4)
public force?: boolean;
public constructor(init?: Partial<GetAnalyticsReports>) { (Object as any).assign(this, init); }
}
TypeScript 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"}}}