| Requires any of the roles: | SystemAdministrator, Manager, CallCenterDashboard |
| All Verbs | /dashboard/home |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class DashboardCustomerSpend implements IConvertible
{
String? customerId;
String? customerName;
double? callSpend;
DashboardCustomerSpend({this.customerId,this.customerName,this.callSpend});
DashboardCustomerSpend.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
customerId = json['customerId'];
customerName = json['customerName'];
callSpend = JsonConverters.toDouble(json['callSpend']);
return this;
}
Map<String, dynamic> toJson() => {
'customerId': customerId,
'customerName': customerName,
'callSpend': callSpend
};
getTypeName() => "DashboardCustomerSpend";
TypeContext? context = _ctx;
}
class DashboardHomeData implements IConvertible
{
List<DashboardCustomerSpend>? customerSpends;
DashboardHomeData({this.customerSpends});
DashboardHomeData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
customerSpends = JsonConverters.fromJson(json['customerSpends'],'List<DashboardCustomerSpend>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'customerSpends': JsonConverters.toJson(customerSpends,'List<DashboardCustomerSpend>',context!)
};
getTypeName() => "DashboardHomeData";
TypeContext? context = _ctx;
}
class GetDashboardHome implements IConvertible
{
String? accountId;
String? startDate;
String? endDate;
GetDashboardHome({this.accountId,this.startDate,this.endDate});
GetDashboardHome.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
accountId = json['accountId'];
startDate = json['startDate'];
endDate = json['endDate'];
return this;
}
Map<String, dynamic> toJson() => {
'accountId': accountId,
'startDate': startDate,
'endDate': endDate
};
getTypeName() => "GetDashboardHome";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'evovoice.io', types: <String, TypeInfo> {
'DashboardCustomerSpend': TypeInfo(TypeOf.Class, create:() => DashboardCustomerSpend()),
'DashboardHomeData': TypeInfo(TypeOf.Class, create:() => DashboardHomeData()),
'List<DashboardCustomerSpend>': TypeInfo(TypeOf.Class, create:() => <DashboardCustomerSpend>[]),
'GetDashboardHome': TypeInfo(TypeOf.Class, create:() => GetDashboardHome()),
});
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 /dashboard/home HTTP/1.1
Host: evovoice.io
Accept: application/json
Content-Type: application/json
Content-Length: length
{"accountId":"String","startDate":"String","endDate":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"customerSpends":[{"customerId":"String","customerName":"String","callSpend":0}]}