Betting.WebApi

<back to all web services

GetProductInstanceConfiguration

The following routes are available for this service:
All Verbs/qry/configurations/productInstances

export enum PayinConstraintType
{
    SingleBet = 0,
    MultiBet = 1,
    SystemBet = 2,
}

export class Money
{
    public amount: number;
    public currency: string;

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

export class PayinConstraint
{
    public type: PayinConstraintType;
    public min: Money;
    public default: Money;
    public warningThreshold: Money;
    public max: Money;

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

export enum WinningsCapType
{
    SingleBet = 0,
    MultiBet = 1,
    SystemBet = 2,
}

export class WinningsCap
{
    public type: WinningsCapType;
    public cap: Money;

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

export class BettingPolicies
{
    public payinConstraints: RecordList<PayinConstraint>;
    public payinTaxationPolicyId: string;
    public winningsCaps: RecordList<WinningsCap>;
    public winningsTaxationPolicyId: string;

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

export class ProductInstanceConfiguration
{
    public id: string;
    public bettingPolicies: BettingPolicies;
    public apiUrl: string;
    public settings: { [index:string]: string; };

    public constructor(init?: Partial<ProductInstanceConfiguration>) { (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 Ref
{
    public id: string;
    public val: string;

    public constructor(init?: Partial<Ref>) { (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 GetProductInstanceConfiguration
{
    public id: string;
    public origin: Origin;

    public constructor(init?: Partial<GetProductInstanceConfiguration>) { (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); }
}

export class RecordList<T> extends Array<T>
{

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

TypeScript GetProductInstanceConfiguration 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 /qry/configurations/productInstances HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 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
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	bettingPolicies: 
	{
		payinConstraints: 
		[
			{
				type: 0,
				min: 
				{
					amount: 0,
					currency: String
				},
				default: 
				{
					amount: 0,
					currency: String
				},
				warningThreshold: 
				{
					amount: 0,
					currency: String
				},
				max: 
				{
					amount: 0,
					currency: String
				}
			}
		],
		payinTaxationPolicyId: String,
		winningsCaps: 
		[
			{
				type: 0,
				cap: 
				{
					amount: 0,
					currency: String
				}
			}
		],
		winningsTaxationPolicyId: String
	},
	apiUrl: String,
	settings: 
	{
		String: String
	}
}