| All Verbs | /qry/feed |
|---|
const std = @import("std");
pub const RoundStatus = enum(i32) {
Pending = 0,
InProgress = 1,
Ended = 2,
};
pub const CountdownConfiguration = struct {
lockdownStepFromEnd: i32 = 0,
assertLockdownStepFromEnd: i32 = 0,
};
pub const DrawConfiguration = struct {
introIntervalInMs: i32 = 0,
animationIntervalInMs: i32 = 0,
outroIntervalInMs: i32 = 0,
};
pub const RTPStrategies = enum(i32) {
RNG = 0,
Accumulator = 1,
};
pub const HappyHourConfiguration = struct {
isHappyHour: bool = false,
oddsModifier: f64 = 0,
roundPoolBonusPct: f64 = 0,
useOnlyRoundPoolWithNoOptimizations: bool = false,
overrideSyphonCombinationCountPerRoundThreshold: bool = false,
syphonCombinationCountPerRoundThresholdPctOverride: f64 = 0,
};
pub const RoundConfiguration = struct {
coefficients: ?RecordList = null,
isDoubleTripleActive: bool = false,
isJackpot5Active: bool = false,
countdownDurationInSeconds: i32 = 0,
countdownConfiguration: ?CountdownConfiguration = null,
drawConfiguration: ?DrawConfiguration = null,
resultsDurationInSeconds: i32 = 0,
rtpStrategy: ?RTPStrategies = null,
happyHourConfiguration: ?HappyHourConfiguration = null,
};
pub const BettingApp = struct {
name: ?[]const u8 = null,
version: ?[]const u8 = null,
};
pub const Ref = struct {
id: ?[]const u8 = null,
val: ?[]const u8 = null,
};
pub const RefEx = struct {
id: ?[]const u8 = null,
val: ?[]const u8 = null,
data: ?RecordDictionary = null,
};
pub const Origin = struct {
application: ?BettingApp = null,
ip: ?[]const u8 = null,
organization: ?RefEx = null,
region: ?Ref = null,
locationGroup: ?Ref = null,
location: ?RefEx = null,
device: ?RefEx = null,
clerk: ?Ref = null,
};
pub const JackPot5Winner = struct {
betId: ?[]const u8 = null,
nrOfCombinations: i32 = 0,
winningsAmount: f64 = 0,
origin: ?Origin = null,
bettor: ?Ref = null,
payload: ?std.json.Value = null,
};
pub const Jackpot5Info = struct {
isHit: bool = false,
amountAccumulated: f64 = 0,
amountAwarded: f64 = 0,
nrOfWinners: i32 = 0,
jackPot5Winners: ?[]JackPot5Winner = null,
};
pub const SuperWinWinner = struct {
isDrawn: bool = false,
drawnAtUtc: ?[]const u8 = null,
roundId: ?[]const u8 = null,
betId: ?[]const u8 = null,
slipId: ?[]const u8 = null,
origin: ?Origin = null,
bettor: ?Ref = null,
code: ?[]const u8 = null,
amount: f64 = 0,
locationAddressOrBettorInfo: ?[]const u8 = null,
};
pub const SuperWinInfo = struct {
isActive: bool = false,
winner: ?SuperWinWinner = null,
availableAmount: f64 = 0,
allPrizesAwarded: bool = false,
};
pub const WinnerByCode = struct {
roundId: ?[]const u8 = null,
drawnAtUtc: ?[]const u8 = null,
slipId: ?[]const u8 = null,
betId: ?[]const u8 = null,
code: ?[]const u8 = null,
amount: f64 = 0,
origin: ?Origin = null,
bettor: ?Ref = null,
locationAddressOrBettorInfo: ?[]const u8 = null,
};
pub const GlobalCodePotInfo = struct {
isActive: bool = false,
isDrawn: bool = false,
winner: ?WinnerByCode = null,
inertCode: ?[]const u8 = null,
accumulation: f64 = 0,
};
pub const Stages = enum(i32) {
None = 0,
Countdown = 1,
Processing = 2,
Draw = 3,
Results = 4,
};
pub const RoundProgress = struct {
stage: ?Stages = null,
step: i32 = 0,
steps: i32 = 0,
utcTimestamp: ?[]const u8 = null,
};
pub const Round = struct {
id: ?[]const u8 = null,
createdAt: ?[]const u8 = null,
updatedAt: ?[]const u8 = null,
shouldStartAtUtc: ?[]const u8 = null,
startedAtUtc: ?[]const u8 = null,
status: ?RoundStatus = null,
configuration: ?RoundConfiguration = null,
sequence: ?[]const u8 = null,
jackpot5Info: ?Jackpot5Info = null,
superWinInfo: ?SuperWinInfo = null,
globalCodePotInfo: ?GlobalCodePotInfo = null,
progress: ?RoundProgress = null,
isLocked: bool = false,
isCalculated: bool = false,
};
pub const Feed = struct {
id: ?[]const u8 = null,
round: ?Round = null,
lastJackpot5Info: ?Jackpot5Info = null,
superWinInfo: ?SuperWinInfo = null,
globalCodePotInfo: ?GlobalCodePotInfo = null,
};
pub const GetFeed = struct {};
pub fn RecordList(comptime T: type) type {
_ = T;
return struct {
pub const ss_collection = "items";
items: []T = &.{},
};
pub fn RecordDictionary(comptime TKey: type, comptime TVal: type) type {
_ = TKey;
_ = TVal;
return struct {};
}
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.webhop.biz
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,
useOnlyRoundPoolWithNoOptimizations: False,
overrideSyphonCombinationCountPerRoundThreshold: False,
syphonCombinationCountPerRoundThresholdPctOverride: 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
}
}