| All Verbs | /qry/rounds/draw/diagnostics |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Six4Win.WebApi.ServiceModel;
using Six4Win.ReadModel;
using Starnet.Common;
using Six4Win;
using Betting.Common;
using Six4Win.Common;
namespace Betting.Common
{
public partial class BettingApp
{
public virtual string Name { get; set; }
public virtual string Version { get; set; }
}
public partial class Origin
{
public virtual BettingApp Application { get; set; }
public virtual string IP { get; set; }
public virtual RefEx Organization { get; set; }
public virtual Ref Region { get; set; }
public virtual Ref LocationGroup { get; set; }
public virtual RefEx Location { get; set; }
public virtual RefEx Device { get; set; }
public virtual Ref Clerk { get; set; }
}
}
namespace Six4Win
{
public partial class WinnerByCode
{
public virtual string RoundId { get; set; }
public virtual DateTime DrawnAtUtc { get; set; }
public virtual string SlipId { get; set; }
public virtual string BetId { get; set; }
public virtual string Code { get; set; }
public virtual decimal Amount { get; set; }
public virtual Origin Origin { get; set; }
public virtual Ref Bettor { get; set; }
public virtual string LocationAddressOrBettorInfo { get; set; }
}
}
namespace Six4Win.Common
{
public partial class Syphon
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual SyphonType Type { get; set; }
public virtual int NrOfCombinations { get; set; }
}
public partial class SyphonInfo
{
public virtual Dictionary<string, Syphon> Bettors { get; set; }
public virtual Dictionary<string, Syphon> Locations { get; set; }
public virtual bool HasSyphons { get; set; }
public virtual int TotalSyphonsInRound { get; set; }
}
public enum SyphonType
{
Location = 0,
Bettor = 1,
}
}
namespace Six4Win.ReadModel
{
public partial class AccumulatorConfiguration
: AccumulatorConfiguration
{
public virtual string Id { get; set; }
public virtual DateTime UpdatedAt { get; set; }
}
public partial class DrawDiagnostics
{
public virtual string Id { get; set; }
public virtual Initialization InitializationInfo { get; set; }
public virtual SequenceGeneration SequenceGenerationInfo { get; set; }
public virtual BestFitFinder BestFitFinderInfo { get; set; }
public virtual Purger PurgerInfo { get; set; }
public virtual long Duration { get; set; }
public virtual List<StimulationResponse> StimulationResponses { get; set; }
public virtual LocalCodePotInfo LocalCodePot { get; set; }
public virtual SuperWinInfo SuperWin { get; set; }
public virtual HappyHourInfo HappyHour { get; set; }
public virtual string Reasoning { get; set; }
public virtual AccumulatorConfiguration Configuration { get; set; }
public virtual SyphonInfo SyphonInfo { get; set; }
public partial class Initialization
{
public virtual long DataLoadDuration { get; set; }
public virtual long BetsCollectionsCreationDuration { get; set; }
public virtual long CombinationsOccuranceLookupInitializationDuration { get; set; }
}
public partial class Purger
{
public virtual decimal PrevalentStake { get; set; }
public virtual string PoolPurger { get; set; }
public virtual List<QualifiedPool> QualifiedPools { get; set; }
}
public partial class QualifiedPool
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual decimal Coefficient { get; set; }
public virtual decimal AvailableAmount { get; set; }
public virtual decimal AwardedAmount { get; set; }
public virtual Bet TargetBet { get; set; }
public partial class Bet
{
public virtual bool IsFound { get; set; }
public virtual string BetId { get; set; }
public virtual string SlipId { get; set; }
public virtual Object CombStake { get; set; }
}
}
public partial class SequenceGeneration
{
public virtual int NrOfThreads { get; set; }
public virtual int NrOfResultsProbed { get; set; }
public virtual long Duration { get; set; }
public virtual long AvgSinglePassDuration { get; set; }
}
public partial class BestFitFinder
{
public virtual decimal TargetAmount { get; set; }
public virtual decimal AwardedAmount { get; set; }
public virtual decimal Deviation { get; set; }
public virtual decimal DeviationPct { get; set; }
public virtual string SequenceResultType { get; set; }
public virtual bool IsJackPot5Drawn { get; set; }
public virtual long FilteringPeriod { get; set; }
public virtual SortingOrder WinCountOrder { get; set; }
public virtual decimal MinAmount { get; set; }
public virtual decimal MaxAmount { get; set; }
}
public partial class StimulationResponse
{
public virtual string StimulationId { get; set; }
public virtual ResponseStatus Status { get; set; }
public virtual string FailureReason { get; set; }
public virtual string SlipId { get; set; }
public virtual string BetId { get; set; }
public virtual decimal AmountAwarded { get; set; }
public enum ResponseStatus
{
Failure = 0,
Success = 1,
}
}
public partial class LocalCodePotInfo
{
public virtual bool IsActive { get; set; }
public virtual CurrentRoundInfo Current { get; set; }
public virtual List<WinnerByCode> Winners { get; set; }
public partial class CurrentRoundInfo
{
public virtual string RoundId { get; set; }
public virtual decimal Amount { get; set; }
public virtual string InertCode { get; set; }
}
}
public partial class SuperWinInfo
{
public virtual long DurationInMs { get; set; }
}
public partial class HappyHourInfo
{
public virtual bool IsHappyHour { get; set; }
public virtual decimal OddsModifier { get; set; }
public virtual decimal RoundPoolBonusPct { get; set; }
}
}
}
namespace Six4Win.WebApi.ServiceModel
{
public partial class GetDrawDignostics
{
public virtual string Id { get; set; }
}
}
namespace Starnet.Common
{
public partial class RecordDictionary<TKey, TVal>
: Dictionary<TKey, TVal>
{
}
public partial class Ref
{
public virtual string Id { get; set; }
public virtual string Val { get; set; }
}
public partial class RefEx
: Ref
{
public virtual RecordDictionary<string, string> Data { get; set; }
}
public enum SortingOrder
{
None = 0,
Ascending = 1,
Descending = 2,
}
}
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
}
}