Betting.WebApi

<back to all web services

StoreE2EConfiguration

The following routes are available for this service:
POST/cmd/e2e/configuration
# frozen_string_literal: true
# encoding: utf-8


require 'json'
require 'servicestack'


module ProductSubmitMode
    SINGLE = 0
    MULTI = 1
end

class Six4WinBetKindProbabilities
    include ServiceStack::DTO

    # @return [BigDecimal]
    attr_accessor :standard
    # @return [BigDecimal]
    attr_accessor :system7
    # @return [BigDecimal]
    attr_accessor :system8
    # @return [BigDecimal]
    attr_accessor :system9
    # @return [BigDecimal]
    attr_accessor :system10
    # @return [BigDecimal]
    attr_accessor :first_color1
    # @return [BigDecimal]
    attr_accessor :first_color2
    # @return [BigDecimal]
    attr_accessor :first_color3
    # @return [BigDecimal]
    attr_accessor :first_color4
    # @return [BigDecimal]
    attr_accessor :first_color5
    # @return [BigDecimal]
    attr_accessor :first_color6
    # @return [BigDecimal]
    attr_accessor :first_color7
    # @return [BigDecimal]
    attr_accessor :first_color8
    # @return [BigDecimal]
    attr_accessor :first_number_odd
    # @return [BigDecimal]
    attr_accessor :first_number_even
    # @return [BigDecimal]
    attr_accessor :first_number_less_than24_5
    # @return [BigDecimal]
    attr_accessor :first_number_greater_than24_5
    # @return [BigDecimal]
    attr_accessor :sum_of_first_five_less_than122_5
    # @return [BigDecimal]
    attr_accessor :sum_of_first_five_greater_than122_5
    # @return [BigDecimal]
    attr_accessor :more_odd_numbers
    # @return [BigDecimal]
    attr_accessor :more_even_numbers

    def self.properties
        {
            standard: { name: 'standard' },
            system7: { name: 'system7' },
            system8: { name: 'system8' },
            system9: { name: 'system9' },
            system10: { name: 'system10' },
            first_color1: { name: 'firstColor1' },
            first_color2: { name: 'firstColor2' },
            first_color3: { name: 'firstColor3' },
            first_color4: { name: 'firstColor4' },
            first_color5: { name: 'firstColor5' },
            first_color6: { name: 'firstColor6' },
            first_color7: { name: 'firstColor7' },
            first_color8: { name: 'firstColor8' },
            first_number_odd: { name: 'firstNumberOdd' },
            first_number_even: { name: 'firstNumberEven' },
            first_number_less_than24_5: { name: 'firstNumberLessThan24_5' },
            first_number_greater_than24_5: { name: 'firstNumberGreaterThan24_5' },
            sum_of_first_five_less_than122_5: { name: 'sumOfFirstFiveLessThan122_5' },
            sum_of_first_five_greater_than122_5: { name: 'sumOfFirstFiveGreaterThan122_5' },
            more_odd_numbers: { name: 'moreOddNumbers' },
            more_even_numbers: { name: 'moreEvenNumbers' },
        }
    end

end

class Interval
    include ServiceStack::DTO

    # @return [Integer]
    attr_accessor :start
    # @return [Integer]
    attr_accessor :end

    def self.properties
        {
            start: { name: 'start' },
            end: { name: 'end' },
        }
    end

end

class ProductInstanceE2EConfiguration
    include ServiceStack::DTO

    # @return [String]
    attr_accessor :product_instance_id
    # @return [Interval]
    attr_accessor :bets_per_slip

    def self.properties
        {
            product_instance_id: { name: 'productInstanceId' },
            bets_per_slip: { name: 'betsPerSlip', type: Interval },
        }
    end

end

class LocationE2EConfiguration
    include ServiceStack::DTO

    # @return [String]
    attr_accessor :location_id
    # @return [TrueClass]
    attr_accessor :is_active
    # @return [ProductSubmitMode]
    attr_accessor :submit_mode
    # @return [List]
    attr_accessor :product_instance_e2_e_configurations

    def self.properties
        {
            location_id: { name: 'locationId' },
            is_active: { name: 'isActive' },
            submit_mode: { name: 'submitMode' },
            product_instance_e2_e_configurations: { name: 'productInstanceE2EConfigurations', type: [ProductInstanceE2EConfiguration] },
        }
    end

end

class StoreE2EConfiguration
    include ServiceStack::DTO

    # @return [Integer]
    attr_accessor :delay_time
    # @return [Integer]
    attr_accessor :number_of_slips_per_location
    # @return [ProductSubmitMode]
    attr_accessor :default_submit_mode
    # @return [Six4WinBetKindProbabilities]
    attr_accessor :six4_win_bet_kind_probabilities
    # @return [List]
    attr_accessor :default_product_instance_e2_e_configurations
    # @return [List]
    attr_accessor :location_e2_e_configurations

    def self.properties
        {
            delay_time: { name: 'delayTime' },
            number_of_slips_per_location: { name: 'numberOfSlipsPerLocation' },
            default_submit_mode: { name: 'defaultSubmitMode' },
            six4_win_bet_kind_probabilities: { name: 'six4WinBetKindProbabilities', type: Six4WinBetKindProbabilities },
            default_product_instance_e2_e_configurations: { name: 'defaultProductInstanceE2EConfigurations', type: [ProductInstanceE2EConfiguration] },
            location_e2_e_configurations: { name: 'locationE2EConfigurations', type: [LocationE2EConfiguration] },
        }
    end

    def response_type() = ServiceStack::ResponseStatus
    def get_type_name() = 'StoreE2EConfiguration'
end

Ruby 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.bettor.webhop.biz 
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
	}
}