Richemont.Booster2.PublicApi

<back to all web services

CreateBuyIn

Requires Authentication
The following routes are available for this service:
POST/buyinCreate CPO Buy-in
import 'package:servicestack/servicestack.dart';

class CreateBuyInResponse implements IConvertible
{
    int buyInOrderId = 0;

    CreateBuyInResponse({this.buyInOrderId=0});
    CreateBuyInResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        buyInOrderId = json['buyInOrderId'] ?? 0;
        return this;
    }

    Map<String, dynamic> toJson() => {
        'buyInOrderId': buyInOrderId
    };

    getTypeName() => "CreateBuyInResponse";
    TypeContext? context = _ctx;
}

class CreateBuyIn implements IConvertible
{
    /**
    * Brand Trigram, e.g. CAR, IWC
    */
    // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC")
    String brand = "";

    /**
    * POS Code
    */
    // @ApiMember(Description="POS Code", IsRequired=true)
    String posCode = "";

    /**
    * Article Code
    */
    // @ApiMember(Description="Article Code", IsRequired=true)
    String articleCode = "";

    /**
    * Serial Number
    */
    // @ApiMember(Description="Serial Number")
    String serialNumber = "";

    /**
    * Sales Representative Emails
    */
    // @ApiMember(Description="Sales Representative Emails")
    List<String> saleRepresentativeEmails = [];

    /**
    * Buy-in creation date
    */
    // @ApiMember(Description="Buy-in creation date", IsRequired=true)
    DateTime? buyInDate;

    CreateBuyIn({this.brand="",this.posCode="",this.articleCode="",this.serialNumber="",this.saleRepresentativeEmails=const [],this.buyInDate});
    CreateBuyIn.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = json['brand'] ?? "";
        posCode = json['posCode'] ?? "";
        articleCode = json['articleCode'] ?? "";
        serialNumber = json['serialNumber'] ?? "";
        saleRepresentativeEmails = JsonConverters.fromJson(json['saleRepresentativeEmails'],'List<String>',context!) ?? [];
        buyInDate = JsonConverters.fromJson(json['buyInDate'],'DateTime',context!) ?? DateTime(0);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': brand,
        'posCode': posCode,
        'articleCode': articleCode,
        'serialNumber': serialNumber,
        'saleRepresentativeEmails': JsonConverters.toJson(saleRepresentativeEmails,'List<String>',context!),
        'buyInDate': JsonConverters.toJson(buyInDate,'DateTime',context!)
    };

    getTypeName() => "CreateBuyIn";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
    'CreateBuyInResponse': TypeInfo(TypeOf.Class, create:() => CreateBuyInResponse()),
    'CreateBuyIn': TypeInfo(TypeOf.Class, create:() => CreateBuyIn()),
});

Dart CreateBuyIn DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /buyin HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	brand: String,
	posCode: String,
	articleCode: String,
	serialNumber: String,
	saleRepresentativeEmails: 
	[
		String
	],
	buyInDate: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	buyInOrderId: 0
}