Six4Win.WebApi

<back to all web services

ConfigureSuperWin

Requires Authentication
The following routes are available for this service:
POST/cmd/configure/super-win
# frozen_string_literal: true
# encoding: utf-8


require 'json'
require 'servicestack'


module LocationOptimizationLevel
    NONE = 0
    LOW = 1
    MEDIUM = 2
    HIGH = 3
end

class PeriodOfDay
    include ServiceStack::DTO

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

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

end

class WebPlayerWinnerCooldownPolicyConfig
    include ServiceStack::DTO

    # @return [TrueClass]
    attr_accessor :is_active
    # @return [Integer]
    attr_accessor :cooldown_interval_in_days

    def self.properties
        {
            is_active: { name: 'isActive' },
            cooldown_interval_in_days: { name: 'cooldownIntervalInDays' },
        }
    end

end

class SuperWinConfig
    include ServiceStack::DTO

    # @return [TrueClass]
    attr_accessor :is_active
    # @return [Float]
    attr_accessor :stake_pct
    # @return [Integer]
    attr_accessor :min_prizes_per_day
    # @return [Integer]
    attr_accessor :max_prizes_per_day
    # @return [PeriodOfDay]
    attr_accessor :active_period
    # @return [Float]
    attr_accessor :min_daily_prize_in_pct
    # @return [Integer]
    attr_accessor :min_interval_between_multiple_prizes_in_minutes
    # @return [TrueClass]
    attr_accessor :allow_super_win_for_special_bets
    # @return [WebPlayerWinnerCooldownPolicyConfig]
    attr_accessor :web_player_winner_cooldown_policy
    # @return [LocationOptimizationLevel]
    attr_accessor :location_optimization_level
    # @return [LocationOptimizationLevel]
    attr_accessor :player_optimization_level

    def self.properties
        {
            is_active: { name: 'isActive' },
            stake_pct: { name: 'stakePct' },
            min_prizes_per_day: { name: 'minPrizesPerDay' },
            max_prizes_per_day: { name: 'maxPrizesPerDay' },
            active_period: { name: 'activePeriod', type: PeriodOfDay },
            min_daily_prize_in_pct: { name: 'minDailyPrizeInPct' },
            min_interval_between_multiple_prizes_in_minutes: { name: 'minIntervalBetweenMultiplePrizesInMinutes' },
            allow_super_win_for_special_bets: { name: 'allowSuperWinForSpecialBets' },
            web_player_winner_cooldown_policy: { name: 'webPlayerWinnerCooldownPolicy', type: WebPlayerWinnerCooldownPolicyConfig },
            location_optimization_level: { name: 'locationOptimizationLevel' },
            player_optimization_level: { name: 'playerOptimizationLevel' },
        }
    end

end

class ConfigureSuperWin
    include ServiceStack::DTO

    # @return [String]
    attr_accessor :id
    # @return [SuperWinConfig]
    attr_accessor :configuration

    def self.properties
        {
            id: { name: 'id' },
            configuration: { name: 'configuration', type: SuperWinConfig },
        }
    end

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

Ruby ConfigureSuperWin 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/configure/super-win HTTP/1.1 
Host: s4w2.api.bettor.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	configuration: 
	{
		isActive: False,
		stakePct: 0,
		minPrizesPerDay: 0,
		maxPrizesPerDay: 0,
		activePeriod: 
		{
			start: PT0S,
			end: PT0S
		},
		minDailyPrizeInPct: 0,
		minIntervalBetweenMultiplePrizesInMinutes: 0,
		allowSuperWinForSpecialBets: False,
		webPlayerWinnerCooldownPolicy: 
		{
			isActive: False,
			cooldownIntervalInDays: 0
		},
		locationOptimizationLevel: 0,
		playerOptimizationLevel: 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
	}
}