| All Verbs | /qry/config/game |
|---|
#![allow(
dead_code,
non_camel_case_types,
non_snake_case,
clippy::upper_case_acronyms
)]
use serde::{Deserialize, Serialize};
use serde_json::Value;
use std::collections::HashMap;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct CountdownConfiguration {
#[serde(rename = "lockdownStepFromEnd")]
pub lockdown_step_from_end: i32,
#[serde(rename = "assertLockdownStepFromEnd")]
pub assert_lockdown_step_from_end: i32,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct DrawConfiguration {
#[serde(rename = "introIntervalInMs")]
pub intro_interval_in_ms: i32,
#[serde(rename = "animationIntervalInMs")]
pub animation_interval_in_ms: i32,
#[serde(rename = "outroIntervalInMs")]
pub outro_interval_in_ms: i32,
}
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
#[repr(i32)]
pub enum RTPStrategies {
#[default]
RNG = 0,
Accumulator = 1,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct HappyHourConfiguration {
#[serde(rename = "isHappyHour")]
pub is_happy_hour: bool,
#[serde(rename = "oddsModifier")]
pub odds_modifier: f64,
#[serde(rename = "roundPoolBonusPct")]
pub round_pool_bonus_pct: f64,
#[serde(rename = "useOnlyRoundPoolWithNoOptimizations")]
pub use_only_round_pool_with_no_optimizations: bool,
#[serde(rename = "overrideSyphonCombinationCountPerRoundThreshold")]
pub override_syphon_combination_count_per_round_threshold: bool,
#[serde(rename = "syphonCombinationCountPerRoundThresholdPctOverride")]
pub syphon_combination_count_per_round_threshold_pct_override: f64,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct RoundConfiguration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub coefficients: Option<RecordList>,
#[serde(rename = "isDoubleTripleActive")]
pub is_double_triple_active: bool,
#[serde(rename = "isJackpot5Active")]
pub is_jackpot5_active: bool,
#[serde(rename = "countdownDurationInSeconds")]
pub countdown_duration_in_seconds: i32,
#[serde(rename = "countdownConfiguration")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub countdown_configuration: Option<CountdownConfiguration>,
#[serde(rename = "drawConfiguration")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub draw_configuration: Option<DrawConfiguration>,
#[serde(rename = "resultsDurationInSeconds")]
pub results_duration_in_seconds: i32,
#[serde(rename = "rtpStrategy")]
pub rtp_strategy: RTPStrategies,
#[serde(rename = "happyHourConfiguration")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub happy_hour_configuration: Option<HappyHourConfiguration>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct TimePoint {
pub hour: i32,
pub minute: i32,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct TimeInterval {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<TimePoint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<TimePoint>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct HappyHourItem {
pub id: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interval: Option<TimeInterval>,
#[serde(rename = "oddsModifier")]
pub odds_modifier: f64,
#[serde(rename = "roundPoolBonusPct")]
pub round_pool_bonus_pct: f64,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct HappyHourConfig {
#[serde(rename = "isActive")]
pub is_active: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<HappyHourItem>>,
#[serde(rename = "useOnlyRoundPoolWithNoOptimizations")]
pub use_only_round_pool_with_no_optimizations: bool,
#[serde(rename = "overrideSyphonCombinationCountPerRoundThreshold")]
pub override_syphon_combination_count_per_round_threshold: bool,
#[serde(rename = "syphonCombinationCountPerRoundThresholdPctOverride")]
pub syphon_combination_count_per_round_threshold_pct_override: f64,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct GameConfiguration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "queueSize")]
pub queue_size: i32,
#[serde(rename = "roundConfiguration")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub round_configuration: Option<RoundConfiguration>,
#[serde(rename = "happyHourConfig")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub happy_hour_config: Option<HappyHourConfig>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct GetGameConfig {
#[serde(rename = "locationId")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location_id: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct RecordList(pub Vec<T>);
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /qry/config/game HTTP/1.1
Host: s4w2.api.bettor.webhop.biz
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"locationId":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"id":"String","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}}