Betting.WebApi

<back to all web services

InstallProductInstance

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

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

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

export class ProductReference
{
    public id: string;
    public value: string;
    public category: string;
    public productProvider: Ref;

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

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 InstallProductInstance
{
    public id: string;
    public name: string;
    public title: string;
    public product: ProductReference;
    public currency: Ref;
    public bettingPolicies: BettingPolicies;
    public apiUrl: string;
    public backOfficeUrl: string;
    public instanceUrl: string;
    public feedPlayerUrl: string;

    public constructor(init?: Partial<InstallProductInstance>) { (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 InstallProductInstance 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/products/instances HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	name: String,
	title: String,
	product: 
	{
		id: String,
		value: String,
		category: String,
		productProvider: 
		{
			id: String,
			val: String
		}
	},
	currency: 
	{
		id: String,
		val: 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,
	backOfficeUrl: String,
	instanceUrl: String,
	feedPlayerUrl: 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
	}
}