Richemont.Booster2.PublicApi

<back to all web services

GetCustomer

Requires Authentication
The following routes are available for this service:
GET/customer/{boosterCustomerId}Get customer detailsGet Customer info based on the Booster Customer ID
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerEmail:
    # @ApiMember(Description="Description", IsRequired=true)
    description: Optional[str] = None
    """
    Description
    """


    # @ApiMember(Description="Email Address", IsRequired=true)
    email: Optional[str] = None
    """
    Email Address
    """


    # @ApiMember(Description="Is main email address", IsRequired=true)
    is_main: bool = False
    """
    Is main email address
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerPhone:
    # @ApiMember(Description="Description", IsRequired=true)
    description: Optional[str] = None
    """
    Description
    """


    # @ApiMember(Description="Phone Number", IsRequired=true)
    phone: Optional[str] = None
    """
    Phone Number
    """


    # @ApiMember(Description="Is main phone number ", IsRequired=true)
    is_main: bool = False
    """
    Is main phone number 
    """


    # @ApiMember(Description="Phone number country prefix", IsRequired=true)
    prefix_country_id: Optional[str] = None
    """
    Phone number country prefix
    """


    # @ApiMember(Description="Telephone prefix", IsRequired=true)
    telephone_prefix: Optional[str] = None
    """
    Telephone prefix
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerEvent:
    # @ApiMember(Description="Event Id", IsRequired=true)
    event_id: int = 0
    """
    Event Id
    """


    # @ApiMember(Description="Event Description ", IsRequired=true)
    event_description: Optional[str] = None
    """
    Event Description 
    """


    # @ApiMember(Description="Event Other", IsRequired=true)
    event_type_other: Optional[str] = None
    """
    Event Other
    """


    # @ApiMember(Description="Comment", IsRequired=true)
    comment: Optional[str] = None
    """
    Comment
    """


    # @ApiMember(Description="Event Day", IsRequired=true)
    event_day: Optional[int] = None
    """
    Event Day
    """


    # @ApiMember(Description="Event Month", IsRequired=true)
    event_month: Optional[int] = None
    """
    Event Month
    """


    # @ApiMember(Description="Event Year", IsRequired=true)
    event_year: Optional[int] = None
    """
    Event Year
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetCustomerResponse:
    # @ApiMember(Description="Booster Customer ID", IsRequired=true)
    id: int = 0
    """
    Booster Customer ID
    """


    # @ApiMember(Description="SAP Customer ID", IsRequired=true)
    sap_id: Optional[str] = None
    """
    SAP Customer ID
    """


    # @ApiMember(Description="Customer Reference", IsRequired=true)
    customer_reference: Optional[str] = None
    """
    Customer Reference
    """


    # @ApiMember(Description="Gender", IsRequired=true)
    gender: Optional[str] = None
    """
    Gender
    """


    # @ApiMember(Description="Personal Title", IsRequired=true)
    personal_title: Optional[str] = None
    """
    Personal Title
    """


    # @ApiMember(Description="First Name", IsRequired=true)
    first_name: Optional[str] = None
    """
    First Name
    """


    # @ApiMember(Description="Customer Last Name", IsRequired=true)
    last_name: Optional[str] = None
    """
    Customer Last Name
    """


    # @ApiMember(Description="First Name Not Latin", IsRequired=true)
    first_name_not_latin: Optional[str] = None
    """
    First Name Not Latin
    """


    # @ApiMember(Description="Customer Last Name Not Latin", IsRequired=true)
    last_name_not_latin: Optional[str] = None
    """
    Customer Last Name Not Latin
    """


    # @ApiMember(Description="Middle Name", IsRequired=true)
    middle_name: Optional[str] = None
    """
    Middle Name
    """


    # @ApiMember(Description="Can be contacted or not?", IsRequired=true)
    can_be_contacted: bool = False
    """
    Can be contacted or not?
    """


    # @ApiMember(Description="Language", IsRequired=true)
    language: Optional[str] = None
    """
    Language
    """


    # @ApiMember(Description="Country", IsRequired=true)
    country_id: Optional[str] = None
    """
    Country
    """


    # @ApiMember(Description="Brand Trigram", IsRequired=true)
    brand: Optional[str] = None
    """
    Brand Trigram
    """


    # @ApiMember(Description="List of Emails", IsRequired=true)
    emails: Optional[List[CustomerEmail]] = None
    """
    List of Emails
    """


    # @ApiMember(Description="List of Phone Numbers", IsRequired=true)
    phones: Optional[List[CustomerPhone]] = None
    """
    List of Phone Numbers
    """


    # @ApiMember(Description="List of Events", IsRequired=true)
    events: Optional[List[CustomerEvent]] = None
    """
    List of Events
    """


    # @ApiMember(Description="Registration date")
    registration_date: Optional[datetime.datetime] = None
    """
    Registration date
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetCustomer:
    # @ApiMember(Description="Booster Customer ID", IsRequired=true)
    booster_customer_id: int = 0
    """
    Booster Customer ID
    """

Python GetCustomer DTOs

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

HTTP + XML

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

GET /customer/{boosterCustomerId} HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetCustomerResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.CRM.ServiceModel">
  <brand>String</brand>
  <canBeContacted>false</canBeContacted>
  <countryId>String</countryId>
  <customerReference>String</customerReference>
  <emails>
    <CustomerEmail>
      <description>String</description>
      <email>String</email>
      <isMain>false</isMain>
    </CustomerEmail>
  </emails>
  <events>
    <CustomerEvent>
      <comment>String</comment>
      <eventDay>0</eventDay>
      <eventDescription>String</eventDescription>
      <eventId>0</eventId>
      <eventMonth>0</eventMonth>
      <eventTypeOther>String</eventTypeOther>
      <eventYear>0</eventYear>
    </CustomerEvent>
  </events>
  <firstName>String</firstName>
  <firstNameNotLatin>String</firstNameNotLatin>
  <gender>String</gender>
  <id>0</id>
  <language>String</language>
  <lastName>String</lastName>
  <lastNameNotLatin>String</lastNameNotLatin>
  <middleName>String</middleName>
  <personalTitle>String</personalTitle>
  <phones>
    <CustomerPhone>
      <description>String</description>
      <isMain>false</isMain>
      <phone>String</phone>
      <prefixCountryId>String</prefixCountryId>
      <telephonePrefix>String</telephonePrefix>
    </CustomerPhone>
  </phones>
  <registrationDate>0001-01-01T00:00:00</registrationDate>
  <sapId>String</sapId>
</GetCustomerResponse>