Six4Win.WebApi

<back to all web services

ConfigureGame

Requires Authentication
The following routes are available for this service:
POST/cmd/configure/game
"use strict";
export class CountdownConfiguration {
    /** @param {{lockdownStepFromEnd?:number,assertLockdownStepFromEnd?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    lockdownStepFromEnd;
    /** @type {number} */
    assertLockdownStepFromEnd;
}
export class DrawConfiguration {
    /** @param {{introIntervalInMs?:number,animationIntervalInMs?:number,outroIntervalInMs?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    introIntervalInMs;
    /** @type {number} */
    animationIntervalInMs;
    /** @type {number} */
    outroIntervalInMs;
}
/** @typedef {number} */
export var RTPStrategies;
(function (RTPStrategies) {
    RTPStrategies[RTPStrategies["RNG"] = 0] = "RNG"
    RTPStrategies[RTPStrategies["Accumulator"] = 1] = "Accumulator"
})(RTPStrategies || (RTPStrategies = {}));
export class HappyHourConfiguration {
    /** @param {{isHappyHour?:boolean,oddsModifier?:number,roundPoolBonusPct?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    isHappyHour;
    /** @type {number} */
    oddsModifier;
    /** @type {number} */
    roundPoolBonusPct;
}
export class RoundConfiguration {
    /** @param {{coefficients?:RecordList<number>,isDoubleTripleActive?:boolean,isJackpot5Active?:boolean,countdownDurationInSeconds?:number,countdownConfiguration?:CountdownConfiguration,drawConfiguration?:DrawConfiguration,resultsDurationInSeconds?:number,rtpStrategy?:RTPStrategies,happyHourConfiguration?:HappyHourConfiguration}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {RecordList<number>} */
    coefficients;
    /** @type {boolean} */
    isDoubleTripleActive;
    /** @type {boolean} */
    isJackpot5Active;
    /** @type {number} */
    countdownDurationInSeconds;
    /** @type {CountdownConfiguration} */
    countdownConfiguration;
    /** @type {DrawConfiguration} */
    drawConfiguration;
    /** @type {number} */
    resultsDurationInSeconds;
    /** @type {RTPStrategies} */
    rtpStrategy;
    /** @type {HappyHourConfiguration} */
    happyHourConfiguration;
}
export class TimePoint {
    /** @param {{hour?:number,minute?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    hour;
    /** @type {number} */
    minute;
}
export class TimeInterval {
    /** @param {{start?:TimePoint,end?:TimePoint}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TimePoint} */
    start;
    /** @type {TimePoint} */
    end;
}
export class HappyHourItem {
    /** @param {{id?:number,interval?:TimeInterval,oddsModifier?:number,roundPoolBonusPct?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {TimeInterval} */
    interval;
    /** @type {number} */
    oddsModifier;
    /** @type {number} */
    roundPoolBonusPct;
}
export class HappyHourConfig {
    /** @param {{isActive?:boolean,items?:HappyHourItem[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    isActive;
    /** @type {HappyHourItem[]} */
    items;
}
export class GameConfiguration {
    /** @param {{id?:string,queueSize?:number,roundConfiguration?:RoundConfiguration,happyHourConfig?:HappyHourConfig}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {number} */
    queueSize;
    /** @type {RoundConfiguration} */
    roundConfiguration;
    /** @type {HappyHourConfig} */
    happyHourConfig;
}
export class ConfigureGame {
    /** @param {{id?:string,configuration?:GameConfiguration}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {GameConfiguration} */
    configuration;
}
/** @typedef T {any} */
export class RecordList extends Array {
    constructor(init) { super(init); Object.assign(this, init) }
}

JavaScript ConfigureGame 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/configure/game HTTP/1.1 
Host: s4w2.api.bettor.cc 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	configuration: 
	{
		queueSize: 0,
		roundConfiguration: 
		{
			coefficients: 
			[
				0
			],
			isDoubleTripleActive: False,
			isJackpot5Active: False,
			countdownDurationInSeconds: 0,
			countdownConfiguration: 
			{
				lockdownStepFromEnd: 0,
				assertLockdownStepFromEnd: 0
			},
			drawConfiguration: 
			{
				introIntervalInMs: 0,
				animationIntervalInMs: 0,
				outroIntervalInMs: 0
			},
			resultsDurationInSeconds: 0,
			rtpStrategy: 0,
			happyHourConfiguration: 
			{
				isHappyHour: False,
				oddsModifier: 0,
				roundPoolBonusPct: 0
			}
		},
		happyHourConfig: 
		{
			isActive: False,
			items: 
			[
				{
					id: 0,
					interval: 
					{
						start: 
						{
							hour: 0,
							minute: 0
						},
						end: 
						{
							hour: 0,
							minute: 0
						}
					},
					oddsModifier: 0,
					roundPoolBonusPct: 0
				}
			]
		}
	}
}
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
	}
}