Betting.WebApi

<back to all web services

RegisterUserAccount

Requires Authentication
The following routes are available for this service:
POST/cmd/users/register
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class RegisterUserAccount
    {
        public String id = null;
        public NewUserDTO newUserDTO = null;
        
        public String getId() { return id; }
        public RegisterUserAccount setId(String value) { this.id = value; return this; }
        public NewUserDTO getNewUserDTO() { return newUserDTO; }
        public RegisterUserAccount setNewUserDTO(NewUserDTO value) { this.newUserDTO = value; return this; }
    }

    public static class NewUserDTO
    {
        public String externalUserId = null;
        public LoginCredentials credentials = null;
        public Person person = null;
        public RecordList<String> roles = null;
        public AvatarImage avatar = null;
        
        public String getExternalUserId() { return externalUserId; }
        public NewUserDTO setExternalUserId(String value) { this.externalUserId = value; return this; }
        public LoginCredentials getCredentials() { return credentials; }
        public NewUserDTO setCredentials(LoginCredentials value) { this.credentials = value; return this; }
        public Person getPerson() { return person; }
        public NewUserDTO setPerson(Person value) { this.person = value; return this; }
        public RecordList<String> getRoles() { return roles; }
        public NewUserDTO setRoles(RecordList<String> value) { this.roles = value; return this; }
        public AvatarImage getAvatar() { return avatar; }
        public NewUserDTO setAvatar(AvatarImage value) { this.avatar = value; return this; }
    }

    public static class LoginCredentials
    {
        public String username = null;
        public String password = null;
        
        public String getUsername() { return username; }
        public LoginCredentials setUsername(String value) { this.username = value; return this; }
        public String getPassword() { return password; }
        public LoginCredentials setPassword(String value) { this.password = value; return this; }
    }

    public static class Person
    {
        public Name name = null;
        public Address address = null;
        public Date dateOfBirth = null;
        public ContactInfo contactInfo = null;
        
        public Name getName() { return name; }
        public Person setName(Name value) { this.name = value; return this; }
        public Address getAddress() { return address; }
        public Person setAddress(Address value) { this.address = value; return this; }
        public Date getDateOfBirth() { return dateOfBirth; }
        public Person setDateOfBirth(Date value) { this.dateOfBirth = value; return this; }
        public ContactInfo getContactInfo() { return contactInfo; }
        public Person setContactInfo(ContactInfo value) { this.contactInfo = value; return this; }
    }

    public static class Name
    {
        public String first = null;
        public String last = null;
        public String full = null;
        
        public String getFirst() { return first; }
        public Name setFirst(String value) { this.first = value; return this; }
        public String getLast() { return last; }
        public Name setLast(String value) { this.last = value; return this; }
        public String getFull() { return full; }
        public Name setFull(String value) { this.full = value; return this; }
    }

    public static class Address
    {
        public String street = null;
        public String city = null;
        public String state = null;
        public String postalCode = null;
        public Ref country = null;
        public GPSCoordinates gps = null;
        public RecordDictionary<String, String> data = null;
        
        public String getStreet() { return street; }
        public Address setStreet(String value) { this.street = value; return this; }
        public String getCity() { return city; }
        public Address setCity(String value) { this.city = value; return this; }
        public String getState() { return state; }
        public Address setState(String value) { this.state = value; return this; }
        public String getPostalCode() { return postalCode; }
        public Address setPostalCode(String value) { this.postalCode = value; return this; }
        public Ref getCountry() { return country; }
        public Address setCountry(Ref value) { this.country = value; return this; }
        public GPSCoordinates getGps() { return gps; }
        public Address setGps(GPSCoordinates value) { this.gps = value; return this; }
        public RecordDictionary<String, String> getData() { return data; }
        public Address setData(RecordDictionary<String, String> value) { this.data = value; return this; }
    }

    public static class Ref
    {
        public String id = null;
        public String val = null;
        
        public String getId() { return id; }
        public Ref setId(String value) { this.id = value; return this; }
        public String getVal() { return val; }
        public Ref setVal(String value) { this.val = value; return this; }
    }

    public static class GPSCoordinates
    {
        public Double lat = null;
        public Double lng = null;
        
        public Double getLat() { return lat; }
        public GPSCoordinates setLat(Double value) { this.lat = value; return this; }
        public Double getLng() { return lng; }
        public GPSCoordinates setLng(Double value) { this.lng = value; return this; }
    }

    public static class RecordDictionary<TKey, TVal> extends HashMap<TKey,TVal>
    {
        
    }

    public static class ContactInfo
    {
        public String phone = null;
        public String email = null;
        
        public String getPhone() { return phone; }
        public ContactInfo setPhone(String value) { this.phone = value; return this; }
        public String getEmail() { return email; }
        public ContactInfo setEmail(String value) { this.email = value; return this; }
    }

    public static class RecordList<T> extends ArrayList<T>
    {
        
    }

    public static class AvatarImage
    {
        public String base64 = null;
        public String tag = null;
        
        public String getBase64() { return base64; }
        public AvatarImage setBase64(String value) { this.base64 = value; return this; }
        public String getTag() { return tag; }
        public AvatarImage setTag(String value) { this.tag = value; return this; }
    }

}

Java RegisterUserAccount DTOs

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

HTTP + JSV

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

POST /cmd/users/register HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	newUserDTO: 
	{
		externalUserId: String,
		credentials: 
		{
			username: String,
			password: String
		},
		person: 
		{
			name: 
			{
				first: String,
				last: String,
				full: String String
			},
			address: 
			{
				street: String,
				city: String,
				state: String,
				postalCode: String,
				country: 
				{
					id: String,
					val: String
				},
				gps: 
				{
					lat: 0,
					lng: 0
				},
				data: 
				{
					String: String
				}
			},
			dateOfBirth: 0001-01-01,
			contactInfo: 
			{
				phone: String,
				email: String
			}
		},
		roles: 
		[
			String
		],
		avatar: 
		{
			base64: String,
			tag: String
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	errorCode: String,
	message: String,
	stackTrace: String,
	errors: 
	[
		{
			errorCode: String,
			fieldName: String,
			message: String,
			meta: 
			{
				String: String
			}
		}
	],
	meta: 
	{
		String: String
	}
}