| All Verbs | /qry/rounds/draw/diagnostics |
|---|
export class Initialization
{
public dataLoadDuration: number;
public betsCollectionsCreationDuration: number;
public combinationsOccuranceLookupInitializationDuration: number;
public constructor(init?: Partial<Initialization>) { (Object as any).assign(this, init); }
}
export class SequenceGeneration
{
public nrOfThreads: number;
public nrOfResultsProbed: number;
public duration: number;
public avgSinglePassDuration: number;
public constructor(init?: Partial<SequenceGeneration>) { (Object as any).assign(this, init); }
}
export enum SortingOrder
{
None = 0,
Ascending = 1,
Descending = 2,
}
export class BestFitFinder
{
public targetAmount: number;
public awardedAmount: number;
public deviation: number;
public deviationPct: number;
public sequenceResultType: string;
public isJackPot5Drawn: boolean;
public filteringPeriod: number;
public winCountOrder: SortingOrder;
public minAmount: number;
public maxAmount: number;
public constructor(init?: Partial<BestFitFinder>) { (Object as any).assign(this, init); }
}
export class Bet
{
public isFound: boolean;
public betId: string;
public slipId: string;
public combStake: Object;
public constructor(init?: Partial<Bet>) { (Object as any).assign(this, init); }
}
export class QualifiedPool
{
public id: number;
public name: string;
public coefficient: number;
public availableAmount: number;
public awardedAmount: number;
public targetBet: Bet;
public constructor(init?: Partial<QualifiedPool>) { (Object as any).assign(this, init); }
}
export class Purger
{
public prevalentStake: number;
public poolPurger: string;
public qualifiedPools: QualifiedPool[];
public constructor(init?: Partial<Purger>) { (Object as any).assign(this, init); }
}
export enum ResponseStatus
{
Failure = 0,
Success = 1,
}
export class StimulationResponse
{
public stimulationId: string;
public status: ResponseStatus;
public failureReason: string;
public slipId: string;
public betId: string;
public amountAwarded: number;
public constructor(init?: Partial<StimulationResponse>) { (Object as any).assign(this, init); }
}
export class CurrentRoundInfo
{
public roundId: string;
public amount: number;
public inertCode: string;
public constructor(init?: Partial<CurrentRoundInfo>) { (Object as any).assign(this, init); }
}
export class BettingApp
{
public name: string;
public version: string;
public constructor(init?: Partial<BettingApp>) { (Object as any).assign(this, init); }
}
export class Ref
{
public id: string;
public val: string;
public constructor(init?: Partial<Ref>) { (Object as any).assign(this, init); }
}
export class RefEx extends Ref
{
public data: RecordDictionary<string, string>;
public constructor(init?: Partial<RefEx>) { super(init); (Object as any).assign(this, init); }
}
export class Origin
{
public application: BettingApp;
public ip: string;
public organization: RefEx;
public region: Ref;
public locationGroup: Ref;
public location: RefEx;
public device: RefEx;
public clerk: Ref;
public constructor(init?: Partial<Origin>) { (Object as any).assign(this, init); }
}
export class WinnerByCode
{
public roundId: string;
public drawnAtUtc: string;
public slipId: string;
public betId: string;
public code: string;
public amount: number;
public origin: Origin;
public bettor: Ref;
public locationAddressOrBettorInfo: string;
public constructor(init?: Partial<WinnerByCode>) { (Object as any).assign(this, init); }
}
export class LocalCodePotInfo
{
public isActive: boolean;
public current: CurrentRoundInfo;
public winners: WinnerByCode[];
public constructor(init?: Partial<LocalCodePotInfo>) { (Object as any).assign(this, init); }
}
export class SuperWinInfo
{
public durationInMs: number;
public constructor(init?: Partial<SuperWinInfo>) { (Object as any).assign(this, init); }
}
export class HappyHourInfo
{
public isHappyHour: boolean;
public oddsModifier: number;
public roundPoolBonusPct: number;
public constructor(init?: Partial<HappyHourInfo>) { (Object as any).assign(this, init); }
}
export class AccumulatorConfiguration extends AccumulatorConfiguration
{
public id: string;
public updatedAt: string;
public constructor(init?: Partial<AccumulatorConfiguration>) { super(init); (Object as any).assign(this, init); }
}
export enum SyphonType
{
Location = 0,
Bettor = 1,
}
export class Syphon
{
public id: string;
public name: string;
public type: SyphonType;
public nrOfCombinations: number;
public constructor(init?: Partial<Syphon>) { (Object as any).assign(this, init); }
}
export class SyphonInfo
{
public bettors: { [index:string]: Syphon; };
public locations: { [index:string]: Syphon; };
public hasSyphons: boolean;
public totalSyphonsInRound: number;
public constructor(init?: Partial<SyphonInfo>) { (Object as any).assign(this, init); }
}
export class DrawDiagnostics
{
public id: string;
public initializationInfo: Initialization;
public sequenceGenerationInfo: SequenceGeneration;
public bestFitFinderInfo: BestFitFinder;
public purgerInfo: Purger;
public duration: number;
public stimulationResponses: StimulationResponse[];
public localCodePot: LocalCodePotInfo;
public superWin: SuperWinInfo;
public happyHour: HappyHourInfo;
public reasoning: string;
public configuration: AccumulatorConfiguration;
public syphonInfo: SyphonInfo;
public constructor(init?: Partial<DrawDiagnostics>) { (Object as any).assign(this, init); }
}
export class GetDrawDignostics
{
public id: string;
public constructor(init?: Partial<GetDrawDignostics>) { (Object as any).assign(this, init); }
}
export class Dictionary<T> { [Key: string]: T; }
export class RecordDictionary<TKey, TVal> extends Dictionary<TVal>
{
public constructor(init?: Partial<RecordDictionary<TKey, TVal>>) { super(); (Object as any).assign(this, init); }
}
TypeScript GetDrawDignostics DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}
}