| GET | /customer/v2/{customerId} | Get customer details | Get Customer info based on the Booster or Elevate Customer ID |
|---|
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 CustomerEventV2
{
/** @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<CustomerEventV2>) { (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 GetCustomerV2Response
{
/** @description Booster Customer ID */
// @ApiMember(Description="Booster Customer ID")
public boosterCustomerId?: number;
/** @description Elevate Customer ID */
// @ApiMember(Description="Elevate Customer ID")
public elevateCustomerId: string;
/** @description SAP ID */
// @ApiMember(Description="SAP ID", IsRequired=true)
public sapId: string;
/** @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'", IsRequired=true)
public title: string;
/** @description First Name */
// @ApiMember(Description="First Name", IsRequired=true)
public firstName: string;
/** @description Last Name - Mandatory only when customer type is 'Personal' */
// @ApiMember(Description="Last Name - Mandatory only when customer type is 'Personal'", IsRequired=true)
public lastName: string;
/** @description First Name Not Latin, e.g. Arabic */
// @ApiMember(Description="First Name Not Latin, e.g. Arabic", IsRequired=true)
public firstNameNotLatin: string;
/** @description Last Name Not Latin, e.g. Arabic; Mandatory only when customer type is 'Personal' */
// @ApiMember(Description="Last Name Not Latin, e.g. Arabic; Mandatory only when customer type is 'Personal'", IsRequired=true)
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, ch, az, gb, de */
// @ApiMember(Description="Country Id e.g. it, ch, az, gb, de", IsRequired=true)
public countryId: string;
/** @description Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany */
// @ApiMember(Description="Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany", IsRequired=true)
public countryDs: 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 POS Code e.g. ES100:102048 */
// @ApiMember(Description="POS Code e.g. ES100:102048", IsRequired=true)
public posCode: string;
/** @description Brand e.g. CAR, MTB */
// @ApiMember(Description="Brand e.g. CAR, MTB", IsRequired=true)
public brand: 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 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 Data Sharing Consent Timestamp */
// @ApiMember(Description="Data Sharing Consent Timestamp")
public dataSharingConsentTimestamp: string;
/** @description Client Registration Date */
// @ApiMember(Description="Client Registration Date")
public clientRegistrationDate: string;
/** @description Client Creation Date */
// @ApiMember(Description="Client Creation Date")
public createdOn: string;
/** @description Notes */
// @ApiMember(Description="Notes")
public notes: 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: CustomerEventV2[];
/** @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[];
/** @description Registration date */
// @ApiMember(Description="Registration date")
public registrationDate?: string;
/** @description Sap Crm Error Message */
// @ApiMember(Description="Sap Crm Error Message")
public sapCrmErrorMessage: string;
public constructor(init?: Partial<GetCustomerV2Response>) { (Object as any).assign(this, init); }
}
export class GetCustomerV2
{
/** @description Booster or Elevate Customer ID */
// @ApiMember(Description="Booster or Elevate Customer ID", IsRequired=true)
public customerId: string;
public constructor(init?: Partial<GetCustomerV2>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /customer/v2/{customerId} HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"boosterCustomerId":0,"elevateCustomerId":"String","sapId":"String","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","countryDs":"String","birthDate":"String","customerReference":"String","posCode":"String","brand":"String","weddingDate":"String","preferredContactMethod":"String","contactByEmailFlag":false,"contactByMailFlag":false,"contactByPhoneFlag":false,"contactBySMSFlag":false,"contactBySocialMediaFlag":false,"saleRepresentativeEmail":"String","allowStoreDataAbroad":false,"dataSharingConsent":false,"dataSharingConsentTimestamp":"String","clientRegistrationDate":"String","createdOn":"String","notes":"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":"String","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"}],"registrationDate":"\/Date(-62135596800000-0000)\/","sapCrmErrorMessage":"String"}