Six4Win.WebApi

<back to all web services

GetDrawDignostics

The following routes are available for this service:
All Verbs/qry/rounds/draw/diagnostics
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class GetDrawDignostics
{
    open var id:String? = null
}

open class DrawDiagnostics
{
    open var id:String? = null
    open var initializationInfo:Initialization? = null
    open var sequenceGenerationInfo:SequenceGeneration? = null
    open var bestFitFinderInfo:BestFitFinder? = null
    open var purgerInfo:Purger? = null
    open var duration:Long? = null
    open var stimulationResponses:ArrayList<StimulationResponse>? = null
    open var localCodePot:LocalCodePotInfo? = null
    open var superWin:SuperWinInfo? = null
    open var happyHour:HappyHourInfo? = null
    open var reasoning:String? = null
    open var configuration:AccumulatorConfiguration? = null
    open var syphonInfo:SyphonInfo? = null
}

open class Initialization
{
    open var dataLoadDuration:Long? = null
    open var betsCollectionsCreationDuration:Long? = null
    open var combinationsOccuranceLookupInitializationDuration:Long? = null
}

open class SequenceGeneration
{
    open var nrOfThreads:Int? = null
    open var nrOfResultsProbed:Int? = null
    open var duration:Long? = null
    open var avgSinglePassDuration:Long? = null
}

open class BestFitFinder
{
    open var targetAmount:BigDecimal? = null
    open var awardedAmount:BigDecimal? = null
    open var deviation:BigDecimal? = null
    open var deviationPct:BigDecimal? = null
    open var sequenceResultType:String? = null
    open var isJackPot5Drawn:Boolean? = null
    open var filteringPeriod:Long? = null
    open var winCountOrder:SortingOrder? = null
    open var minAmount:BigDecimal? = null
    open var maxAmount:BigDecimal? = null
}

enum class SortingOrder(val value:Int)
{
    @SerializedName("0") None(0),
    @SerializedName("1") Ascending(1),
    @SerializedName("2") Descending(2),
}

open class Purger
{
    open var prevalentStake:BigDecimal? = null
    open var poolPurger:String? = null
    open var qualifiedPools:ArrayList<QualifiedPool>? = null
}

open class QualifiedPool
{
    open var id:Int? = null
    open var name:String? = null
    open var coefficient:BigDecimal? = null
    open var availableAmount:BigDecimal? = null
    open var awardedAmount:BigDecimal? = null
    open var targetBet:Bet? = null
}

open class Bet
{
    open var isFound:Boolean? = null
    open var betId:String? = null
    open var slipId:String? = null
    open var combStake:Object? = null
}

open class StimulationResponse
{
    open var stimulationId:String? = null
    open var status:ResponseStatus? = null
    open var failureReason:String? = null
    open var slipId:String? = null
    open var betId:String? = null
    open var amountAwarded:BigDecimal? = null
}

open class LocalCodePotInfo
{
    open var isActive:Boolean? = null
    open var current:CurrentRoundInfo? = null
    open var winners:ArrayList<WinnerByCode>? = null
}

open class CurrentRoundInfo
{
    open var roundId:String? = null
    open var amount:BigDecimal? = null
    open var inertCode:String? = null
}

open class WinnerByCode
{
    open var roundId:String? = null
    open var drawnAtUtc:Date? = null
    open var slipId:String? = null
    open var betId:String? = null
    open var code:String? = null
    open var amount:BigDecimal? = null
    open var origin:Origin? = null
    open var bettor:Ref? = null
    open var locationAddressOrBettorInfo:String? = null
}

open class Origin
{
    open var application:BettingApp? = null
    open var ip:String? = null
    open var organization:RefEx? = null
    open var region:Ref? = null
    open var locationGroup:Ref? = null
    open var location:RefEx? = null
    open var device:RefEx? = null
    open var clerk:Ref? = null
}

open class BettingApp
{
    open var name:String? = null
    open var version:String? = null
}

open class RefEx : Ref()
{
    @SerializedName("data") open var Data:RecordDictionary<String, String>? = null
}

open class Ref
{
    open var id:String? = null
    @SerializedName("val") open var Val:String? = null
}

open class RecordDictionary<TKey, TVal> : HashMap<TKey,TVal>()
{
}

open class SuperWinInfo
{
    open var durationInMs:Long? = null
}

open class HappyHourInfo
{
    open var isHappyHour:Boolean? = null
    open var oddsModifier:BigDecimal? = null
    open var roundPoolBonusPct:BigDecimal? = null
}

open class AccumulatorConfiguration : AccumulatorConfiguration()
{
    open var id:String? = null
    open var updatedAt:Date? = null
}

open class SyphonInfo
{
    open var bettors:HashMap<String,Syphon>? = null
    open var locations:HashMap<String,Syphon>? = null
    open var hasSyphons:Boolean? = null
    open var totalSyphonsInRound:Int? = null
}

open class Syphon
{
    open var id:String? = null
    open var name:String? = null
    @SerializedName("type") open var Type:SyphonType? = null
    open var nrOfCombinations:Int? = null
}

enum class SyphonType(val value:Int)
{
    @SerializedName("0") Location(0),
    @SerializedName("1") Bettor(1),
}

Kotlin GetDrawDignostics DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /qry/rounds/draw/diagnostics HTTP/1.1 
Host: s4w2.api.bettor.cc 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"id":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"id":"String","initializationInfo":{"dataLoadDuration":0,"betsCollectionsCreationDuration":0,"combinationsOccuranceLookupInitializationDuration":0},"sequenceGenerationInfo":{"nrOfThreads":0,"nrOfResultsProbed":0,"duration":0,"avgSinglePassDuration":0},"bestFitFinderInfo":{"targetAmount":0,"awardedAmount":0,"deviation":0,"deviationPct":0,"sequenceResultType":"String","isJackPot5Drawn":false,"filteringPeriod":0,"winCountOrder":0,"minAmount":0,"maxAmount":0},"purgerInfo":{"prevalentStake":0,"poolPurger":"String","qualifiedPools":[{"id":0,"name":"String","coefficient":0,"availableAmount":0,"awardedAmount":0,"targetBet":{"isFound":false,"betId":"String","slipId":"String","combStake":{}}}]},"duration":0,"stimulationResponses":[{"stimulationId":"String","status":0,"failureReason":"String","slipId":"String","betId":"String","amountAwarded":0}],"localCodePot":{"durationInMs":0},"superWin":{"durationInMs":0},"happyHour":{"isHappyHour":false,"oddsModifier":0,"roundPoolBonusPct":0},"reasoning":"String","configuration":{"pools":[{"id":0,"name":"String","rtp":0,"reserveRTP":0,"totalRTP":0}],"prevalentStake":0,"purgeThresholdModifier":0,"locationOptimizationLevel":0,"jackPot5ThresholdInterval":{"start":0,"end":0},"deviationCategorySpanInPct":0,"deviationCategoryThresholdAmount":0,"roundPoolCircuitBreakerThreshold":0,"lowWinCountAffinityInPct":0,"winCountOrderAffinity":[{"order":0,"probability":0}],"highRollerSettings":{"pools":[{"id":0,"name":"String","isActive":false,"contributionToRoundPoolPct":0,"caps":{"plusCoef":0,"minusCoef":0,"maxAmountInPrevalentStakes":0}}],"categoryThresholds":[{"category":0,"threshold":0}]},"overflowCoefficientPoolsToRound":false,"antiSyphonProtectionOverride":false,"fraudDetectionConfig":{"antiSyphon":{"combinationCountPerRoundThresholdPct":0,"excludedLocations":[{"id":"String","val":"String"}],"includeRoundPctAsBettorSyphonCriteria":false,"isActive":false}},"debugConfig":{"logLocationStats":false,"logBettorSats":false}},"syphonInfo":{"bettors":{"String":{"id":"String","name":"String","type":0,"nrOfCombinations":0}},"locations":{"String":{"id":"String","name":"String","type":0,"nrOfCombinations":0}},"hasSyphons":true,"totalSyphonsInRound":2}}