| POST | /warranty/v1/GetCustomerSuggestion |
|---|
export class BaseRequest<TResponse> implements IRequest
{
public sid: string;
public app: string;
public _os: string;
public _appVersion: string;
public _searchMethod: string;
public constructor(init?: Partial<BaseRequest<TResponse>>) { (Object as any).assign(this, init); }
}
export class BaseResponse implements IRespose
{
public _xmlns: string;
public _type: string;
public _source: string;
public _tstamp: string;
public _user: string;
public _env: string;
public _uri: string;
public _query: string;
public constructor(init?: Partial<BaseResponse>) { (Object as any).assign(this, init); }
}
export class CustomerAddress
{
public addressId: string;
public description: string;
public addressLine1: string;
public addressLine2: string;
public addressLine3: string;
public addressLine4: string;
public addressLine5: string;
public houseNumber: string;
public city: string;
public region: string;
public county: string;
public stateOrProvinceId: string;
public countryId: string;
public countryDs: string;
public zipCode: string;
public addressTypeId: string;
public isMailingAddress: boolean;
public isMainAddress: boolean;
public constructor(init?: Partial<CustomerAddress>) { (Object as any).assign(this, init); }
}
export class CustomerEmail
{
public emailId: string;
public description: string;
public email: string;
public isMainEmail: boolean;
public type: Lookup<string>;
public constructor(init?: Partial<CustomerEmail>) { (Object as any).assign(this, init); }
}
export class CustomerPhone
{
public phoneId: string;
public description: string;
public phone: string;
public isMainPhone: boolean;
public prefixCountryId: string;
public telephonePrefix: string;
public type: Lookup<number>;
public constructor(init?: Partial<CustomerPhone>) { (Object as any).assign(this, init); }
}
export class GetCustomerSuggestionResponse extends BaseResponse
{
public customerType: string;
public customerRef: string;
public title?: number;
public titleDs: string;
public firstName: string;
public lastName: string;
public firstNameNotLatin: string;
public lastNameNotLatin: string;
public birthday: string;
public birthDayEventId?: string;
public weddingDate: string;
public canBeContacted?: boolean;
public seller?: string;
public language: string;
public languageDs: string;
public nameSuffix: string;
public gender: string;
public companyName: string;
public middleName: string;
public customerId?: string;
public personId?: string;
public boosterCustomerId?: number;
public posOwnerId?: number;
public brandOwnerId: string;
public businessUnitId?: number;
public sapGenderId: string;
public allowStoreDataAbroad?: boolean;
public privacyPolicyAcceptanceStorage?: boolean;
public tvAllowStoreDataAbroad?: boolean;
public tvPrivacyPolicyAcceptanceStorage?: boolean;
public contactByMail?: boolean;
public contactByEmail?: boolean;
public contactByPhone?: boolean;
public contactBySMS?: boolean;
public contactBySocialMedia?: boolean;
public addresses: CustomerAddress[];
public emails: CustomerEmail[];
public phones: CustomerPhone[];
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<GetCustomerSuggestionResponse>) { super(init); (Object as any).assign(this, init); }
}
export class GetCustomerSuggestion extends BaseRequest<GetCustomerSuggestionResponse>
{
public emailAddress: string;
public posId: number;
public brandTrigram: string;
public phoneNumber: string;
public prefixCountryId: string;
public countryId: string;
public constructor(init?: Partial<GetCustomerSuggestion>) { super(init); (Object as any).assign(this, init); }
}
export class Lookup<T>
{
public Id: T;
public Description: string;
public constructor(init?: Partial<Lookup<T>>) { (Object as any).assign(this, init); }
}
TypeScript GetCustomerSuggestion DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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: text/jsv
Content-Type: text/jsv
Content-Length: length
{
emailAddress: String,
posId: 0,
brandTrigram: String,
phoneNumber: String,
prefixCountryId: String,
countryId: String,
sid: String,
app: String,
_os: String,
_appVersion: String,
_searchMethod: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
customerType: String,
customerRef: String,
title: 0,
titleDs: String,
firstName: String,
lastName: String,
firstNameNotLatin: String,
lastNameNotLatin: String,
birthday: String,
birthDayEventId: 00000000000000000000000000000000,
weddingDate: String,
canBeContacted: False,
seller: 00000000000000000000000000000000,
language: String,
languageDs: String,
nameSuffix: String,
gender: String,
companyName: String,
middleName: String,
customerId: 00000000000000000000000000000000,
personId: 00000000000000000000000000000000,
boosterCustomerId: 0,
posOwnerId: 0,
brandOwnerId: String,
businessUnitId: 0,
sapGenderId: String,
allowStoreDataAbroad: False,
privacyPolicyAcceptanceStorage: False,
tvAllowStoreDataAbroad: False,
tvPrivacyPolicyAcceptanceStorage: False,
contactByMail: False,
contactByEmail: False,
contactByPhone: False,
contactBySMS: False,
contactBySocialMedia: False,
addresses:
[
{
addressId: 00000000000000000000000000000000,
description: String,
addressLine1: String,
addressLine2: String,
addressLine3: String,
addressLine4: String,
addressLine5: String,
houseNumber: String,
city: String,
region: String,
county: String,
stateOrProvinceId: String,
countryId: String,
countryDs: String,
zipCode: String,
addressTypeId: String,
isMailingAddress: False,
isMainAddress: False
}
],
emails:
[
{
emailId: 00000000000000000000000000000000,
description: String,
email: String,
isMainEmail: False,
type:
{
Id: ,
Description: String
}
}
],
phones:
[
{
phoneId: 00000000000000000000000000000000,
description: String,
phone: String,
isMainPhone: False,
prefixCountryId: String,
telephonePrefix: String,
type:
{
Id: 0,
Description: String
}
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
_xmlns: String,
_type: String,
_source: String,
_tstamp: String,
_user: String,
_env: String,
_uri: String,
_query: String
}