POST | /customer | Create customer | Create CRM customer |
---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
public static class CreateCustomer extends Customer
{
/**
* Privacy policy acceptance for data storage
*/
@ApiMember(Description="Privacy policy acceptance for data storage", IsRequired=true)
public Boolean privacyPolicyAcceptanceStorage = null;
/**
* Privacy policy acceptance of data storage for TimeVallée
*/
@ApiMember(Description="Privacy policy acceptance of data storage for TimeVallée")
public Boolean tvPrivacyPolicyAcceptanceStorage = null;
public Boolean isPrivacyPolicyAcceptanceStorage() { return privacyPolicyAcceptanceStorage; }
public CreateCustomer setPrivacyPolicyAcceptanceStorage(Boolean value) { this.privacyPolicyAcceptanceStorage = value; return this; }
public Boolean isTvPrivacyPolicyAcceptanceStorage() { return tvPrivacyPolicyAcceptanceStorage; }
public CreateCustomer setTvPrivacyPolicyAcceptanceStorage(Boolean value) { this.tvPrivacyPolicyAcceptanceStorage = value; return this; }
}
public static class Customer
{
/**
* Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'PRIVATE'
*/
@ApiMember(Description="Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'PRIVATE'")
public String title = null;
/**
* First Name
*/
@ApiMember(Description="First Name")
public String firstName = null;
/**
* Last Name - Mandatory only when customer type is 'PRIVATE'
*/
@ApiMember(Description="Last Name - Mandatory only when customer type is 'PRIVATE'")
public String lastName = null;
/**
* First Name Not Latin
*/
@ApiMember(Description="First Name Not Latin")
public String firstNameNotLatin = null;
/**
* Last Name Not Latin
*/
@ApiMember(Description="Last Name Not Latin")
public String lastNameNotLatin = null;
/**
* Middle Name
*/
@ApiMember(Description="Middle Name")
public String middleName = null;
/**
* Name Suffix
*/
@ApiMember(Description="Name Suffix")
public String nameSuffix = 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)
public Boolean canBeContactedByMaison = null;
/**
* Customer Type e.g. 'PRIVATE' or 'COMPANY'
*/
@ApiMember(Description="Customer Type e.g. 'PRIVATE' or 'COMPANY'", IsRequired=true)
public String clientType = null;
/**
* Company Name - Mandatory only when customer type is 'COMPANY'
*/
@ApiMember(Description="Company Name - Mandatory only when customer type is 'COMPANY'")
public String companyName = null;
/**
* Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'PRIVATE'
*/
@ApiMember(Description="Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'PRIVATE'")
public String languageId = null;
/**
* Gender e.g. M, F - Mandatory only when customer type is 'PRIVATE'
*/
@ApiMember(Description="Gender e.g. M, F - Mandatory only when customer type is 'PRIVATE'")
public String gender = null;
/**
* Country Id e.g. it, cn, az, gb, de
*/
@ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)
public String countryId = null;
/**
* Birth Date e.g. '2020-12-30'
*/
@ApiMember(Description="Birth Date e.g. '2020-12-30'")
public Date birthDate = null;
/**
* Customer reference
*/
@ApiMember(Description="Customer reference")
public String customerReference = null;
/**
* POS Code e.g. ES100:102048
*/
@ApiMember(Description="POS Code e.g. ES100:102048", IsRequired=true)
public String posCode = null;
/**
* Brand e.g. CAR, MTB
*/
@ApiMember(Description="Brand e.g. CAR, MTB", IsRequired=true)
public String brand = null;
/**
* Wedding Date, e.g. '2020-01-18'
*/
@ApiMember(Description="Wedding Date, e.g. '2020-01-18'")
public Date weddingDate = null;
/**
* Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'
*/
@ApiMember(Description="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'")
public String preferredContactMethod = 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.")
public Boolean contactByEmailFlag = 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.")
public Boolean contactByMailFlag = 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.")
public Boolean contactByPhoneFlag = 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.")
public Boolean contactBySMSFlag = 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.")
public Boolean contactBySocialMediaFlag = null;
/**
* Sale Representative Email e.g. rauf.aliyev@richemont.com
*/
@ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com")
public String saleRepresentativeEmail = null;
/**
* Consent for allowing Cross Border Data Transfer
*/
@ApiMember(Description="Consent for allowing Cross Border Data Transfer")
public Boolean allowStoreDataAbroad = null;
/**
* Consent for allowing Cross Border Data Transfer For TimeVallée
*/
@ApiMember(Description="Consent for allowing Cross Border Data Transfer For TimeVallée")
public Boolean tvAllowStoreDataAbroad = null;
/**
* Customer emails
*/
@ApiMember(Description="Customer emails")
public ArrayList<Email> emails = null;
/**
* Customer phones
*/
@ApiMember(Description="Customer phones")
public ArrayList<Phone> phones = null;
/**
* Customer addresses
*/
@ApiMember(Description="Customer addresses")
public ArrayList<Address> addresses = null;
/**
* Customer events
*/
@ApiMember(Description="Customer events")
public ArrayList<Event> events = null;
/**
* Customer interests
*/
@ApiMember(Description="Customer interests")
public ArrayList<Interest> interests = null;
/**
* Customer hobbies
*/
@ApiMember(Description="Customer hobbies")
public ArrayList<Hobby> hobbies = null;
/**
* Customer product collections
*/
@ApiMember(Description="Customer product collections")
public ArrayList<ProductCollection> productCollections = 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.")
public Boolean dataSharingConsent = null;
/**
* Notes
*/
@ApiMember(Description="Notes")
public String notes = null;
/**
* Reference Sale Representative Email
*/
@ApiMember(Description="Reference Sale Representative Email")
public String referenceSaleRepresentativeEmail = null;
/**
* Registration Date
*/
@ApiMember(Description="Registration Date")
public Date registrationDate = null;
public String getTitle() { return title; }
public Customer setTitle(String value) { this.title = value; return this; }
public String getFirstName() { return firstName; }
public Customer setFirstName(String value) { this.firstName = value; return this; }
public String getLastName() { return lastName; }
public Customer setLastName(String value) { this.lastName = value; return this; }
public String getFirstNameNotLatin() { return firstNameNotLatin; }
public Customer setFirstNameNotLatin(String value) { this.firstNameNotLatin = value; return this; }
public String getLastNameNotLatin() { return lastNameNotLatin; }
public Customer setLastNameNotLatin(String value) { this.lastNameNotLatin = value; return this; }
public String getMiddleName() { return middleName; }
public Customer setMiddleName(String value) { this.middleName = value; return this; }
public String getNameSuffix() { return nameSuffix; }
public Customer setNameSuffix(String value) { this.nameSuffix = value; return this; }
public Boolean isCanBeContactedByMaison() { return canBeContactedByMaison; }
public Customer setCanBeContactedByMaison(Boolean value) { this.canBeContactedByMaison = value; return this; }
public String getClientType() { return clientType; }
public Customer setClientType(String value) { this.clientType = value; return this; }
public String getCompanyName() { return companyName; }
public Customer setCompanyName(String value) { this.companyName = value; return this; }
public String getLanguageId() { return languageId; }
public Customer setLanguageId(String value) { this.languageId = value; return this; }
public String getGender() { return gender; }
public Customer setGender(String value) { this.gender = value; return this; }
public String getCountryId() { return countryId; }
public Customer setCountryId(String value) { this.countryId = value; return this; }
public Date getBirthDate() { return birthDate; }
public Customer setBirthDate(Date value) { this.birthDate = value; return this; }
public String getCustomerReference() { return customerReference; }
public Customer setCustomerReference(String value) { this.customerReference = value; return this; }
public String getPosCode() { return posCode; }
public Customer setPosCode(String value) { this.posCode = value; return this; }
public String getBrand() { return brand; }
public Customer setBrand(String value) { this.brand = value; return this; }
public Date getWeddingDate() { return weddingDate; }
public Customer setWeddingDate(Date value) { this.weddingDate = value; return this; }
public String getPreferredContactMethod() { return preferredContactMethod; }
public Customer setPreferredContactMethod(String value) { this.preferredContactMethod = value; return this; }
public Boolean isContactByEmailFlag() { return contactByEmailFlag; }
public Customer setContactByEmailFlag(Boolean value) { this.contactByEmailFlag = value; return this; }
public Boolean isContactByMailFlag() { return contactByMailFlag; }
public Customer setContactByMailFlag(Boolean value) { this.contactByMailFlag = value; return this; }
public Boolean isContactByPhoneFlag() { return contactByPhoneFlag; }
public Customer setContactByPhoneFlag(Boolean value) { this.contactByPhoneFlag = value; return this; }
public Boolean isContactBySMSFlag() { return contactBySMSFlag; }
public Customer setContactBySMSFlag(Boolean value) { this.contactBySMSFlag = value; return this; }
public Boolean isContactBySocialMediaFlag() { return contactBySocialMediaFlag; }
public Customer setContactBySocialMediaFlag(Boolean value) { this.contactBySocialMediaFlag = value; return this; }
public String getSaleRepresentativeEmail() { return saleRepresentativeEmail; }
public Customer setSaleRepresentativeEmail(String value) { this.saleRepresentativeEmail = value; return this; }
public Boolean isAllowStoreDataAbroad() { return allowStoreDataAbroad; }
public Customer setAllowStoreDataAbroad(Boolean value) { this.allowStoreDataAbroad = value; return this; }
public Boolean isTvAllowStoreDataAbroad() { return tvAllowStoreDataAbroad; }
public Customer setTvAllowStoreDataAbroad(Boolean value) { this.tvAllowStoreDataAbroad = value; return this; }
public ArrayList<Email> getEmails() { return emails; }
public Customer setEmails(ArrayList<Email> value) { this.emails = value; return this; }
public ArrayList<Phone> getPhones() { return phones; }
public Customer setPhones(ArrayList<Phone> value) { this.phones = value; return this; }
public ArrayList<Address> getAddresses() { return addresses; }
public Customer setAddresses(ArrayList<Address> value) { this.addresses = value; return this; }
public ArrayList<Event> getEvents() { return events; }
public Customer setEvents(ArrayList<Event> value) { this.events = value; return this; }
public ArrayList<Interest> getInterests() { return interests; }
public Customer setInterests(ArrayList<Interest> value) { this.interests = value; return this; }
public ArrayList<Hobby> getHobbies() { return hobbies; }
public Customer setHobbies(ArrayList<Hobby> value) { this.hobbies = value; return this; }
public ArrayList<ProductCollection> getProductCollections() { return productCollections; }
public Customer setProductCollections(ArrayList<ProductCollection> value) { this.productCollections = value; return this; }
public Boolean isDataSharingConsent() { return dataSharingConsent; }
public Customer setDataSharingConsent(Boolean value) { this.dataSharingConsent = value; return this; }
public String getNotes() { return notes; }
public Customer setNotes(String value) { this.notes = value; return this; }
public String getReferenceSaleRepresentativeEmail() { return referenceSaleRepresentativeEmail; }
public Customer setReferenceSaleRepresentativeEmail(String value) { this.referenceSaleRepresentativeEmail = value; return this; }
public Date getRegistrationDate() { return registrationDate; }
public Customer setRegistrationDate(Date value) { this.registrationDate = value; return this; }
}
public static class Email
{
/**
* Email
*/
@ApiMember(Description="Email", IsRequired=true)
public String email = null;
/**
* Main email
*/
@ApiMember(Description="Main email", IsRequired=true)
public Boolean isMainEmail = null;
public String getEmail() { return email; }
public Email setEmail(String value) { this.email = value; return this; }
public Boolean getIsMainEmail() { return isMainEmail; }
public Email setIsMainEmail(Boolean value) { this.isMainEmail = value; return this; }
}
public static class Phone
{
/**
* Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456
*/
@ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true)
public String phone = null;
/**
* Prefix Country Id e.g. it, fr, az
*/
@ApiMember(Description="Prefix Country Id e.g. it, fr, az", IsRequired=true)
public String countryPrefix = null;
/**
* Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'
*/
@ApiMember(Description="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'")
public String phoneType = null;
/**
* Main Phone
*/
@ApiMember(Description="Main Phone", IsRequired=true)
public Boolean isMainPhone = null;
public String getPhone() { return phone; }
public Phone setPhone(String value) { this.phone = value; return this; }
public String getCountryPrefix() { return countryPrefix; }
public Phone setCountryPrefix(String value) { this.countryPrefix = value; return this; }
public String getPhoneType() { return phoneType; }
public Phone setPhoneType(String value) { this.phoneType = value; return this; }
public Boolean getIsMainPhone() { return isMainPhone; }
public Phone setIsMainPhone(Boolean value) { this.isMainPhone = value; return this; }
}
public static class Address
{
/**
* Address type e.g. Home, Office, Shipping
*/
@ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true)
public String addressType = null;
/**
* Country Id e.g. it, cn, az, gb, de
*/
@ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)
public String countryId = null;
/**
* House Number
*/
@ApiMember(Description="House Number")
public String houseNumber = null;
/**
* Region/State
*/
@ApiMember(Description="Region/State")
public String stateId = null;
/**
* City Name
*/
@ApiMember(Description="City Name")
public String city = null;
/**
* Postal Code
*/
@ApiMember(Description="Postal Code")
public String zipCode = null;
/**
* Street Name and Number
*/
@ApiMember(Description="Street Name and Number")
public String street = null;
/**
* Street 2
*/
@ApiMember(Description="Street 2")
public String street2 = null;
/**
* Street 3
*/
@ApiMember(Description="Street 3")
public String street3 = null;
/**
* Street 4
*/
@ApiMember(Description="Street 4")
public String street4 = null;
/**
* Street 5
*/
@ApiMember(Description="Street 5")
public String street5 = null;
/**
* Main Address
*/
@ApiMember(Description="Main Address", IsRequired=true)
public Boolean isMainAddress = null;
/**
* Post Office Box
*/
@ApiMember(Description="Post Office Box")
public String poBox = null;
/**
* Additional Information
*/
@ApiMember(Description="Additional Information")
public String additionalInformation = null;
public String getAddressType() { return addressType; }
public Address setAddressType(String value) { this.addressType = value; return this; }
public String getCountryId() { return countryId; }
public Address setCountryId(String value) { this.countryId = value; return this; }
public String getHouseNumber() { return houseNumber; }
public Address setHouseNumber(String value) { this.houseNumber = value; return this; }
public String getStateId() { return stateId; }
public Address setStateId(String value) { this.stateId = value; return this; }
public String getCity() { return city; }
public Address setCity(String value) { this.city = value; return this; }
public String getZipCode() { return zipCode; }
public Address setZipCode(String value) { this.zipCode = value; return this; }
public String getStreet() { return street; }
public Address setStreet(String value) { this.street = value; return this; }
public String getStreet2() { return street2; }
public Address setStreet2(String value) { this.street2 = value; return this; }
public String getStreet3() { return street3; }
public Address setStreet3(String value) { this.street3 = value; return this; }
public String getStreet4() { return street4; }
public Address setStreet4(String value) { this.street4 = value; return this; }
public String getStreet5() { return street5; }
public Address setStreet5(String value) { this.street5 = value; return this; }
public Boolean getIsMainAddress() { return isMainAddress; }
public Address setIsMainAddress(Boolean value) { this.isMainAddress = value; return this; }
public String getPoBox() { return poBox; }
public Address setPoBox(String value) { this.poBox = value; return this; }
public String getAdditionalInformation() { return additionalInformation; }
public Address setAdditionalInformation(String value) { this.additionalInformation = value; return this; }
}
public static class Event
{
/**
* Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'
*/
@ApiMember(Description="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired=true)
public String eventType = null;
/**
* Event date e.g. '2021-01-20'
*/
@ApiMember(Description="Event date e.g. '2021-01-20'", IsRequired=true)
public Date eventDate = null;
/**
* Event notes
*/
@ApiMember(Description="Event notes")
public String eventNotes = null;
/**
* Event other name
*/
@ApiMember(Description="Event other name")
public String eventOtherName = null;
public String getEventType() { return eventType; }
public Event setEventType(String value) { this.eventType = value; return this; }
public Date getEventDate() { return eventDate; }
public Event setEventDate(Date value) { this.eventDate = value; return this; }
public String getEventNotes() { return eventNotes; }
public Event setEventNotes(String value) { this.eventNotes = value; return this; }
public String getEventOtherName() { return eventOtherName; }
public Event setEventOtherName(String value) { this.eventOtherName = value; return this; }
}
public static class Interest
{
/**
* Interest description
*/
@ApiMember(Description="Interest description", IsRequired=true)
public String interest = null;
/**
* SAP Interest ID, e.g. 'CA-1'
*/
@ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true)
public String sapInterestId = null;
/**
* Interest description translation
*/
@ApiMember(Description="Interest description translation")
public String translation = null;
public String getInterest() { return interest; }
public Interest setInterest(String value) { this.interest = value; return this; }
public String getSapInterestId() { return sapInterestId; }
public Interest setSapInterestId(String value) { this.sapInterestId = value; return this; }
public String getTranslation() { return translation; }
public Interest setTranslation(String value) { this.translation = value; return this; }
}
public static class Hobby
{
/**
* Hobby description
*/
@ApiMember(Description="Hobby description", IsRequired=true)
public String hobby = null;
/**
* SAP Hobby ID, e.g. 'ART'
*/
@ApiMember(Description="SAP Hobby ID, e.g. 'ART'", IsRequired=true)
public String sapHobbyId = null;
/**
* Hobby description translation
*/
@ApiMember(Description="Hobby description translation")
public String translation = null;
public String getHobby() { return hobby; }
public Hobby setHobby(String value) { this.hobby = value; return this; }
public String getSapHobbyId() { return sapHobbyId; }
public Hobby setSapHobbyId(String value) { this.sapHobbyId = value; return this; }
public String getTranslation() { return translation; }
public Hobby setTranslation(String value) { this.translation = value; return this; }
}
public static class ProductCollection
{
/**
* Product Collection description
*/
@ApiMember(Description="Product Collection description", IsRequired=true)
public String productCollection = null;
/**
* SAP ProductCollection ID, e.g. 'CA-1'
*/
@ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true)
public String sapProductCollectionId = null;
/**
* Product Collection description translation
*/
@ApiMember(Description="Product Collection description translation", IsRequired=true)
public String translation = null;
public String getProductCollection() { return productCollection; }
public ProductCollection setProductCollection(String value) { this.productCollection = value; return this; }
public String getSapProductCollectionId() { return sapProductCollectionId; }
public ProductCollection setSapProductCollectionId(String value) { this.sapProductCollectionId = value; return this; }
public String getTranslation() { return translation; }
public ProductCollection setTranslation(String value) { this.translation = value; return this; }
}
public static class CreateCustomerResponse
{
/**
* Booster Customer ID
*/
@ApiMember(Description="Booster Customer ID", IsRequired=true)
public Integer boosterCustomerId = null;
public Integer getBoosterCustomerId() { return boosterCustomerId; }
public CreateCustomerResponse setBoosterCustomerId(Integer value) { this.boosterCustomerId = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=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}