| POST | /cmd/configure/game |
|---|
const std = @import("std");
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 TimePoint = struct {
hour: i32 = 0,
minute: i32 = 0,
};
pub const TimeInterval = struct {
start: ?TimePoint = null,
end: ?TimePoint = null,
};
pub const HappyHourItem = struct {
id: i64 = 0,
interval: ?TimeInterval = null,
oddsModifier: f64 = 0,
roundPoolBonusPct: f64 = 0,
};
pub const HappyHourConfig = struct {
isActive: bool = false,
items: ?[]HappyHourItem = null,
useOnlyRoundPoolWithNoOptimizations: bool = false,
overrideSyphonCombinationCountPerRoundThreshold: bool = false,
syphonCombinationCountPerRoundThresholdPctOverride: f64 = 0,
};
pub const GameConfiguration = struct {
id: ?[]const u8 = null,
queueSize: i32 = 0,
roundConfiguration: ?RoundConfiguration = null,
happyHourConfig: ?HappyHourConfig = null,
};
pub const ConfigureGame = struct {
id: ?[]const u8 = null,
configuration: ?GameConfiguration = null,
};
pub fn RecordList(comptime T: type) type {
_ = T;
return struct {
pub const ss_collection = "items";
items: []T = &.{},
};
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
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.webhop.biz
Accept: text/jsonl
Content-Type: text/jsonl
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,"useOnlyRoundPoolWithNoOptimizations":false,"overrideSyphonCombinationCountPerRoundThreshold":false,"syphonCombinationCountPerRoundThresholdPctOverride":0}},"happyHourConfig":{"isActive":false,"items":[{"id":0,"interval":{"start":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}},"oddsModifier":0,"roundPoolBonusPct":0}],"useOnlyRoundPoolWithNoOptimizations":false,"overrideSyphonCombinationCountPerRoundThreshold":false,"syphonCombinationCountPerRoundThresholdPctOverride":0}}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}