| GET | /customer/{boosterCustomerId}/kpi | Get customer KPI details |
|---|
import 'package:servicestack/servicestack.dart';
class GetCustomerKpiResponse implements IConvertible
{
/**
* Booster Customer ID
*/
// @ApiMember(Description="Booster Customer ID", IsRequired=true)
int? boosterCustomerId;
/**
* Total Transaction
*/
// @ApiMember(Description="Total Transaction", IsRequired=true)
int? totalTransaction;
/**
* Total Sales
*/
// @ApiMember(Description="Total Sales", IsRequired=true)
int? totalSales;
/**
* Total Return
*/
// @ApiMember(Description="Total Return", IsRequired=true)
int? totalReturn;
/**
* Total Items
*/
// @ApiMember(Description="Total Items", IsRequired=true)
int? totalItems;
/**
* Average Basket Amount
*/
// @ApiMember(Description="Average Basket Amount", IsRequired=true)
double? averageBasketAmount;
/**
* Total Spending Amount
*/
// @ApiMember(Description="Total Spending Amount", IsRequired=true)
double? totalSpendingAmount;
/**
* Currency code e.g. 'EUR', 'CHF'
*/
// @ApiMember(Description="Currency code e.g. 'EUR', 'CHF'", IsRequired=true)
String? currencyCode;
GetCustomerKpiResponse({this.boosterCustomerId,this.totalTransaction,this.totalSales,this.totalReturn,this.totalItems,this.averageBasketAmount,this.totalSpendingAmount,this.currencyCode});
GetCustomerKpiResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
boosterCustomerId = json['boosterCustomerId'];
totalTransaction = json['totalTransaction'];
totalSales = json['totalSales'];
totalReturn = json['totalReturn'];
totalItems = json['totalItems'];
averageBasketAmount = JsonConverters.toDouble(json['averageBasketAmount']);
totalSpendingAmount = JsonConverters.toDouble(json['totalSpendingAmount']);
currencyCode = json['currencyCode'];
return this;
}
Map<String, dynamic> toJson() => {
'boosterCustomerId': boosterCustomerId,
'totalTransaction': totalTransaction,
'totalSales': totalSales,
'totalReturn': totalReturn,
'totalItems': totalItems,
'averageBasketAmount': averageBasketAmount,
'totalSpendingAmount': totalSpendingAmount,
'currencyCode': currencyCode
};
getTypeName() => "GetCustomerKpiResponse";
TypeContext? context = _ctx;
}
class GetCustomerKpi implements IConvertible
{
/**
* Booster Customer ID
*/
// @ApiMember(Description="Booster Customer ID", IsRequired=true)
int? boosterCustomerId;
/**
* Transaction Date From e.g. '2022-01-01'
*/
// @ApiMember(Description="Transaction Date From e.g. '2022-01-01'")
DateTime? transactionDateFrom;
/**
* Transaction Date To e.g. '2023-11-01'
*/
// @ApiMember(Description="Transaction Date To e.g. '2023-11-01'")
DateTime? transactionDateTo;
GetCustomerKpi({this.boosterCustomerId,this.transactionDateFrom,this.transactionDateTo});
GetCustomerKpi.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
boosterCustomerId = json['boosterCustomerId'];
transactionDateFrom = JsonConverters.fromJson(json['transactionDateFrom'],'DateTime',context!);
transactionDateTo = JsonConverters.fromJson(json['transactionDateTo'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'boosterCustomerId': boosterCustomerId,
'transactionDateFrom': JsonConverters.toJson(transactionDateFrom,'DateTime',context!),
'transactionDateTo': JsonConverters.toJson(transactionDateTo,'DateTime',context!)
};
getTypeName() => "GetCustomerKpi";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
'GetCustomerKpiResponse': TypeInfo(TypeOf.Class, create:() => GetCustomerKpiResponse()),
'GetCustomerKpi': TypeInfo(TypeOf.Class, create:() => GetCustomerKpi()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /customer/{boosterCustomerId}/kpi HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GetCustomerKpiResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.CRM.ServiceModel"> <averageBasketAmount>0</averageBasketAmount> <boosterCustomerId>0</boosterCustomerId> <currencyCode>String</currencyCode> <totalItems>0</totalItems> <totalReturn>0</totalReturn> <totalSales>0</totalSales> <totalSpendingAmount>0</totalSpendingAmount> <totalTransaction>0</totalTransaction> </GetCustomerKpiResponse>