Betting.WebApi

<back to all web services

GetE2EConfiguration

The following routes are available for this service:
GET/qry/e2e/configuration
#![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, Copy, PartialEq, Eq, Hash, Default)]
#[repr(i32)]
pub enum ProductSubmitMode {
    #[default]
    Single = 0,
    Multi = 1,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct Six4WinBetKindProbabilities {
    pub standard: f64,
    pub system7: f64,
    pub system8: f64,
    pub system9: f64,
    pub system10: f64,
    #[serde(rename = "firstColor1")]
    pub first_color1: f64,
    #[serde(rename = "firstColor2")]
    pub first_color2: f64,
    #[serde(rename = "firstColor3")]
    pub first_color3: f64,
    #[serde(rename = "firstColor4")]
    pub first_color4: f64,
    #[serde(rename = "firstColor5")]
    pub first_color5: f64,
    #[serde(rename = "firstColor6")]
    pub first_color6: f64,
    #[serde(rename = "firstColor7")]
    pub first_color7: f64,
    #[serde(rename = "firstColor8")]
    pub first_color8: f64,
    #[serde(rename = "firstNumberOdd")]
    pub first_number_odd: f64,
    #[serde(rename = "firstNumberEven")]
    pub first_number_even: f64,
    #[serde(rename = "firstNumberLessThan24_5")]
    pub first_number_less_than24_5: f64,
    #[serde(rename = "firstNumberGreaterThan24_5")]
    pub first_number_greater_than24_5: f64,
    #[serde(rename = "sumOfFirstFiveLessThan122_5")]
    pub sum_of_first_five_less_than122_5: f64,
    #[serde(rename = "sumOfFirstFiveGreaterThan122_5")]
    pub sum_of_first_five_greater_than122_5: f64,
    #[serde(rename = "moreOddNumbers")]
    pub more_odd_numbers: f64,
    #[serde(rename = "moreEvenNumbers")]
    pub more_even_numbers: f64,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct Interval {
    pub start: i32,
    pub end: i32,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct ProductInstanceE2EConfiguration {
    #[serde(rename = "productInstanceId")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub product_instance_id: Option<String>,
    #[serde(rename = "betsPerSlip")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub bets_per_slip: Option<Interval>,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct LocationE2EConfiguration {
    #[serde(rename = "locationId")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location_id: Option<String>,
    #[serde(rename = "isActive")]
    pub is_active: bool,
    #[serde(rename = "submitMode")]
    pub submit_mode: ProductSubmitMode,
    #[serde(rename = "productInstanceE2EConfigurations")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub product_instance_e2_e_configurations: Option<Vec<ProductInstanceE2EConfiguration>>,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct E2EConfiguration {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "delayTime")]
    pub delay_time: i32,
    #[serde(rename = "numberOfSlipsPerLocation")]
    pub number_of_slips_per_location: i32,
    #[serde(rename = "defaultSubmitMode")]
    pub default_submit_mode: ProductSubmitMode,
    #[serde(rename = "six4WinBetKindProbabilities")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub six4_win_bet_kind_probabilities: Option<Six4WinBetKindProbabilities>,
    #[serde(rename = "defaultProductInstanceE2EConfigurations")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub default_product_instance_e2_e_configurations: Option<Vec<ProductInstanceE2EConfiguration>>,
    #[serde(rename = "locationE2EConfigurations")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location_e2_e_configurations: Option<Vec<LocationE2EConfiguration>>,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct GetE2EConfiguration {}

#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
#[repr(i32)]
pub enum ProductSubmitMode {
    #[default]
    Single = 0,
    Multi = 1,
}

Rust GetE2EConfiguration 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.

GET /qry/e2e/configuration HTTP/1.1 
Host: api.bettor.webhop.biz 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	delayTime: 0,
	numberOfSlipsPerLocation: 0,
	defaultSubmitMode: 0,
	six4WinBetKindProbabilities: 
	{
		standard: 0,
		system7: 0,
		system8: 0,
		system9: 0,
		system10: 0,
		firstColor1: 0,
		firstColor2: 0,
		firstColor3: 0,
		firstColor4: 0,
		firstColor5: 0,
		firstColor6: 0,
		firstColor7: 0,
		firstColor8: 0,
		firstNumberOdd: 0,
		firstNumberEven: 0,
		firstNumberLessThan24_5: 0,
		firstNumberGreaterThan24_5: 0,
		sumOfFirstFiveLessThan122_5: 0,
		sumOfFirstFiveGreaterThan122_5: 0,
		moreOddNumbers: 0,
		moreEvenNumbers: 0
	},
	defaultProductInstanceE2EConfigurations: 
	[
		{
			productInstance: 
			{
				id: String,
				name: String,
				title: String,
				product: 
				{
					id: String,
					value: String,
					category: String,
					productProvider: 
					{
						id: String,
						val: String
					}
				}
			},
			betsPerSlip: 
			{
				start: 0,
				end: 0
			}
		}
	],
	locationE2EConfigurations: 
	[
		{
			isActive: False,
			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
				}
			},
			headerData: 
			{
				String: String
			},
			useTaxationAuthorityTags: False,
			submitMode: 0,
			productInstanceE2EConfigurations: 
			[
				{
					productInstance: 
					{
						id: String,
						name: String,
						title: String,
						product: 
						{
							id: String,
							value: String,
							category: String,
							productProvider: 
							{
								id: String,
								val: String
							}
						}
					},
					betsPerSlip: 
					{
						start: 0,
						end: 0
					}
				}
			]
		}
	]
}