Richemont.Booster2.PublicApi

<back to all web services

CreateCustomer

Requires Authentication
The following routes are available for this service:
POST/customerCreate customerCreate CRM customer
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Richemont.Booster2.PublicApi.CRM.ServiceModel

Namespace Global

    Namespace Richemont.Booster2.PublicApi.CRM.ServiceModel

        Public Partial Class Address
            '''<Summary>
            '''Address type e.g. Home, Office, Shipping
            '''</Summary>
            <ApiMember(Description:="Address type e.g. Home, Office, Shipping", IsRequired:=true)>
            Public Overridable Property addressType As String

            '''<Summary>
            '''Country Id e.g. it, cn, az, gb, de
            '''</Summary>
            <ApiMember(Description:="Country Id e.g. it, cn, az, gb, de", IsRequired:=true)>
            Public Overridable Property countryId As String

            '''<Summary>
            '''House Number
            '''</Summary>
            <ApiMember(Description:="House Number")>
            Public Overridable Property houseNumber As String

            '''<Summary>
            '''Region/State
            '''</Summary>
            <ApiMember(Description:="Region/State")>
            Public Overridable Property stateId As String

            '''<Summary>
            '''City Name
            '''</Summary>
            <ApiMember(Description:="City Name")>
            Public Overridable Property city As String

            '''<Summary>
            '''Postal Code
            '''</Summary>
            <ApiMember(Description:="Postal Code")>
            Public Overridable Property zipCode As String

            '''<Summary>
            '''Street Name and Number
            '''</Summary>
            <ApiMember(Description:="Street Name and Number")>
            Public Overridable Property street As String

            '''<Summary>
            '''Street 2
            '''</Summary>
            <ApiMember(Description:="Street 2")>
            Public Overridable Property street2 As String

            '''<Summary>
            '''Street 3
            '''</Summary>
            <ApiMember(Description:="Street 3")>
            Public Overridable Property street3 As String

            '''<Summary>
            '''Street 4
            '''</Summary>
            <ApiMember(Description:="Street 4")>
            Public Overridable Property street4 As String

            '''<Summary>
            '''Street 5
            '''</Summary>
            <ApiMember(Description:="Street 5")>
            Public Overridable Property street5 As String

            '''<Summary>
            '''Main Address
            '''</Summary>
            <ApiMember(Description:="Main Address", IsRequired:=true)>
            Public Overridable Property isMainAddress As Boolean

            '''<Summary>
            '''Post Office Box
            '''</Summary>
            <ApiMember(Description:="Post Office Box")>
            Public Overridable Property poBox As String

            '''<Summary>
            '''Additional Information
            '''</Summary>
            <ApiMember(Description:="Additional Information")>
            Public Overridable Property additionalInformation As String
        End Class

        Public Partial Class CreateCustomer
            Inherits Customer
            '''<Summary>
            '''Privacy policy acceptance for data storage
            '''</Summary>
            <ApiMember(Description:="Privacy policy acceptance for data storage", IsRequired:=true)>
            Public Overridable Property privacyPolicyAcceptanceStorage As Boolean

            '''<Summary>
            '''Privacy policy acceptance of data storage for TimeVallée
            '''</Summary>
            <ApiMember(Description:="Privacy policy acceptance of data storage for TimeVallée")>
            Public Overridable Property tvPrivacyPolicyAcceptanceStorage As Nullable(Of Boolean)
        End Class

        Public Partial Class CreateCustomerResponse
            '''<Summary>
            '''Booster Customer ID
            '''</Summary>
            <ApiMember(Description:="Booster Customer ID", IsRequired:=true)>
            Public Overridable Property boosterCustomerId As Integer
        End Class

        Public Partial Class Customer
            Public Sub New()
                emails = New List(Of Email)
                phones = New List(Of Phone)
                addresses = New List(Of Address)
                events = New List(Of Event)
                interests = New List(Of Interest)
                hobbies = New List(Of Hobby)
                productCollections = New List(Of ProductCollection)
            End Sub

            '''<Summary>
            '''Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'PRIVATE'
            '''</Summary>
            <ApiMember(Description:="Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'PRIVATE'")>
            Public Overridable Property title As String

            '''<Summary>
            '''First Name
            '''</Summary>
            <ApiMember(Description:="First Name")>
            Public Overridable Property firstName As String

            '''<Summary>
            '''Last Name - Mandatory only when customer type is 'PRIVATE'
            '''</Summary>
            <ApiMember(Description:="Last Name - Mandatory only when customer type is 'PRIVATE'")>
            Public Overridable Property lastName As String

            '''<Summary>
            '''First Name Not Latin
            '''</Summary>
            <ApiMember(Description:="First Name Not Latin")>
            Public Overridable Property firstNameNotLatin As String

            '''<Summary>
            '''Last Name Not Latin
            '''</Summary>
            <ApiMember(Description:="Last Name Not Latin")>
            Public Overridable Property lastNameNotLatin As String

            '''<Summary>
            '''Middle Name
            '''</Summary>
            <ApiMember(Description:="Middle Name")>
            Public Overridable Property middleName As String

            '''<Summary>
            '''Name Suffix
            '''</Summary>
            <ApiMember(Description:="Name Suffix")>
            Public Overridable Property nameSuffix As String

            '''<Summary>
            '''Can be Contacted by Maison e.g. true or false
            '''</Summary>
            <ApiMember(Description:="Can be Contacted by Maison e.g. true or false", IsRequired:=true)>
            Public Overridable Property canBeContactedByMaison As Boolean

            '''<Summary>
            '''Customer Type e.g. 'PRIVATE' or 'COMPANY'
            '''</Summary>
            <ApiMember(Description:="Customer Type e.g. 'PRIVATE' or 'COMPANY'", IsRequired:=true)>
            Public Overridable Property clientType As String

            '''<Summary>
            '''Company Name - Mandatory only when customer type is 'COMPANY'
            '''</Summary>
            <ApiMember(Description:="Company Name - Mandatory only when customer type is 'COMPANY'")>
            Public Overridable Property companyName As String

            '''<Summary>
            '''Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'PRIVATE'
            '''</Summary>
            <ApiMember(Description:="Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'PRIVATE'")>
            Public Overridable Property languageId As String

            '''<Summary>
            '''Gender e.g. M, F - Mandatory only when customer type is 'PRIVATE'
            '''</Summary>
            <ApiMember(Description:="Gender e.g. M, F - Mandatory only when customer type is 'PRIVATE'")>
            Public Overridable Property gender As String

            '''<Summary>
            '''Country Id e.g. it, cn, az, gb, de
            '''</Summary>
            <ApiMember(Description:="Country Id e.g. it, cn, az, gb, de", IsRequired:=true)>
            Public Overridable Property countryId As String

            '''<Summary>
            '''Birth Date e.g. '2020-12-30'
            '''</Summary>
            <ApiMember(Description:="Birth Date e.g. '2020-12-30'")>
            Public Overridable Property birthDate As Nullable(Of Date)

            '''<Summary>
            '''Customer reference
            '''</Summary>
            <ApiMember(Description:="Customer reference")>
            Public Overridable Property customerReference As String

            '''<Summary>
            '''POS Code e.g. ES100:102048
            '''</Summary>
            <ApiMember(Description:="POS Code e.g. ES100:102048", IsRequired:=true)>
            Public Overridable Property posCode As String

            '''<Summary>
            '''Brand e.g. CAR, MTB
            '''</Summary>
            <ApiMember(Description:="Brand e.g. CAR, MTB", IsRequired:=true)>
            Public Overridable Property brand As String

            '''<Summary>
            '''Wedding Date, e.g. '2020-01-18'
            '''</Summary>
            <ApiMember(Description:="Wedding Date, e.g. '2020-01-18'")>
            Public Overridable Property weddingDate As Nullable(Of Date)

            '''<Summary>
            '''Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'
            '''</Summary>
            <ApiMember(Description:="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'")>
            Public Overridable Property preferredContactMethod As String

            '''<Summary>
            '''Provide 'true' if you want to be contacted by email. Leave empty or 'false' if you do not.
            '''</Summary>
            <ApiMember(Description:="Provide 'true' if you want to be contacted by email. Leave empty or 'false' if you do not.")>
            Public Overridable Property contactByEmailFlag As Boolean

            '''<Summary>
            '''Provide 'true' if you want to be contacted by mail. Leave empty or 'false' if you do not.
            '''</Summary>
            <ApiMember(Description:="Provide 'true' if you want to be contacted by mail. Leave empty or 'false' if you do not.")>
            Public Overridable Property contactByMailFlag As Boolean

            '''<Summary>
            '''Provide 'true' if you want to be contacted by phone. Leave empty or 'false' if you do not.
            '''</Summary>
            <ApiMember(Description:="Provide 'true' if you want to be contacted by phone. Leave empty or 'false' if you do not.")>
            Public Overridable Property contactByPhoneFlag As Boolean

            '''<Summary>
            '''Provide 'true' if you want to be contacted by SMS. Leave empty or 'false' if you do not.
            '''</Summary>
            <ApiMember(Description:="Provide 'true' if you want to be contacted by SMS. Leave empty or 'false' if you do not.")>
            Public Overridable Property contactBySMSFlag As Boolean

            '''<Summary>
            '''Provide 'true' if you want to be contacted by social media. Leave empty or 'false' if you do not.
            '''</Summary>
            <ApiMember(Description:="Provide 'true' if you want to be contacted by social media. Leave empty or 'false' if you do not.")>
            Public Overridable Property contactBySocialMediaFlag As Boolean

            '''<Summary>
            '''Sale Representative Email e.g. rauf.aliyev@richemont.com
            '''</Summary>
            <ApiMember(Description:="Sale Representative Email e.g. rauf.aliyev@richemont.com")>
            Public Overridable Property saleRepresentativeEmail As String

            '''<Summary>
            '''Consent for allowing Cross Border Data Transfer
            '''</Summary>
            <ApiMember(Description:="Consent for allowing Cross Border Data Transfer")>
            Public Overridable Property allowStoreDataAbroad As Nullable(Of Boolean)

            '''<Summary>
            '''Consent for allowing Cross Border Data Transfer For TimeVallée
            '''</Summary>
            <ApiMember(Description:="Consent for allowing Cross Border Data Transfer For TimeVallée")>
            Public Overridable Property tvAllowStoreDataAbroad As Nullable(Of Boolean)

            '''<Summary>
            '''Customer emails
            '''</Summary>
            <ApiMember(Description:="Customer emails")>
            Public Overridable Property emails As List(Of Email)

            '''<Summary>
            '''Customer phones
            '''</Summary>
            <ApiMember(Description:="Customer phones")>
            Public Overridable Property phones As List(Of Phone)

            '''<Summary>
            '''Customer addresses
            '''</Summary>
            <ApiMember(Description:="Customer addresses")>
            Public Overridable Property addresses As List(Of Address)

            '''<Summary>
            '''Customer events
            '''</Summary>
            <ApiMember(Description:="Customer events")>
            Public Overridable Property events As List(Of Event)

            '''<Summary>
            '''Customer interests
            '''</Summary>
            <ApiMember(Description:="Customer interests")>
            Public Overridable Property interests As List(Of Interest)

            '''<Summary>
            '''Customer hobbies
            '''</Summary>
            <ApiMember(Description:="Customer hobbies")>
            Public Overridable Property hobbies As List(Of Hobby)

            '''<Summary>
            '''Customer product collections
            '''</Summary>
            <ApiMember(Description:="Customer product collections")>
            Public Overridable Property productCollections As List(Of ProductCollection)

            '''<Summary>
            '''Provide 'true' if you allow data sharing consent. Leave empty or 'false' if you do not.
            '''</Summary>
            <ApiMember(Description:="Provide 'true' if you allow data sharing consent. Leave empty or 'false' if you do not.")>
            Public Overridable Property dataSharingConsent As Nullable(Of Boolean)

            '''<Summary>
            '''Notes
            '''</Summary>
            <ApiMember(Description:="Notes")>
            Public Overridable Property notes As String

            '''<Summary>
            '''Reference Sale Representative Email
            '''</Summary>
            <ApiMember(Description:="Reference Sale Representative Email")>
            Public Overridable Property referenceSaleRepresentativeEmail As String

            '''<Summary>
            '''Registration Date
            '''</Summary>
            <ApiMember(Description:="Registration Date")>
            Public Overridable Property registrationDate As Nullable(Of Date)
        End Class

        Public Partial Class Email
            '''<Summary>
            '''Email
            '''</Summary>
            <ApiMember(Description:="Email", IsRequired:=true)>
            Public Overridable Property email As String

            '''<Summary>
            '''Main email
            '''</Summary>
            <ApiMember(Description:="Main email", IsRequired:=true)>
            Public Overridable Property isMainEmail As Boolean
        End Class

        Public Partial Class Event
            '''<Summary>
            '''Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'
            '''</Summary>
            <ApiMember(Description:="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired:=true)>
            Public Overridable Property eventType As String

            '''<Summary>
            '''Event date e.g. '2021-01-20'
            '''</Summary>
            <ApiMember(Description:="Event date e.g. '2021-01-20'", IsRequired:=true)>
            Public Overridable Property eventDate As Date

            '''<Summary>
            '''Event notes
            '''</Summary>
            <ApiMember(Description:="Event notes")>
            Public Overridable Property eventNotes As String

            '''<Summary>
            '''Event other name
            '''</Summary>
            <ApiMember(Description:="Event other name")>
            Public Overridable Property eventOtherName As String
        End Class

        Public Partial Class Hobby
            '''<Summary>
            '''Hobby description
            '''</Summary>
            <ApiMember(Description:="Hobby description", IsRequired:=true)>
            Public Overridable Property hobby As String

            '''<Summary>
            '''SAP Hobby ID, e.g. 'ART'
            '''</Summary>
            <ApiMember(Description:="SAP Hobby ID, e.g. 'ART'", IsRequired:=true)>
            Public Overridable Property sapHobbyId As String

            '''<Summary>
            '''Hobby description translation
            '''</Summary>
            <ApiMember(Description:="Hobby description translation")>
            Public Overridable Property translation As String
        End Class

        Public Partial Class Interest
            '''<Summary>
            '''Interest description
            '''</Summary>
            <ApiMember(Description:="Interest description", IsRequired:=true)>
            Public Overridable Property interest As String

            '''<Summary>
            '''SAP Interest ID, e.g. 'CA-1'
            '''</Summary>
            <ApiMember(Description:="SAP Interest ID, e.g. 'CA-1'", IsRequired:=true)>
            Public Overridable Property sapInterestId As String

            '''<Summary>
            '''Interest description translation
            '''</Summary>
            <ApiMember(Description:="Interest description translation")>
            Public Overridable Property translation As String
        End Class

        Public Partial Class Phone
            '''<Summary>
            '''Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456
            '''</Summary>
            <ApiMember(Description:="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired:=true)>
            Public Overridable Property phone As String

            '''<Summary>
            '''Prefix Country Id e.g. it, fr, az
            '''</Summary>
            <ApiMember(Description:="Prefix Country Id e.g. it, fr, az", IsRequired:=true)>
            Public Overridable Property countryPrefix As String

            '''<Summary>
            '''Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'
            '''</Summary>
            <ApiMember(Description:="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'")>
            Public Overridable Property phoneType As String

            '''<Summary>
            '''Main Phone
            '''</Summary>
            <ApiMember(Description:="Main Phone", IsRequired:=true)>
            Public Overridable Property isMainPhone As Boolean
        End Class

        Public Partial Class ProductCollection
            '''<Summary>
            '''Product Collection description
            '''</Summary>
            <ApiMember(Description:="Product Collection description", IsRequired:=true)>
            Public Overridable Property productCollection As String

            '''<Summary>
            '''SAP ProductCollection ID, e.g. 'CA-1'
            '''</Summary>
            <ApiMember(Description:="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired:=true)>
            Public Overridable Property sapProductCollectionId As String

            '''<Summary>
            '''Product Collection description translation
            '''</Summary>
            <ApiMember(Description:="Product Collection description translation", IsRequired:=true)>
            Public Overridable Property translation As String
        End Class
    End Namespace
End Namespace

VB.NET CreateCustomer DTOs

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

HTTP + CSV

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

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

{"privacyPolicyAcceptanceStorage":false,"tvPrivacyPolicyAcceptanceStorage":false,"title":"String","firstName":"String","lastName":"String","firstNameNotLatin":"String","lastNameNotLatin":"String","middleName":"String","nameSuffix":"String","canBeContactedByMaison":false,"clientType":"String","companyName":"String","languageId":"String","gender":"String","countryId":"String","birthDate":"\/Date(-62135596800000-0000)\/","customerReference":"String","posCode":"String","brand":"String","weddingDate":"\/Date(-62135596800000-0000)\/","preferredContactMethod":"String","contactByEmailFlag":false,"contactByMailFlag":false,"contactByPhoneFlag":false,"contactBySMSFlag":false,"contactBySocialMediaFlag":false,"saleRepresentativeEmail":"String","allowStoreDataAbroad":false,"tvAllowStoreDataAbroad":false,"emails":[{"email":"String","isMainEmail":false}],"phones":[{"phone":"String","countryPrefix":"String","phoneType":"String","isMainPhone":false}],"addresses":[{"addressType":"String","countryId":"String","houseNumber":"String","stateId":"String","city":"String","zipCode":"String","street":"String","street2":"String","street3":"String","street4":"String","street5":"String","isMainAddress":false,"poBox":"String","additionalInformation":"String"}],"events":[{"eventType":"String","eventDate":"\/Date(-62135596800000-0000)\/","eventNotes":"String","eventOtherName":"String"}],"interests":[{"interest":"String","sapInterestId":"String","translation":"String"}],"hobbies":[{"hobby":"String","sapHobbyId":"String","translation":"String"}],"productCollections":[{"productCollection":"String","sapProductCollectionId":"String","translation":"String"}],"dataSharingConsent":false,"notes":"String","referenceSaleRepresentativeEmail":"String","registrationDate":"\/Date(-62135596800000-0000)\/"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"boosterCustomerId":0}