| 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
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
}
}