Booster.Microservices

<back to all web services

GetCustomerSuggestion

Requires Authentication
The following routes are available for this service:
POST/warranty/v1/GetCustomerSuggestion
namespace Booster.Microservices.ServiceModel.Common

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type BaseResponse() = 
        member val _xmlns:String = null with get,set
        member val _type:String = null with get,set
        member val _source:String = null with get,set
        member val _tstamp:String = null with get,set
        member val _user:String = null with get,set
        member val _env:String = null with get,set
        member val _uri:String = null with get,set
        member val _query:String = null with get,set

    [<AllowNullLiteral>]
    type CustomerAddress() = 
        member val addressId:Guid = new Guid() with get,set
        member val description:String = null with get,set
        member val addressLine1:String = null with get,set
        member val addressLine2:String = null with get,set
        member val addressLine3:String = null with get,set
        member val addressLine4:String = null with get,set
        member val addressLine5:String = null with get,set
        member val houseNumber:String = null with get,set
        member val city:String = null with get,set
        member val region:String = null with get,set
        member val county:String = null with get,set
        member val stateOrProvinceId:String = null with get,set
        member val countryId:String = null with get,set
        member val countryDs:String = null with get,set
        member val zipCode:String = null with get,set
        member val addressTypeId:String = null with get,set
        member val isMailingAddress:Boolean = new Boolean() with get,set
        member val isMainAddress:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CustomerEmail() = 
        member val emailId:Guid = new Guid() with get,set
        member val description:String = null with get,set
        member val email:String = null with get,set
        member val isMainEmail:Boolean = new Boolean() with get,set
        member val type:Lookup<Char> = null with get,set

    [<AllowNullLiteral>]
    type CustomerPhone() = 
        member val phoneId:Guid = new Guid() with get,set
        member val description:String = null with get,set
        member val phone:String = null with get,set
        member val isMainPhone:Boolean = new Boolean() with get,set
        member val prefixCountryId:String = null with get,set
        member val telephonePrefix:String = null with get,set
        member val type:Lookup<Int32> = null with get,set

    [<AllowNullLiteral>]
    type GetCustomerSuggestionResponse() = 
        inherit BaseResponse()
        member val customerType:String = null with get,set
        member val customerRef:String = null with get,set
        member val title:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val titleDs:String = null with get,set
        member val firstName:String = null with get,set
        member val lastName:String = null with get,set
        member val firstNameNotLatin:String = null with get,set
        member val lastNameNotLatin:String = null with get,set
        member val birthday:String = null with get,set
        member val birthDayEventId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val weddingDate:String = null with get,set
        member val canBeContacted:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val seller:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val language:String = null with get,set
        member val languageDs:String = null with get,set
        member val nameSuffix:String = null with get,set
        member val gender:String = null with get,set
        member val companyName:String = null with get,set
        member val middleName:String = null with get,set
        member val customerId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val personId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val boosterCustomerId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val posOwnerId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val brandOwnerId:String = null with get,set
        member val businessUnitId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val sapGenderId:String = null with get,set
        member val allowStoreDataAbroad:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val privacyPolicyAcceptanceStorage:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val tvAllowStoreDataAbroad:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val tvPrivacyPolicyAcceptanceStorage:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val contactByMail:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val contactByEmail:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val contactByPhone:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val contactBySMS:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val contactBySocialMedia:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val addresses:ResizeArray<CustomerAddress> = new ResizeArray<CustomerAddress>() with get,set
        member val emails:ResizeArray<CustomerEmail> = new ResizeArray<CustomerEmail>() with get,set
        member val phones:ResizeArray<CustomerPhone> = new ResizeArray<CustomerPhone>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type GetCustomerSuggestion() = 
        inherit BaseRequest<GetCustomerSuggestionResponse>()
        member val emailAddress:String = null with get,set
        member val posId:Int32 = new Int32() with get,set
        member val brandTrigram:String = null with get,set
        member val phoneNumber:String = null with get,set
        member val prefixCountryId:String = null with get,set
        member val countryId:String = null with get,set

    [<AllowNullLiteral>]
    type BaseRequest<TResponse>() = 
        member val sid:String = null with get,set
        member val app:String = null with get,set
        member val _os:String = null with get,set
        member val _appVersion:String = null with get,set
        member val _searchMethod:String = null with get,set

    [<AllowNullLiteral>]
    type Lookup<T>() = 
        member val Id:T = null with get,set
        member val Description:String = null with get,set

F# GetCustomerSuggestion DTOs

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

HTTP + XML

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

POST /warranty/v1/GetCustomerSuggestion HTTP/1.1 
Host: qp-microservices-booster.richemont.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetCustomerSuggestion xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Sale">
  <_appVersion xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_appVersion>
  <_os xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_os>
  <_searchMethod xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_searchMethod>
  <app xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</app>
  <sid xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</sid>
  <brandTrigram>String</brandTrigram>
  <countryId>String</countryId>
  <emailAddress>String</emailAddress>
  <phoneNumber>String</phoneNumber>
  <posId>0</posId>
  <prefixCountryId>String</prefixCountryId>
</GetCustomerSuggestion>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetCustomerSuggestionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Sale">
  <_env xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_env>
  <_query xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_query>
  <_source xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_source>
  <_tstamp xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_tstamp>
  <_type xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_type>
  <_uri xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_uri>
  <_user xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_user>
  <_xmlns xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_xmlns>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <addresses>
    <CustomerAddress>
      <addressId>00000000-0000-0000-0000-000000000000</addressId>
      <addressLine1>String</addressLine1>
      <addressLine2>String</addressLine2>
      <addressLine3>String</addressLine3>
      <addressLine4>String</addressLine4>
      <addressLine5>String</addressLine5>
      <addressTypeId>String</addressTypeId>
      <city>String</city>
      <countryDs>String</countryDs>
      <countryId>String</countryId>
      <county>String</county>
      <description>String</description>
      <houseNumber>String</houseNumber>
      <isMailingAddress>false</isMailingAddress>
      <isMainAddress>false</isMainAddress>
      <region>String</region>
      <stateOrProvinceId>String</stateOrProvinceId>
      <zipCode>String</zipCode>
    </CustomerAddress>
  </addresses>
  <allowStoreDataAbroad>false</allowStoreDataAbroad>
  <birthDayEventId>00000000-0000-0000-0000-000000000000</birthDayEventId>
  <birthday>String</birthday>
  <boosterCustomerId>0</boosterCustomerId>
  <brandOwnerId>String</brandOwnerId>
  <businessUnitId>0</businessUnitId>
  <canBeContacted>false</canBeContacted>
  <companyName>String</companyName>
  <contactByEmail>false</contactByEmail>
  <contactByMail>false</contactByMail>
  <contactByPhone>false</contactByPhone>
  <contactBySMS>false</contactBySMS>
  <contactBySocialMedia>false</contactBySocialMedia>
  <customerId>00000000-0000-0000-0000-000000000000</customerId>
  <customerRef>String</customerRef>
  <customerType>String</customerType>
  <emails>
    <CustomerEmail>
      <description>String</description>
      <email>String</email>
      <emailId>00000000-0000-0000-0000-000000000000</emailId>
      <isMainEmail>false</isMainEmail>
      <type xmlns:d4p1="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">
        <d4p1:Description>String</d4p1:Description>
        <d4p1:Id>0</d4p1:Id>
      </type>
    </CustomerEmail>
  </emails>
  <firstName>String</firstName>
  <firstNameNotLatin>String</firstNameNotLatin>
  <gender>String</gender>
  <language>String</language>
  <languageDs>String</languageDs>
  <lastName>String</lastName>
  <lastNameNotLatin>String</lastNameNotLatin>
  <middleName>String</middleName>
  <nameSuffix>String</nameSuffix>
  <personId>00000000-0000-0000-0000-000000000000</personId>
  <phones>
    <CustomerPhone>
      <description>String</description>
      <isMainPhone>false</isMainPhone>
      <phone>String</phone>
      <phoneId>00000000-0000-0000-0000-000000000000</phoneId>
      <prefixCountryId>String</prefixCountryId>
      <telephonePrefix>String</telephonePrefix>
      <type xmlns:d4p1="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">
        <d4p1:Description>String</d4p1:Description>
        <d4p1:Id>0</d4p1:Id>
      </type>
    </CustomerPhone>
  </phones>
  <posOwnerId>0</posOwnerId>
  <privacyPolicyAcceptanceStorage>false</privacyPolicyAcceptanceStorage>
  <sapGenderId>String</sapGenderId>
  <seller>00000000-0000-0000-0000-000000000000</seller>
  <title>0</title>
  <titleDs>String</titleDs>
  <tvAllowStoreDataAbroad>false</tvAllowStoreDataAbroad>
  <tvPrivacyPolicyAcceptanceStorage>false</tvPrivacyPolicyAcceptanceStorage>
  <weddingDate>String</weddingDate>
</GetCustomerSuggestionResponse>