Richemont.Booster2.PublicApi

<back to all web services

GetCustomerKpi

Requires Authentication
The following routes are available for this service:
GET/customer/{boosterCustomerId}/kpiGet 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()),
});

Dart GetCustomerKpi 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

HTTP + JSON

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/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"boosterCustomerId":0,"totalTransaction":0,"totalSales":0,"totalReturn":0,"totalItems":0,"averageBasketAmount":0,"totalSpendingAmount":0,"currencyCode":"String"}