Richemont.Booster2.PublicApi

<back to all web services

PatchCustomer

Requires Authentication
The following routes are available for this service:
PATCH/customer/{boosterCustomerId}Patch customerPatch CRM customer
import Foundation
import ServiceStack

public class PatchCustomer : Codable
{
    /**
    * Booster customer Id
    */
    // @ApiMember(Description="Booster customer Id", IsRequired=true)
    public var boosterCustomerId:Int

    /**
    * Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'Personal'
    */
    // @ApiMember(Description="Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'Personal'")
    public var title:String

    /**
    * First Name
    */
    // @ApiMember(Description="First Name")
    public var firstName:String

    /**
    * Last Name - Mandatory only when customer type is 'Personal'
    */
    // @ApiMember(Description="Last Name - Mandatory only when customer type is 'Personal'")
    public var lastName:String

    /**
    * First Name Not Latin
    */
    // @ApiMember(Description="First Name Not Latin")
    public var firstNameNotLatin:String

    /**
    * Last Name Not Latin
    */
    // @ApiMember(Description="Last Name Not Latin")
    public var lastNameNotLatin:String

    /**
    * Middle Name
    */
    // @ApiMember(Description="Middle Name")
    public var middleName:String

    /**
    * Name Suffix
    */
    // @ApiMember(Description="Name Suffix")
    public var nameSuffix:String

    /**
    * Can be Contacted by Maison e.g. true or false
    */
    // @ApiMember(Description="Can be Contacted by Maison e.g. true or false", IsRequired=true)
    public var canBeContactedByMaison:Bool?

    /**
    * clientType e.g. PRIVATE, COMPANY
    */
    // @ApiMember(Description="clientType e.g. PRIVATE, COMPANY", IsRequired=true)
    public var clientType:String

    /**
    * Company Name - Mandatory only when customer type is 'Company'
    */
    // @ApiMember(Description="Company Name - Mandatory only when customer type is 'Company'")
    public var companyName:String

    /**
    * Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'Personal'
    */
    // @ApiMember(Description="Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'Personal'")
    public var languageId:String

    /**
    * Gender e.g. M, F - Mandatory only when customer type is 'Personal'
    */
    // @ApiMember(Description="Gender e.g. M, F - Mandatory only when customer type is 'Personal'")
    public var gender:String

    /**
    * Country Id e.g. it, cn, az, gb, de
    */
    // @ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)
    public var countryId:String

    /**
    * Birth Date e.g. '2020-12-30'
    */
    // @ApiMember(Description="Birth Date e.g. '2020-12-30'")
    public var birthDate:Date?

    /**
    * Customer reference
    */
    // @ApiMember(Description="Customer reference")
    public var customerReference:String

    /**
    * Wedding Date, e.g. '2020-01-18'
    */
    // @ApiMember(Description="Wedding Date, e.g. '2020-01-18'")
    public var weddingDate:Date?

    /**
    * Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'
    */
    // @ApiMember(Description="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'")
    public var preferredContactMethod:String

    /**
    * Provide 'true' if you want to be contacted by email. Leave empty or 'false' if you do not.
    */
    // @ApiMember(Description="Provide 'true' if you want to be contacted by email. Leave empty or 'false' if you do not.")
    public var contactByEmailFlag:Bool?

    /**
    * Provide 'true' if you want to be contacted by mail. Leave empty or 'false' if you do not.
    */
    // @ApiMember(Description="Provide 'true' if you want to be contacted by mail. Leave empty or 'false' if you do not.")
    public var contactByMailFlag:Bool?

    /**
    * Provide 'true' if you want to be contacted by phone. Leave empty or 'false' if you do not.
    */
    // @ApiMember(Description="Provide 'true' if you want to be contacted by phone. Leave empty or 'false' if you do not.")
    public var contactByPhoneFlag:Bool?

    /**
    * Provide 'true' if you want to be contacted by SMS. Leave empty or 'false' if you do not.
    */
    // @ApiMember(Description="Provide 'true' if you want to be contacted by SMS. Leave empty or 'false' if you do not.")
    public var contactBySMSFlag:Bool?

    /**
    * Provide 'true' if you want to be contacted by social media. Leave empty or 'false' if you do not.
    */
    // @ApiMember(Description="Provide 'true' if you want to be contacted by social media. Leave empty or 'false' if you do not.")
    public var contactBySocialMediaFlag:Bool?

    /**
    * Sale Representative Email e.g. rauf.aliyev@richemont.com
    */
    // @ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com")
    public var saleRepresentativeEmail:String

    /**
    * Consent for allowing Cross Border Data Transfer
    */
    // @ApiMember(Description="Consent for allowing Cross Border Data Transfer")
    public var allowStoreDataAbroad:Bool?

    /**
    * Consent for allowing Cross Border Data Transfer For TimeVallée
    */
    // @ApiMember(Description="Consent for allowing Cross Border Data Transfer For TimeVallée")
    public var tvAllowStoreDataAbroad:Bool?

    /**
    * Provide 'true' if you allow data sharing consent. Leave empty or 'false' if you do not.
    */
    // @ApiMember(Description="Provide 'true' if you allow data sharing consent. Leave empty or 'false' if you do not.")
    public var dataSharingConsent:Bool?

    /**
    * Notes
    */
    // @ApiMember(Description="Notes")
    public var notes:String

    /**
    * Reference Sale Representative Email
    */
    // @ApiMember(Description="Reference Sale Representative Email")
    public var referenceSaleRepresentativeEmail:String

    /**
    * Customer emails
    */
    // @ApiMember(Description="Customer emails")
    public var emails:[Email] = []

    /**
    * Customer phones
    */
    // @ApiMember(Description="Customer phones")
    public var phones:[Phone] = []

    /**
    * Customer addresses
    */
    // @ApiMember(Description="Customer addresses")
    public var addresses:[Address] = []

    /**
    * Customer events
    */
    // @ApiMember(Description="Customer events")
    public var events:[Event] = []

    /**
    * Customer interests
    */
    // @ApiMember(Description="Customer interests")
    public var interests:[Interest] = []

    /**
    * Customer hobbies
    */
    // @ApiMember(Description="Customer hobbies")
    public var hobbies:[Hobby] = []

    /**
    * Customer product collections
    */
    // @ApiMember(Description="Customer product collections")
    public var productCollections:[ProductCollection] = []

    required public init(){}
}

public class Email : Codable
{
    /**
    * Email
    */
    // @ApiMember(Description="Email", IsRequired=true)
    public var email:String

    /**
    * Main email
    */
    // @ApiMember(Description="Main email", IsRequired=true)
    public var isMainEmail:Bool

    required public init(){}
}

public class Phone : Codable
{
    /**
    * Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456
    */
    // @ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true)
    public var phone:String

    /**
    * Prefix Country Id e.g. it, fr, az
    */
    // @ApiMember(Description="Prefix Country Id e.g. it, fr, az", IsRequired=true)
    public var countryPrefix:String

    /**
    * Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'
    */
    // @ApiMember(Description="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'")
    public var phoneType:String

    /**
    * Main Phone
    */
    // @ApiMember(Description="Main Phone", IsRequired=true)
    public var isMainPhone:Bool

    required public init(){}
}

public class Address : Codable
{
    /**
    * Address type e.g. Home, Office, Shipping
    */
    // @ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true)
    public var addressType:String

    /**
    * Country Id e.g. it, cn, az, gb, de
    */
    // @ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)
    public var countryId:String

    /**
    * House Number
    */
    // @ApiMember(Description="House Number")
    public var houseNumber:String

    /**
    * Region/State
    */
    // @ApiMember(Description="Region/State")
    public var stateId:String

    /**
    * City Name
    */
    // @ApiMember(Description="City Name")
    public var city:String

    /**
    * Postal Code
    */
    // @ApiMember(Description="Postal Code")
    public var zipCode:String

    /**
    * Street Name and Number
    */
    // @ApiMember(Description="Street Name and Number")
    public var street:String

    /**
    * Street 2
    */
    // @ApiMember(Description="Street 2")
    public var street2:String

    /**
    * Street 3
    */
    // @ApiMember(Description="Street 3")
    public var street3:String

    /**
    * Street 4
    */
    // @ApiMember(Description="Street 4")
    public var street4:String

    /**
    * Street 5
    */
    // @ApiMember(Description="Street 5")
    public var street5:String

    /**
    * Main Address
    */
    // @ApiMember(Description="Main Address", IsRequired=true)
    public var isMainAddress:Bool

    /**
    * Post Office Box
    */
    // @ApiMember(Description="Post Office Box")
    public var poBox:String

    /**
    * Additional Information
    */
    // @ApiMember(Description="Additional Information")
    public var additionalInformation:String

    required public init(){}
}

public class Event : Codable
{
    /**
    * Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'
    */
    // @ApiMember(Description="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired=true)
    public var eventType:String

    /**
    * Event date e.g. '2021-01-20'
    */
    // @ApiMember(Description="Event date e.g. '2021-01-20'", IsRequired=true)
    public var eventDate:Date

    /**
    * Event notes
    */
    // @ApiMember(Description="Event notes")
    public var eventNotes:String

    /**
    * Event other name
    */
    // @ApiMember(Description="Event other name")
    public var eventOtherName:String

    required public init(){}
}

public class Interest : Codable
{
    /**
    * Interest description
    */
    // @ApiMember(Description="Interest description", IsRequired=true)
    public var interest:String

    /**
    * SAP Interest ID, e.g. 'CA-1'
    */
    // @ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true)
    public var sapInterestId:String

    /**
    * Interest description translation
    */
    // @ApiMember(Description="Interest description translation")
    public var translation:String

    required public init(){}
}

public class Hobby : Codable
{
    /**
    * Hobby description
    */
    // @ApiMember(Description="Hobby description", IsRequired=true)
    public var hobby:String

    /**
    * SAP Hobby ID, e.g. 'ART'
    */
    // @ApiMember(Description="SAP Hobby ID, e.g. 'ART'", IsRequired=true)
    public var sapHobbyId:String

    /**
    * Hobby description translation
    */
    // @ApiMember(Description="Hobby description translation")
    public var translation:String

    required public init(){}
}

public class ProductCollection : Codable
{
    /**
    * Product Collection description
    */
    // @ApiMember(Description="Product Collection description", IsRequired=true)
    public var productCollection:String

    /**
    * SAP ProductCollection ID, e.g. 'CA-1'
    */
    // @ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true)
    public var sapProductCollectionId:String

    /**
    * Product Collection description translation
    */
    // @ApiMember(Description="Product Collection description translation", IsRequired=true)
    public var translation:String

    required public init(){}
}


Swift PatchCustomer DTOs

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

HTTP + OTHER

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

PATCH /customer/{boosterCustomerId} HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"boosterCustomerId":0,"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","weddingDate":"\/Date(-62135596800000-0000)\/","preferredContactMethod":"String","contactByEmailFlag":false,"contactByMailFlag":false,"contactByPhoneFlag":false,"contactBySMSFlag":false,"contactBySocialMediaFlag":false,"saleRepresentativeEmail":"String","allowStoreDataAbroad":false,"tvAllowStoreDataAbroad":false,"dataSharingConsent":false,"notes":"String","referenceSaleRepresentativeEmail":"String","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"}]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{}