Six4Win.WebApi

<back to all web services

PlaceBet

Requires Authentication
The following routes are available for this service:
POST/cmd/bets

export class Ref
{
    public id: string;
    public val: string;

    public constructor(init?: Partial<Ref>) { (Object as any).assign(this, init); }
}

export class BettingApp
{
    public name: string;
    public version: string;

    public constructor(init?: Partial<BettingApp>) { (Object as any).assign(this, init); }
}

export class RefEx extends Ref
{
    public data: RecordDictionary<string, string>;

    public constructor(init?: Partial<RefEx>) { super(init); (Object as any).assign(this, init); }
}

export class Origin
{
    public application: BettingApp;
    public ip: string;
    public organization: RefEx;
    public region: Ref;
    public locationGroup: Ref;
    public location: RefEx;
    public device: RefEx;
    public clerk: Ref;

    public constructor(init?: Partial<Origin>) { (Object as any).assign(this, init); }
}

export class PlaceBet
{
    public id: string;
    public slipId: string;
    public bettor: Ref;
    public origin: Origin;
    public placedAt: string;
    public ordinalOfAvailableRoundToAssignTo: number;
    public content: string;
    public stake: number;
    public payload: { [index:string]: string; };

    public constructor(init?: Partial<PlaceBet>) { (Object as any).assign(this, init); }
}

export class Dictionary<T> { [Key: string]: T; }

export class RecordDictionary<TKey, TVal> extends Dictionary<TVal>
{

    public constructor(init?: Partial<RecordDictionary<TKey, TVal>>) { super(); (Object as any).assign(this, init); }
}

TypeScript PlaceBet 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/bets HTTP/1.1 
Host: s4w2.api.bettor.cc 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	slipId: String,
	bettor: 
	{
		id: String,
		val: String
	},
	origin: 
	{
		application: 
		{
			name: String,
			version: String
		},
		ip: String,
		organization: 
		{
			data: 
			{
				String: String
			},
			id: String,
			val: String
		},
		region: 
		{
			id: String,
			val: String
		},
		locationGroup: 
		{
			id: String,
			val: String
		},
		location: 
		{
			data: 
			{
				String: String
			},
			id: String,
			val: String
		},
		device: 
		{
			data: 
			{
				String: String
			},
			id: String,
			val: String
		},
		clerk: 
		{
			id: String,
			val: String
		}
	},
	placedAt: 0001-01-01,
	ordinalOfAvailableRoundToAssignTo: 0,
	content: String,
	stake: 0,
	payload: 
	{
		String: 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
	}
}