Richemont.Booster2.PublicApi

<back to all web services

GetCrmFormConfigurations

Requires Authentication
The following routes are available for this service:
GET/crmFormConfigurations/{brand}/{posCode}Get all available CRM Form Configurations
import 'package:servicestack/servicestack.dart';

class GetCrmFormConfigurationsResponse implements IConvertible
{
    /**
    * Privacy policy agreement in Time Vallée POS group, e.g. M, V, N
    */
    // @ApiMember(Description="Privacy policy agreement in Time Vallée POS group, e.g. M, V, N", IsRequired=true)
    String? timeValeePrivacyPolicy;

    /**
    * Store data abroad agreement in Time Vallée POS group, e.g. M, V, N
    */
    // @ApiMember(Description="Store data abroad agreement in Time Vallée POS group, e.g. M, V, N", IsRequired=true)
    String? timeValeeAllowStoreDataAbroad;

    /**
    * Data sharing consent, e.g. M, V, N
    */
    // @ApiMember(Description="Data sharing consent, e.g. M, V, N", IsRequired=true)
    String? dataSharingConsent;

    /**
    * Requirement for email field, e.g. M, V, N
    */
    // @ApiMember(Description="Requirement for email field, e.g. M, V, N", IsRequired=true)
    String? email;

    /**
    * Requirement for phone field, e.g. M, V, N
    */
    // @ApiMember(Description="Requirement for phone field, e.g. M, V, N", IsRequired=true)
    String? phone;

    /**
    * Requirement for middle name field, e.g. M, V, N
    */
    // @ApiMember(Description="Requirement for middle name field, e.g. M, V, N", IsRequired=true)
    String? middleName;

    /**
    * Privacy policy agreement in Maison, e.g. M, V, N
    */
    // @ApiMember(Description="Privacy policy agreement in Maison, e.g. M, V, N", IsRequired=true)
    String? privacyPolicy;

    /**
    * Store data abroad agreement in Maison, e.g. M, V, N
    */
    // @ApiMember(Description="Store data abroad agreement in Maison, e.g. M, V, N", IsRequired=true)
    String? allowStoreDateAbroad;

    /**
    * Requirement for sales representative field, e.g. M, V, N
    */
    // @ApiMember(Description="Requirement for sales representative field, e.g. M, V, N", IsRequired=true)
    String? salesRep;

    /**
    * Show or hide Transliteration fields
    */
    // @ApiMember(Description="Show or hide Transliteration fields", IsRequired=true)
    bool? showNotLatinFields;

    /**
    * Transliteration language
    */
    // @ApiMember(Description="Transliteration language", IsRequired=true)
    String? transliterationLanguage;

    /**
    * City
    */
    // @ApiMember(Description="City", IsRequired=true)
    String? city;

    GetCrmFormConfigurationsResponse({this.timeValeePrivacyPolicy,this.timeValeeAllowStoreDataAbroad,this.dataSharingConsent,this.email,this.phone,this.middleName,this.privacyPolicy,this.allowStoreDateAbroad,this.salesRep,this.showNotLatinFields,this.transliterationLanguage,this.city});
    GetCrmFormConfigurationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        timeValeePrivacyPolicy = json['timeValeePrivacyPolicy'];
        timeValeeAllowStoreDataAbroad = json['timeValeeAllowStoreDataAbroad'];
        dataSharingConsent = json['dataSharingConsent'];
        email = json['email'];
        phone = json['phone'];
        middleName = json['middleName'];
        privacyPolicy = json['privacyPolicy'];
        allowStoreDateAbroad = json['allowStoreDateAbroad'];
        salesRep = json['salesRep'];
        showNotLatinFields = json['showNotLatinFields'];
        transliterationLanguage = json['transliterationLanguage'];
        city = json['city'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'timeValeePrivacyPolicy': timeValeePrivacyPolicy,
        'timeValeeAllowStoreDataAbroad': timeValeeAllowStoreDataAbroad,
        'dataSharingConsent': dataSharingConsent,
        'email': email,
        'phone': phone,
        'middleName': middleName,
        'privacyPolicy': privacyPolicy,
        'allowStoreDateAbroad': allowStoreDateAbroad,
        'salesRep': salesRep,
        'showNotLatinFields': showNotLatinFields,
        'transliterationLanguage': transliterationLanguage,
        'city': city
    };

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

class GetCrmFormConfigurations implements IConvertible
{
    /**
    * Brand Triagram, e.g. CAR, IWC, VAC
    */
    // @ApiMember(Description="Brand Triagram, e.g. CAR, IWC, VAC", IsRequired=true)
    String? brand;

    /**
    * Point of Sale Code, e.g. ES100:102048
    */
    // @ApiMember(Description="Point of Sale Code, e.g. ES100:102048", IsRequired=true)
    String? posCode;

    /**
    * ISO Alpha-2 Country Code, e.g. it, ch
    */
    // @ApiMember(Description="ISO Alpha-2 Country Code, e.g. it, ch", IsRequired=true)
    String? crmCountryId;

    GetCrmFormConfigurations({this.brand,this.posCode,this.crmCountryId});
    GetCrmFormConfigurations.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = json['brand'];
        posCode = json['posCode'];
        crmCountryId = json['crmCountryId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': brand,
        'posCode': posCode,
        'crmCountryId': crmCountryId
    };

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

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

Dart GetCrmFormConfigurations 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.

GET /crmFormConfigurations/{brand}/{posCode} HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	timeValeePrivacyPolicy: String,
	timeValeeAllowStoreDataAbroad: String,
	dataSharingConsent: String,
	email: String,
	phone: String,
	middleName: String,
	privacyPolicy: String,
	allowStoreDateAbroad: String,
	salesRep: String,
	showNotLatinFields: False,
	transliterationLanguage: String,
	city: String
}