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

export class Email
{
    /** @description Email */
    // @ApiMember(Description="Email", IsRequired=true)
    public email: string;

    /** @description Main email */
    // @ApiMember(Description="Main email", IsRequired=true)
    public isMainEmail: boolean;

    public constructor(init?: Partial<Email>) { (Object as any).assign(this, init); }
}

export class Phone
{
    /** @description Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456 */
    // @ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true)
    public phone: string;

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

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

    /** @description Main Phone */
    // @ApiMember(Description="Main Phone", IsRequired=true)
    public isMainPhone: boolean;

    public constructor(init?: Partial<Phone>) { (Object as any).assign(this, init); }
}

export class Address
{
    /** @description Address type e.g. Home, Office, Shipping */
    // @ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true)
    public addressType: string;

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

    /** @description House Number */
    // @ApiMember(Description="House Number")
    public houseNumber: string;

    /** @description Region/State */
    // @ApiMember(Description="Region/State")
    public stateId: string;

    /** @description City Name */
    // @ApiMember(Description="City Name")
    public city: string;

    /** @description Postal Code */
    // @ApiMember(Description="Postal Code")
    public zipCode: string;

    /** @description Street Name and Number */
    // @ApiMember(Description="Street Name and Number")
    public street: string;

    /** @description Street 2 */
    // @ApiMember(Description="Street 2")
    public street2: string;

    /** @description Street 3 */
    // @ApiMember(Description="Street 3")
    public street3: string;

    /** @description Street 4 */
    // @ApiMember(Description="Street 4")
    public street4: string;

    /** @description Street 5 */
    // @ApiMember(Description="Street 5")
    public street5: string;

    /** @description Main Address */
    // @ApiMember(Description="Main Address", IsRequired=true)
    public isMainAddress: boolean;

    /** @description Post Office Box */
    // @ApiMember(Description="Post Office Box")
    public poBox: string;

    /** @description Additional Information */
    // @ApiMember(Description="Additional Information")
    public additionalInformation: string;

    public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}

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

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

    /** @description Event notes */
    // @ApiMember(Description="Event notes")
    public eventNotes: string;

    /** @description Event other name */
    // @ApiMember(Description="Event other name")
    public eventOtherName: string;

    public constructor(init?: Partial<Event>) { (Object as any).assign(this, init); }
}

export class Interest
{
    /** @description Interest description */
    // @ApiMember(Description="Interest description", IsRequired=true)
    public interest: string;

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

    /** @description Interest description translation */
    // @ApiMember(Description="Interest description translation")
    public translation: string;

    public constructor(init?: Partial<Interest>) { (Object as any).assign(this, init); }
}

export class Hobby
{
    /** @description Hobby description */
    // @ApiMember(Description="Hobby description", IsRequired=true)
    public hobby: string;

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

    /** @description Hobby description translation */
    // @ApiMember(Description="Hobby description translation")
    public translation: string;

    public constructor(init?: Partial<Hobby>) { (Object as any).assign(this, init); }
}

export class ProductCollection
{
    /** @description Product Collection description */
    // @ApiMember(Description="Product Collection description", IsRequired=true)
    public productCollection: string;

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

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

    public constructor(init?: Partial<ProductCollection>) { (Object as any).assign(this, init); }
}

export class PatchCustomer
{
    /** @description Booster customer Id */
    // @ApiMember(Description="Booster customer Id", IsRequired=true)
    public boosterCustomerId: number;

    /** @description 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 title: string;

    /** @description First Name */
    // @ApiMember(Description="First Name")
    public firstName: string;

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

    /** @description First Name Not Latin */
    // @ApiMember(Description="First Name Not Latin")
    public firstNameNotLatin: string;

    /** @description Last Name Not Latin */
    // @ApiMember(Description="Last Name Not Latin")
    public lastNameNotLatin: string;

    /** @description Middle Name */
    // @ApiMember(Description="Middle Name")
    public middleName: string;

    /** @description Name Suffix */
    // @ApiMember(Description="Name Suffix")
    public nameSuffix: string;

    /** @description 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 canBeContactedByMaison: boolean;

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

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

    /** @description 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 languageId: string;

    /** @description 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 gender: string;

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

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

    /** @description Customer reference */
    // @ApiMember(Description="Customer reference")
    public customerReference: string;

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

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

    /** @description 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 contactByEmailFlag?: boolean;

    /** @description 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 contactByMailFlag?: boolean;

    /** @description 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 contactByPhoneFlag?: boolean;

    /** @description 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 contactBySMSFlag?: boolean;

    /** @description 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 contactBySocialMediaFlag?: boolean;

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

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

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

    /** @description 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 dataSharingConsent?: boolean;

    /** @description Notes */
    // @ApiMember(Description="Notes")
    public notes: string;

    /** @description Reference Sale Representative Email */
    // @ApiMember(Description="Reference Sale Representative Email")
    public referenceSaleRepresentativeEmail: string;

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

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

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

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

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

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

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

    public constructor(init?: Partial<PatchCustomer>) { (Object as any).assign(this, init); }
}

TypeScript PatchCustomer 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.

PATCH /customer/{boosterCustomerId} HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsv
Content-Type: text/jsv
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: 0001-01-01,
	customerReference: String,
	weddingDate: 0001-01-01,
	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: 0001-01-01,
			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/jsv
Content-Length: length

{
	
}