| POST,OPTIONS | /v1/dashboard/finance |
|---|
export class DashboardStatTile
{
public Key: string;
public Label: string;
public Value: number;
public PreviousValue?: number;
public Unit: string;
public DeltaPct?: number;
public constructor(init?: Partial<DashboardStatTile>) { (Object as any).assign(this, init); }
}
export class DashboardSeriesPoint
{
public Label: string;
public Value: number;
public constructor(init?: Partial<DashboardSeriesPoint>) { (Object as any).assign(this, init); }
}
export class DashboardSeries
{
public Name: string;
public Points: DashboardSeriesPoint[] = [];
public constructor(init?: Partial<DashboardSeries>) { (Object as any).assign(this, init); }
}
export class FinanceLocationRow
{
public LocationName: string;
public ServiceRev: number;
public ProductRev: number;
public SubscriptionRev: number;
public Total: number;
public constructor(init?: Partial<FinanceLocationRow>) { (Object as any).assign(this, init); }
}
export class FinanceTopRow
{
public Name: string;
public Revenue: number;
public constructor(init?: Partial<FinanceTopRow>) { (Object as any).assign(this, init); }
}
export class FinanceSubscriptionInfo
{
public Mrr: number;
public Arr: number;
public ActiveCount: number;
public NewCount: number;
public ChurnedCount: number;
public ChurnRatePct: number;
public constructor(init?: Partial<FinanceSubscriptionInfo>) { (Object as any).assign(this, init); }
}
export class FinanceResponse
{
public ResponseStatus: ResponseStatus;
public Stats: DashboardStatTile[] = [];
public Trend: DashboardSeries[] = [];
public SourceMix: DashboardSeries;
public ByLocation: FinanceLocationRow[] = [];
public TopServices: FinanceTopRow[] = [];
public TopProducts: FinanceTopRow[] = [];
public Subscriptions: FinanceSubscriptionInfo;
public constructor(init?: Partial<FinanceResponse>) { (Object as any).assign(this, init); }
}
export class FinanceRequest
{
public FromDate: string;
public ToDate: string;
public LocationIds: string[] = [];
public constructor(init?: Partial<FinanceRequest>) { (Object as any).assign(this, init); }
}
TypeScript FinanceRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dashboard/finance HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","LocationIds":["00000000000000000000000000000000"]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Stats":[{"Key":"String","Label":"String","Value":0,"PreviousValue":0,"Unit":"String","DeltaPct":null}],"Trend":[{"Name":"String","Points":[{"Label":"String","Value":0}]}],"SourceMix":{"Name":"String","Points":[{"Label":"String","Value":0}]},"ByLocation":[{"LocationName":"String","ServiceRev":0,"ProductRev":0,"SubscriptionRev":0,"Total":0}],"TopServices":[{"Name":"String","Revenue":0}],"TopProducts":[{"Name":"String","Revenue":0}],"Subscriptions":{"Mrr":0,"Arr":0,"ActiveCount":0,"NewCount":0,"ChurnedCount":0,"ChurnRatePct":0}}