Betting.WebApi

<back to all web services

StoreE2EConfiguration

The following routes are available for this service:
POST/cmd/e2e/configuration
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


class ProductSubmitMode(IntEnum):
    SINGLE = 0
    MULTI = 1


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Six4WinBetKindProbabilities:
    standard: Decimal = decimal.Decimal(0)
    system7: Decimal = decimal.Decimal(0)
    system8: Decimal = decimal.Decimal(0)
    system9: Decimal = decimal.Decimal(0)
    system10: Decimal = decimal.Decimal(0)
    first_color1: Decimal = decimal.Decimal(0)
    first_color2: Decimal = decimal.Decimal(0)
    first_color3: Decimal = decimal.Decimal(0)
    first_color4: Decimal = decimal.Decimal(0)
    first_color5: Decimal = decimal.Decimal(0)
    first_color6: Decimal = decimal.Decimal(0)
    first_color7: Decimal = decimal.Decimal(0)
    first_color8: Decimal = decimal.Decimal(0)
    first_number_odd: Decimal = decimal.Decimal(0)
    first_number_even: Decimal = decimal.Decimal(0)
    first_number_less_than24_5: Decimal = decimal.Decimal(0)
    first_number_greater_than24_5: Decimal = decimal.Decimal(0)
    sum_of_first_five_less_than122_5: Decimal = decimal.Decimal(0)
    sum_of_first_five_greater_than122_5: Decimal = decimal.Decimal(0)
    more_odd_numbers: Decimal = decimal.Decimal(0)
    more_even_numbers: Decimal = decimal.Decimal(0)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Interval:
    start: int = 0
    end: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductInstanceE2EConfiguration:
    product_instance_id: Optional[str] = None
    bets_per_slip: Optional[Interval] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LocationE2EConfiguration:
    location_id: Optional[str] = None
    is_active: bool = False
    submit_mode: Optional[ProductSubmitMode] = None
    product_instance_e2_e_configurations: Optional[List[ProductInstanceE2EConfiguration]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StoreE2EConfiguration:
    delay_time: int = 0
    number_of_slips_per_location: int = 0
    default_submit_mode: Optional[ProductSubmitMode] = None
    six4_win_bet_kind_probabilities: Optional[Six4WinBetKindProbabilities] = None
    default_product_instance_e2_e_configurations: Optional[List[ProductInstanceE2EConfiguration]] = None
    location_e2_e_configurations: Optional[List[LocationE2EConfiguration]] = None

Python StoreE2EConfiguration 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.

POST /cmd/e2e/configuration HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	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: 
	[
		{
			productInstanceId: String,
			betsPerSlip: 
			{
				start: 0,
				end: 0
			}
		}
	],
	locationE2EConfigurations: 
	[
		{
			locationId: String,
			isActive: False,
			submitMode: 0,
			productInstanceE2EConfigurations: 
			[
				{
					productInstanceId: String,
					betsPerSlip: 
					{
						start: 0,
						end: 0
					}
				}
			]
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	errorCode: String,
	message: String,
	stackTrace: String,
	errors: 
	[
		{
			errorCode: String,
			fieldName: String,
			message: String,
			meta: 
			{
				String: String
			}
		}
	],
	meta: 
	{
		String: String
	}
}