| All Verbs | /qry/feed |
|---|
"use strict";
/** @typedef {number} */
export var RoundStatus;
(function (RoundStatus) {
RoundStatus[RoundStatus["Pending"] = 0] = "Pending"
RoundStatus[RoundStatus["InProgress"] = 1] = "InProgress"
RoundStatus[RoundStatus["Ended"] = 2] = "Ended"
})(RoundStatus || (RoundStatus = {}));
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 BettingApp {
/** @param {{name?:string,version?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
/** @type {string} */
version;
}
export class Ref {
/** @param {{id?:string,val?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
val;
}
export class RefEx extends Ref {
/** @param {{data?:RecordDictionary<string, string>,id?:string,val?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {RecordDictionary<string, string>} */
data;
}
export class Origin {
/** @param {{application?:BettingApp,ip?:string,organization?:RefEx,region?:Ref,locationGroup?:Ref,location?:RefEx,device?:RefEx,clerk?:Ref}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {BettingApp} */
application;
/** @type {string} */
ip;
/** @type {RefEx} */
organization;
/** @type {Ref} */
region;
/** @type {Ref} */
locationGroup;
/** @type {RefEx} */
location;
/** @type {RefEx} */
device;
/** @type {Ref} */
clerk;
}
export class JackPot5Winner {
/** @param {{betId?:string,nrOfCombinations?:number,winningsAmount?:number,origin?:Origin,bettor?:Ref,payload?:{ [index:string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
betId;
/** @type {number} */
nrOfCombinations;
/** @type {number} */
winningsAmount;
/** @type {Origin} */
origin;
/** @type {Ref} */
bettor;
/** @type {{ [index:string]: string; }} */
payload;
}
export class Jackpot5Info {
/** @param {{isHit?:boolean,amountAccumulated?:number,amountAwarded?:number,nrOfWinners?:number,jackPot5Winners?:JackPot5Winner[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
isHit;
/** @type {number} */
amountAccumulated;
/** @type {number} */
amountAwarded;
/** @type {number} */
nrOfWinners;
/** @type {JackPot5Winner[]} */
jackPot5Winners;
}
export class SuperWinWinner {
/** @param {{isDrawn?:boolean,drawnAtUtc?:string,roundId?:string,betId?:string,slipId?:string,origin?:Origin,bettor?:Ref,code?:string,amount?:number,locationAddressOrBettorInfo?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
isDrawn;
/** @type {string} */
drawnAtUtc;
/** @type {string} */
roundId;
/** @type {string} */
betId;
/** @type {string} */
slipId;
/** @type {Origin} */
origin;
/** @type {Ref} */
bettor;
/** @type {string} */
code;
/** @type {number} */
amount;
/** @type {string} */
locationAddressOrBettorInfo;
}
export class SuperWinInfo {
/** @param {{isActive?:boolean,winner?:SuperWinWinner,availableAmount?:number,allPrizesAwarded?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
isActive;
/** @type {SuperWinWinner} */
winner;
/** @type {number} */
availableAmount;
/** @type {boolean} */
allPrizesAwarded;
}
export class WinnerByCode {
/** @param {{roundId?:string,drawnAtUtc?:string,slipId?:string,betId?:string,code?:string,amount?:number,origin?:Origin,bettor?:Ref,locationAddressOrBettorInfo?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
roundId;
/** @type {string} */
drawnAtUtc;
/** @type {string} */
slipId;
/** @type {string} */
betId;
/** @type {string} */
code;
/** @type {number} */
amount;
/** @type {Origin} */
origin;
/** @type {Ref} */
bettor;
/** @type {string} */
locationAddressOrBettorInfo;
}
export class GlobalCodePotInfo {
/** @param {{isActive?:boolean,isDrawn?:boolean,winner?:WinnerByCode,inertCode?:string,accumulation?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
isActive;
/** @type {boolean} */
isDrawn;
/** @type {WinnerByCode} */
winner;
/** @type {string} */
inertCode;
/** @type {number} */
accumulation;
}
/** @typedef {number} */
export var Stages;
(function (Stages) {
Stages[Stages["None"] = 0] = "None"
Stages[Stages["Countdown"] = 1] = "Countdown"
Stages[Stages["Processing"] = 2] = "Processing"
Stages[Stages["Draw"] = 3] = "Draw"
Stages[Stages["Results"] = 4] = "Results"
})(Stages || (Stages = {}));
export class RoundProgress {
/** @param {{stage?:Stages,step?:number,steps?:number,utcTimestamp?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Stages} */
stage;
/** @type {number} */
step;
/** @type {number} */
steps;
/** @type {string} */
utcTimestamp;
}
export class Round {
/** @param {{id?:string,createdAt?:string,updatedAt?:string,shouldStartAtUtc?:string,startedAtUtc?:string,status?:RoundStatus,configuration?:RoundConfiguration,sequence?:string,jackpot5Info?:Jackpot5Info,superWinInfo?:SuperWinInfo,globalCodePotInfo?:GlobalCodePotInfo,progress?:RoundProgress,isLocked?:boolean,isCalculated?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
createdAt;
/** @type {string} */
updatedAt;
/** @type {string} */
shouldStartAtUtc;
/** @type {string} */
startedAtUtc;
/** @type {RoundStatus} */
status;
/** @type {RoundConfiguration} */
configuration;
/** @type {string} */
sequence;
/** @type {Jackpot5Info} */
jackpot5Info;
/** @type {SuperWinInfo} */
superWinInfo;
/** @type {GlobalCodePotInfo} */
globalCodePotInfo;
/** @type {RoundProgress} */
progress;
/** @type {boolean} */
isLocked;
/** @type {boolean} */
isCalculated;
}
export class Feed {
/** @param {{id?:string,round?:Round,lastJackpot5Info?:Jackpot5Info,superWinInfo?:SuperWinInfo,globalCodePotInfo?:GlobalCodePotInfo}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {Round} */
round;
/** @type {Jackpot5Info} */
lastJackpot5Info;
/** @type {SuperWinInfo} */
superWinInfo;
/** @type {GlobalCodePotInfo} */
globalCodePotInfo;
}
export class GetFeed {
constructor(init) { Object.assign(this, init) }
}
/** @typedef T {any} */
export class RecordList extends Array {
constructor(init) { super(init); Object.assign(this, init) }
}
class Dictionary {}
/** @typedef TKey {any} */
/** @typedef TVal {any} */
export class RecordDictionary extends Dictionary {
constructor(init) { super(init); Object.assign(this, init) }
}
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 /qry/feed HTTP/1.1
Host: s4w2.api.bettor.cc
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
id: String,
round:
{
id: String,
createdAt: 0001-01-01,
updatedAt: 0001-01-01,
shouldStartAtUtc: 0001-01-01,
startedAtUtc: 0001-01-01,
status: 0,
configuration:
{
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
}
},
sequence: String,
jackpot5Info:
{
isHit: False,
amountAccumulated: 0,
amountAwarded: 0,
nrOfWinners: 0,
jackPot5Winners:
[
{
betId: String,
nrOfCombinations: 0,
winningsAmount: 0,
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
}
},
bettor:
{
id: String,
val: String
},
payload:
{
String: String
}
}
]
},
superWinInfo:
{
isActive: False,
winner:
{
isDrawn: False,
drawnAtUtc: 0001-01-01,
roundId: String,
betId: String,
slipId: 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
}
},
bettor:
{
id: String,
val: String
},
code: String,
amount: 0,
locationAddressOrBettorInfo: String
},
availableAmount: 0,
allPrizesAwarded: False
},
globalCodePotInfo:
{
isActive: False,
isDrawn: True,
winner:
{
roundId: String,
drawnAtUtc: 0001-01-01,
slipId: String,
betId: String,
code: String,
amount: 0,
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
}
},
bettor:
{
id: String,
val: String
},
locationAddressOrBettorInfo: String
},
inertCode: String,
accumulation: 0
},
progress:
{
stage: 0,
step: 0,
steps: 0,
utcTimestamp: 0001-01-01
},
isLocked: False,
isCalculated: False
},
lastJackpot5Info:
{
isHit: False,
amountAccumulated: 0,
amountAwarded: 0,
nrOfWinners: 0,
jackPot5Winners:
[
{
betId: String,
nrOfCombinations: 0,
winningsAmount: 0,
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
}
},
bettor:
{
id: String,
val: String
},
payload:
{
String: String
}
}
]
},
superWinInfo:
{
isActive: False,
winner:
{
isDrawn: False,
drawnAtUtc: 0001-01-01,
roundId: String,
betId: String,
slipId: 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
}
},
bettor:
{
id: String,
val: String
},
code: String,
amount: 0,
locationAddressOrBettorInfo: String
},
availableAmount: 0,
allPrizesAwarded: False
},
globalCodePotInfo:
{
isActive: False,
isDrawn: True,
winner:
{
roundId: String,
drawnAtUtc: 0001-01-01,
slipId: String,
betId: String,
code: String,
amount: 0,
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
}
},
bettor:
{
id: String,
val: String
},
locationAddressOrBettorInfo: String
},
inertCode: String,
accumulation: 0
}
}