| GET | /customer/v2/{customerId} | Get customer details | Get Customer info based on the Booster or Elevate Customer ID |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
open class GetCustomerV2
{
/**
* Booster or Elevate Customer ID
*/
@ApiMember(Description="Booster or Elevate Customer ID", IsRequired=true)
open var customerId:String? = null
}
open class GetCustomerV2Response
{
/**
* Booster Customer ID
*/
@ApiMember(Description="Booster Customer ID")
open var boosterCustomerId:Int? = null
/**
* Elevate Customer ID
*/
@ApiMember(Description="Elevate Customer ID")
open var elevateCustomerId:String? = null
/**
* SAP ID
*/
@ApiMember(Description="SAP ID", IsRequired=true)
open var sapId:String? = null
/**
* 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)
open var title:String? = null
/**
* First Name
*/
@ApiMember(Description="First Name", IsRequired=true)
open var firstName:String? = null
/**
* Last Name - Mandatory only when customer type is 'Personal'
*/
@ApiMember(Description="Last Name - Mandatory only when customer type is 'Personal'", IsRequired=true)
open var lastName:String? = null
/**
* First Name Not Latin, e.g. Arabic
*/
@ApiMember(Description="First Name Not Latin, e.g. Arabic", IsRequired=true)
open var firstNameNotLatin:String? = null
/**
* 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)
open var lastNameNotLatin:String? = null
/**
* Middle Name
*/
@ApiMember(Description="Middle Name")
open var middleName:String? = null
/**
* Name Suffix
*/
@ApiMember(Description="Name Suffix")
open var nameSuffix:String? = null
/**
* Can be Contacted by Maison e.g. true or false
*/
@ApiMember(Description="Can be Contacted by Maison e.g. true or false", IsRequired=true)
open var canBeContactedByMaison:Boolean? = null
/**
* clientType e.g. Private, Company
*/
@ApiMember(Description="clientType e.g. Private, Company", IsRequired=true)
open var clientType:String? = null
/**
* Company Name - Mandatory only when customer type is 'Company'
*/
@ApiMember(Description="Company Name - Mandatory only when customer type is 'Company'")
open var companyName:String? = null
/**
* 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'")
open var languageId:String? = null
/**
* 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'")
open var gender:String? = null
/**
* Country Id e.g. it, ch, az, gb, de
*/
@ApiMember(Description="Country Id e.g. it, ch, az, gb, de", IsRequired=true)
open var countryId:String? = null
/**
* Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany
*/
@ApiMember(Description="Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany", IsRequired=true)
open var countryDs:String? = null
/**
* Birth Date e.g. '2020-12-30'
*/
@ApiMember(Description="Birth Date e.g. '2020-12-30'")
open var birthDate:String? = null
/**
* Customer reference
*/
@ApiMember(Description="Customer reference")
open var customerReference:String? = null
/**
* POS Code e.g. ES100:102048
*/
@ApiMember(Description="POS Code e.g. ES100:102048", IsRequired=true)
open var posCode:String? = null
/**
* Brand e.g. CAR, MTB
*/
@ApiMember(Description="Brand e.g. CAR, MTB", IsRequired=true)
open var brand:String? = null
/**
* Wedding Date, e.g. '2020-01-18'
*/
@ApiMember(Description="Wedding Date, e.g. '2020-01-18'")
open var weddingDate:String? = null
/**
* Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'
*/
@ApiMember(Description="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'")
open var preferredContactMethod:String? = null
/**
* 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.")
open var contactByEmailFlag:Boolean? = null
/**
* 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.")
open var contactByMailFlag:Boolean? = null
/**
* 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.")
open var contactByPhoneFlag:Boolean? = null
/**
* 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.")
open var contactBySMSFlag:Boolean? = null
/**
* 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.")
open var contactBySocialMediaFlag:Boolean? = null
/**
* Sale Representative Email e.g. rauf.aliyev@richemont.com
*/
@ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com")
open var saleRepresentativeEmail:String? = null
/**
* Consent for allowing Cross Border Data Transfer
*/
@ApiMember(Description="Consent for allowing Cross Border Data Transfer")
open var allowStoreDataAbroad:Boolean? = null
/**
* 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.")
open var dataSharingConsent:Boolean? = null
/**
* Data Sharing Consent Timestamp
*/
@ApiMember(Description="Data Sharing Consent Timestamp")
open var dataSharingConsentTimestamp:String? = null
/**
* Client Registration Date
*/
@ApiMember(Description="Client Registration Date")
open var clientRegistrationDate:String? = null
/**
* Client Creation Date
*/
@ApiMember(Description="Client Creation Date")
open var createdOn:String? = null
/**
* Notes
*/
@ApiMember(Description="Notes")
open var notes:String? = null
/**
* Customer emails
*/
@ApiMember(Description="Customer emails")
open var emails:ArrayList<Email>? = null
/**
* Customer phones
*/
@ApiMember(Description="Customer phones")
open var phones:ArrayList<Phone>? = null
/**
* Customer addresses
*/
@ApiMember(Description="Customer addresses")
open var addresses:ArrayList<Address>? = null
/**
* Customer events
*/
@ApiMember(Description="Customer events")
open var events:ArrayList<CustomerEventV2>? = null
/**
* Customer interests
*/
@ApiMember(Description="Customer interests")
open var interests:ArrayList<Interest>? = null
/**
* Customer hobbies
*/
@ApiMember(Description="Customer hobbies")
open var hobbies:ArrayList<Hobby>? = null
/**
* Customer Product Collections
*/
@ApiMember(Description="Customer Product Collections")
open var productCollections:ArrayList<ProductCollection>? = null
/**
* Registration date
*/
@ApiMember(Description="Registration date")
open var registrationDate:Date? = null
/**
* Sap Crm Error Message
*/
@ApiMember(Description="Sap Crm Error Message")
open var sapCrmErrorMessage:String? = null
}
open class Email
{
/**
* Email
*/
@ApiMember(Description="Email", IsRequired=true)
open var email:String? = null
/**
* Main email
*/
@ApiMember(Description="Main email", IsRequired=true)
open var isMainEmail:Boolean? = null
}
open class Phone
{
/**
* Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456
*/
@ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true)
open var phone:String? = null
/**
* Prefix Country Id e.g. it, fr, az
*/
@ApiMember(Description="Prefix Country Id e.g. it, fr, az", IsRequired=true)
open var countryPrefix:String? = null
/**
* Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'
*/
@ApiMember(Description="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'")
open var phoneType:String? = null
/**
* Main Phone
*/
@ApiMember(Description="Main Phone", IsRequired=true)
open var isMainPhone:Boolean? = null
}
open class Address
{
/**
* Address type e.g. Home, Office, Shipping
*/
@ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true)
open var addressType:String? = null
/**
* Country Id e.g. it, cn, az, gb, de
*/
@ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)
open var countryId:String? = null
/**
* House Number
*/
@ApiMember(Description="House Number")
open var houseNumber:String? = null
/**
* Region/State
*/
@ApiMember(Description="Region/State")
open var stateId:String? = null
/**
* City Name
*/
@ApiMember(Description="City Name")
open var city:String? = null
/**
* Postal Code
*/
@ApiMember(Description="Postal Code")
open var zipCode:String? = null
/**
* Street Name and Number
*/
@ApiMember(Description="Street Name and Number")
open var street:String? = null
/**
* Street 2
*/
@ApiMember(Description="Street 2")
open var street2:String? = null
/**
* Street 3
*/
@ApiMember(Description="Street 3")
open var street3:String? = null
/**
* Street 4
*/
@ApiMember(Description="Street 4")
open var street4:String? = null
/**
* Street 5
*/
@ApiMember(Description="Street 5")
open var street5:String? = null
/**
* Main Address
*/
@ApiMember(Description="Main Address", IsRequired=true)
open var isMainAddress:Boolean? = null
/**
* Post Office Box
*/
@ApiMember(Description="Post Office Box")
open var poBox:String? = null
/**
* Additional Information
*/
@ApiMember(Description="Additional Information")
open var additionalInformation:String? = null
}
open class CustomerEventV2
{
/**
* Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'
*/
@ApiMember(Description="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired=true)
open var eventType:String? = null
/**
* Event date e.g. '2021-01-20'
*/
@ApiMember(Description="Event date e.g. '2021-01-20'", IsRequired=true)
open var eventDate:String? = null
/**
* Event notes
*/
@ApiMember(Description="Event notes")
open var eventNotes:String? = null
/**
* Event other name
*/
@ApiMember(Description="Event other name")
open var eventOtherName:String? = null
}
open class Interest
{
/**
* Interest description
*/
@ApiMember(Description="Interest description", IsRequired=true)
open var interest:String? = null
/**
* SAP Interest ID, e.g. 'CA-1'
*/
@ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true)
open var sapInterestId:String? = null
/**
* Interest description translation
*/
@ApiMember(Description="Interest description translation")
open var translation:String? = null
}
open class Hobby
{
/**
* Hobby description
*/
@ApiMember(Description="Hobby description", IsRequired=true)
open var hobby:String? = null
/**
* SAP Hobby ID, e.g. 'ART'
*/
@ApiMember(Description="SAP Hobby ID, e.g. 'ART'", IsRequired=true)
open var sapHobbyId:String? = null
/**
* Hobby description translation
*/
@ApiMember(Description="Hobby description translation")
open var translation:String? = null
}
open class ProductCollection
{
/**
* Product Collection description
*/
@ApiMember(Description="Product Collection description", IsRequired=true)
open var productCollection:String? = null
/**
* SAP ProductCollection ID, e.g. 'CA-1'
*/
@ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true)
open var sapProductCollectionId:String? = null
/**
* Product Collection description translation
*/
@ApiMember(Description="Product Collection description translation", IsRequired=true)
open var translation:String? = null
}
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"}