| POST | /warranty/v1/card/{cardId}/createCustomer |
|---|
import 'package:servicestack/servicestack.dart';
class BaseRequest<TResponse> implements IRequest, IConvertible
{
String? sid;
String? app;
String? _os;
String? _appVersion;
String? _searchMethod;
BaseRequest({this.sid,this.app,this._os,this._appVersion,this._searchMethod});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
sid = json['sid'];
app = json['app'];
_os = json['_os'];
_appVersion = json['_appVersion'];
_searchMethod = json['_searchMethod'];
return this;
}
Map<String, dynamic> toJson() => {
'sid': sid,
'app': app,
'_os': _os,
'_appVersion': _appVersion,
'_searchMethod': _searchMethod
};
getTypeName() => "BaseRequest<$TResponse>";
TypeContext? context = _ctx;
}
class BaseResponse implements IRespose, IConvertible
{
String? _xmlns;
String? _type;
String? _source;
String? _tstamp;
String? _user;
String? _env;
String? _uri;
String? _query;
BaseResponse({this._xmlns,this._type,this._source,this._tstamp,this._user,this._env,this._uri,this._query});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
_xmlns = json['_xmlns'];
_type = json['_type'];
_source = json['_source'];
_tstamp = json['_tstamp'];
_user = json['_user'];
_env = json['_env'];
_uri = json['_uri'];
_query = json['_query'];
return this;
}
Map<String, dynamic> toJson() => {
'_xmlns': _xmlns,
'_type': _type,
'_source': _source,
'_tstamp': _tstamp,
'_user': _user,
'_env': _env,
'_uri': _uri,
'_query': _query
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class CreateAndConnectCustomerResponse extends BaseResponse implements IConvertible
{
String? customerId;
int? boosterCustomerId;
CreateAndConnectCustomerResponse({this.customerId,this.boosterCustomerId});
CreateAndConnectCustomerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
customerId = json['customerId'];
boosterCustomerId = json['boosterCustomerId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'customerId': customerId,
'boosterCustomerId': boosterCustomerId
});
getTypeName() => "CreateAndConnectCustomerResponse";
TypeContext? context = _ctx;
}
class CreateAndConnectCustomerRequest extends BaseRequest<CreateAndConnectCustomerResponse> implements IConvertible
{
String? cardId;
String? customerRef;
int? title;
String? firstName;
String? lastName;
String? firstNameNotLatin;
String? lastNameNotLatin;
DateTime? birthday;
String? email;
bool? canBeContacted;
String? language;
String? nameSuffix;
String? gender;
String? middleName;
String? countryId;
String? phoneCountryId;
String? prefixCountryId;
String? phone;
int? posId;
DateTime? weddingDate;
String? street;
String? houseNumber;
String? city;
String? postalCode;
String? region;
String? street2;
String? street3;
String? street4;
String? street5;
String? salePersonId;
bool? privacyPolicyAcceptanceStorage;
bool? allowStoreDataAbroad;
bool? tvPrivacyPolicyAcceptanceStorage;
bool? tvAllowStoreDataAbroad;
bool? contactByMail;
bool? contactByEmail;
bool? contactByPhone;
bool? contactBySMS;
bool? contactBySocialMedia;
CreateAndConnectCustomerRequest({this.cardId,this.customerRef,this.title,this.firstName,this.lastName,this.firstNameNotLatin,this.lastNameNotLatin,this.birthday,this.email,this.canBeContacted,this.language,this.nameSuffix,this.gender,this.middleName,this.countryId,this.phoneCountryId,this.prefixCountryId,this.phone,this.posId,this.weddingDate,this.street,this.houseNumber,this.city,this.postalCode,this.region,this.street2,this.street3,this.street4,this.street5,this.salePersonId,this.privacyPolicyAcceptanceStorage,this.allowStoreDataAbroad,this.tvPrivacyPolicyAcceptanceStorage,this.tvAllowStoreDataAbroad,this.contactByMail,this.contactByEmail,this.contactByPhone,this.contactBySMS,this.contactBySocialMedia});
CreateAndConnectCustomerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
cardId = json['cardId'];
customerRef = json['customerRef'];
title = json['title'];
firstName = json['firstName'];
lastName = json['lastName'];
firstNameNotLatin = json['firstNameNotLatin'];
lastNameNotLatin = json['lastNameNotLatin'];
birthday = JsonConverters.fromJson(json['birthday'],'DateTime',context!);
email = json['email'];
canBeContacted = json['canBeContacted'];
language = json['language'];
nameSuffix = json['nameSuffix'];
gender = json['gender'];
middleName = json['middleName'];
countryId = json['countryId'];
phoneCountryId = json['phoneCountryId'];
prefixCountryId = json['prefixCountryId'];
phone = json['phone'];
posId = json['posId'];
weddingDate = JsonConverters.fromJson(json['weddingDate'],'DateTime',context!);
street = json['street'];
houseNumber = json['houseNumber'];
city = json['city'];
postalCode = json['postalCode'];
region = json['region'];
street2 = json['street2'];
street3 = json['street3'];
street4 = json['street4'];
street5 = json['street5'];
salePersonId = json['salePersonId'];
privacyPolicyAcceptanceStorage = json['privacyPolicyAcceptanceStorage'];
allowStoreDataAbroad = json['allowStoreDataAbroad'];
tvPrivacyPolicyAcceptanceStorage = json['tvPrivacyPolicyAcceptanceStorage'];
tvAllowStoreDataAbroad = json['tvAllowStoreDataAbroad'];
contactByMail = json['contactByMail'];
contactByEmail = json['contactByEmail'];
contactByPhone = json['contactByPhone'];
contactBySMS = json['contactBySMS'];
contactBySocialMedia = json['contactBySocialMedia'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'cardId': cardId,
'customerRef': customerRef,
'title': title,
'firstName': firstName,
'lastName': lastName,
'firstNameNotLatin': firstNameNotLatin,
'lastNameNotLatin': lastNameNotLatin,
'birthday': JsonConverters.toJson(birthday,'DateTime',context!),
'email': email,
'canBeContacted': canBeContacted,
'language': language,
'nameSuffix': nameSuffix,
'gender': gender,
'middleName': middleName,
'countryId': countryId,
'phoneCountryId': phoneCountryId,
'prefixCountryId': prefixCountryId,
'phone': phone,
'posId': posId,
'weddingDate': JsonConverters.toJson(weddingDate,'DateTime',context!),
'street': street,
'houseNumber': houseNumber,
'city': city,
'postalCode': postalCode,
'region': region,
'street2': street2,
'street3': street3,
'street4': street4,
'street5': street5,
'salePersonId': salePersonId,
'privacyPolicyAcceptanceStorage': privacyPolicyAcceptanceStorage,
'allowStoreDataAbroad': allowStoreDataAbroad,
'tvPrivacyPolicyAcceptanceStorage': tvPrivacyPolicyAcceptanceStorage,
'tvAllowStoreDataAbroad': tvAllowStoreDataAbroad,
'contactByMail': contactByMail,
'contactByEmail': contactByEmail,
'contactByPhone': contactByPhone,
'contactBySMS': contactBySMS,
'contactBySocialMedia': contactBySocialMedia
});
getTypeName() => "CreateAndConnectCustomerRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'qp_microservices_booster.richemont.com', types: <String, TypeInfo> {
'BaseRequest<TResponse>': TypeInfo(TypeOf.Class, create:() => BaseRequest<TResponse>()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'CreateAndConnectCustomerResponse': TypeInfo(TypeOf.Class, create:() => CreateAndConnectCustomerResponse()),
'CreateAndConnectCustomerRequest': TypeInfo(TypeOf.Class, create:() => CreateAndConnectCustomerRequest()),
});
Dart CreateAndConnectCustomerRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /warranty/v1/card/{cardId}/createCustomer HTTP/1.1
Host: qp-microservices-booster.richemont.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateAndConnectCustomerRequest 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>
<allowStoreDataAbroad>false</allowStoreDataAbroad>
<birthday>0001-01-01T00:00:00</birthday>
<canBeContacted>false</canBeContacted>
<cardId>String</cardId>
<city>String</city>
<contactByEmail>false</contactByEmail>
<contactByMail>false</contactByMail>
<contactByPhone>false</contactByPhone>
<contactBySMS>false</contactBySMS>
<contactBySocialMedia>false</contactBySocialMedia>
<countryId>String</countryId>
<customerRef>String</customerRef>
<email>String</email>
<firstName>String</firstName>
<firstNameNotLatin>String</firstNameNotLatin>
<gender>String</gender>
<houseNumber>String</houseNumber>
<language>String</language>
<lastName>String</lastName>
<lastNameNotLatin>String</lastNameNotLatin>
<middleName>String</middleName>
<nameSuffix>String</nameSuffix>
<phone>String</phone>
<phoneCountryId>String</phoneCountryId>
<posId>0</posId>
<postalCode>String</postalCode>
<prefixCountryId>String</prefixCountryId>
<privacyPolicyAcceptanceStorage>false</privacyPolicyAcceptanceStorage>
<region>String</region>
<salePersonId>String</salePersonId>
<street>String</street>
<street2>String</street2>
<street3>String</street3>
<street4>String</street4>
<street5>String</street5>
<title>0</title>
<tvAllowStoreDataAbroad>false</tvAllowStoreDataAbroad>
<tvPrivacyPolicyAcceptanceStorage>false</tvPrivacyPolicyAcceptanceStorage>
<weddingDate>0001-01-01T00:00:00</weddingDate>
</CreateAndConnectCustomerRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <CreateAndConnectCustomerResponse 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> <boosterCustomerId>0</boosterCustomerId> <customerId>00000000-0000-0000-0000-000000000000</customerId> </CreateAndConnectCustomerResponse>