| POST | /cmd/users/profile |
|---|
"use strict";
export class Name {
/** @param {{first?:string,last?:string,full?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
first;
/** @type {string} */
last;
/** @type {string} */
full;
}
export class Ref {
/** @param {{id?:string,val?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
val;
}
export class GPSCoordinates {
/** @param {{lat?:number,lng?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
lat;
/** @type {number} */
lng;
}
export class Address {
/** @param {{street?:string,city?:string,state?:string,postalCode?:string,country?:Ref,gps?:GPSCoordinates,data?:RecordDictionary<string, string>}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
street;
/** @type {string} */
city;
/** @type {string} */
state;
/** @type {string} */
postalCode;
/** @type {Ref} */
country;
/** @type {GPSCoordinates} */
gps;
/** @type {RecordDictionary<string, string>} */
data;
}
export class ContactInfo {
/** @param {{phone?:string,email?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
phone;
/** @type {string} */
email;
}
export class Person {
/** @param {{name?:Name,address?:Address,dateOfBirth?:string,contactInfo?:ContactInfo}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Name} */
name;
/** @type {Address} */
address;
/** @type {?string} */
dateOfBirth;
/** @type {ContactInfo} */
contactInfo;
}
export class BettorWalletProfile {
/** @param {{id?:string,username?:string,person?:Person,data?:RecordDictionary<string, string>}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
username;
/** @type {Person} */
person;
/** @type {RecordDictionary<string, string>} */
data;
}
export class StoreUserProfile {
/** @param {{profile?:BettorWalletProfile}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {BettorWalletProfile} */
profile;
}
class Dictionary {}
/** @typedef TKey {any} */
/** @typedef TVal {any} */
export class RecordDictionary extends Dictionary {
constructor(init) { super(init); Object.assign(this, init) }
}
JavaScript StoreUserProfile 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 /cmd/users/profile HTTP/1.1
Host: api.sbbet.ath.cx
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<StoreUserProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
<Profile xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d2p1:Data 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:Data>
<d2p1:Id>String</d2p1:Id>
<d2p1:Person>
<d2p1:Address xmlns:d4p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d4p1:City>String</d4p1:City>
<d4p1:Country>
<d4p1:_x003C_Id_x003E_k__BackingField>String</d4p1:_x003C_Id_x003E_k__BackingField>
<d4p1:_x003C_Val_x003E_k__BackingField>String</d4p1:_x003C_Val_x003E_k__BackingField>
</d4p1:Country>
<d4p1:Data xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d4p1:Data>
<d4p1:GPS>
<d4p1:Lat>0</d4p1:Lat>
<d4p1:Lng>0</d4p1:Lng>
</d4p1:GPS>
<d4p1:PostalCode>String</d4p1:PostalCode>
<d4p1:State>String</d4p1:State>
<d4p1:Street>String</d4p1:Street>
</d2p1:Address>
<d2p1:ContactInfo>
<d2p1:Email>String</d2p1:Email>
<d2p1:Phone>String</d2p1:Phone>
</d2p1:ContactInfo>
<d2p1:DateOfBirth>0001-01-01T00:00:00</d2p1:DateOfBirth>
<d2p1:Name>
<d2p1:First>String</d2p1:First>
<d2p1:Last>String</d2p1:Last>
</d2p1:Name>
</d2p1:Person>
<d2p1:Username>String</d2p1:Username>
</Profile>
</StoreUserProfile>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>