Six4Win.WebApi

<back to all web services

GetDrawDignostics

The following routes are available for this service:
All Verbs/qry/rounds/draw/diagnostics
"use strict";
export class Initialization {
    /** @param {{dataLoadDuration?:number,betsCollectionsCreationDuration?:number,combinationsOccuranceLookupInitializationDuration?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    dataLoadDuration;
    /** @type {number} */
    betsCollectionsCreationDuration;
    /** @type {number} */
    combinationsOccuranceLookupInitializationDuration;
}
export class SequenceGeneration {
    /** @param {{nrOfThreads?:number,nrOfResultsProbed?:number,duration?:number,avgSinglePassDuration?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    nrOfThreads;
    /** @type {number} */
    nrOfResultsProbed;
    /** @type {number} */
    duration;
    /** @type {number} */
    avgSinglePassDuration;
}
/** @typedef {number} */
export var SortingOrder;
(function (SortingOrder) {
    SortingOrder[SortingOrder["None"] = 0] = "None"
    SortingOrder[SortingOrder["Ascending"] = 1] = "Ascending"
    SortingOrder[SortingOrder["Descending"] = 2] = "Descending"
})(SortingOrder || (SortingOrder = {}));
export class BestFitFinder {
    /** @param {{targetAmount?:number,awardedAmount?:number,deviation?:number,deviationPct?:number,sequenceResultType?:string,isJackPot5Drawn?:boolean,filteringPeriod?:number,winCountOrder?:SortingOrder,minAmount?:number,maxAmount?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    targetAmount;
    /** @type {number} */
    awardedAmount;
    /** @type {number} */
    deviation;
    /** @type {number} */
    deviationPct;
    /** @type {string} */
    sequenceResultType;
    /** @type {boolean} */
    isJackPot5Drawn;
    /** @type {number} */
    filteringPeriod;
    /** @type {SortingOrder} */
    winCountOrder;
    /** @type {number} */
    minAmount;
    /** @type {number} */
    maxAmount;
}
export class Bet {
    /** @param {{isFound?:boolean,betId?:string,slipId?:string,combStake?:Object}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    isFound;
    /** @type {string} */
    betId;
    /** @type {string} */
    slipId;
    /** @type {Object} */
    combStake;
}
export class QualifiedPool {
    /** @param {{id?:number,name?:string,coefficient?:number,availableAmount?:number,awardedAmount?:number,targetBet?:Bet}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {string} */
    name;
    /** @type {number} */
    coefficient;
    /** @type {number} */
    availableAmount;
    /** @type {number} */
    awardedAmount;
    /** @type {Bet} */
    targetBet;
}
export class Purger {
    /** @param {{prevalentStake?:number,poolPurger?:string,qualifiedPools?:QualifiedPool[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    prevalentStake;
    /** @type {string} */
    poolPurger;
    /** @type {QualifiedPool[]} */
    qualifiedPools;
}
/** @typedef {number} */
export var ResponseStatus;
(function (ResponseStatus) {
    ResponseStatus[ResponseStatus["Failure"] = 0] = "Failure"
    ResponseStatus[ResponseStatus["Success"] = 1] = "Success"
})(ResponseStatus || (ResponseStatus = {}));
export class StimulationResponse {
    /** @param {{stimulationId?:string,status?:ResponseStatus,failureReason?:string,slipId?:string,betId?:string,amountAwarded?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    stimulationId;
    /** @type {ResponseStatus} */
    status;
    /** @type {string} */
    failureReason;
    /** @type {string} */
    slipId;
    /** @type {string} */
    betId;
    /** @type {number} */
    amountAwarded;
}
export class CurrentRoundInfo {
    /** @param {{roundId?:string,amount?:number,inertCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    roundId;
    /** @type {number} */
    amount;
    /** @type {string} */
    inertCode;
}
export class BettingApp {
    /** @param {{name?:string,version?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    version;
}
export class Ref {
    /** @param {{id?:string,val?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    val;
}
export class RefEx extends Ref {
    /** @param {{data?:RecordDictionary<string, string>,id?:string,val?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {RecordDictionary<string, string>} */
    data;
}
export class Origin {
    /** @param {{application?:BettingApp,ip?:string,organization?:RefEx,region?:Ref,locationGroup?:Ref,location?:RefEx,device?:RefEx,clerk?:Ref}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {BettingApp} */
    application;
    /** @type {string} */
    ip;
    /** @type {RefEx} */
    organization;
    /** @type {Ref} */
    region;
    /** @type {Ref} */
    locationGroup;
    /** @type {RefEx} */
    location;
    /** @type {RefEx} */
    device;
    /** @type {Ref} */
    clerk;
}
export class WinnerByCode {
    /** @param {{roundId?:string,drawnAtUtc?:string,slipId?:string,betId?:string,code?:string,amount?:number,origin?:Origin,bettor?:Ref,locationAddressOrBettorInfo?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    roundId;
    /** @type {string} */
    drawnAtUtc;
    /** @type {string} */
    slipId;
    /** @type {string} */
    betId;
    /** @type {string} */
    code;
    /** @type {number} */
    amount;
    /** @type {Origin} */
    origin;
    /** @type {Ref} */
    bettor;
    /** @type {string} */
    locationAddressOrBettorInfo;
}
export class LocalCodePotInfo {
    /** @param {{isActive?:boolean,current?:CurrentRoundInfo,winners?:WinnerByCode[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    isActive;
    /** @type {CurrentRoundInfo} */
    current;
    /** @type {WinnerByCode[]} */
    winners;
}
export class SuperWinInfo {
    /** @param {{durationInMs?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    durationInMs;
}
export class HappyHourInfo {
    /** @param {{isHappyHour?:boolean,oddsModifier?:number,roundPoolBonusPct?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    isHappyHour;
    /** @type {number} */
    oddsModifier;
    /** @type {number} */
    roundPoolBonusPct;
}
export class AccumulatorConfiguration extends AccumulatorConfiguration {
    /** @param {{id?:string,updatedAt?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    updatedAt;
}
/** @typedef {number} */
export var SyphonType;
(function (SyphonType) {
    SyphonType[SyphonType["Location"] = 0] = "Location"
    SyphonType[SyphonType["Bettor"] = 1] = "Bettor"
})(SyphonType || (SyphonType = {}));
export class Syphon {
    /** @param {{id?:string,name?:string,type?:SyphonType,nrOfCombinations?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
    /** @type {SyphonType} */
    type;
    /** @type {number} */
    nrOfCombinations;
}
export class SyphonInfo {
    /** @param {{bettors?:{ [index:string]: Syphon; },locations?:{ [index:string]: Syphon; },hasSyphons?:boolean,totalSyphonsInRound?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {{ [index:string]: Syphon; }} */
    bettors;
    /** @type {{ [index:string]: Syphon; }} */
    locations;
    /** @type {boolean} */
    hasSyphons;
    /** @type {number} */
    totalSyphonsInRound;
}
export class DrawDiagnostics {
    /** @param {{id?:string,initializationInfo?:Initialization,sequenceGenerationInfo?:SequenceGeneration,bestFitFinderInfo?:BestFitFinder,purgerInfo?:Purger,duration?:number,stimulationResponses?:StimulationResponse[],localCodePot?:LocalCodePotInfo,superWin?:SuperWinInfo,happyHour?:HappyHourInfo,reasoning?:string,configuration?:AccumulatorConfiguration,syphonInfo?:SyphonInfo}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {Initialization} */
    initializationInfo;
    /** @type {SequenceGeneration} */
    sequenceGenerationInfo;
    /** @type {BestFitFinder} */
    bestFitFinderInfo;
    /** @type {Purger} */
    purgerInfo;
    /** @type {number} */
    duration;
    /** @type {StimulationResponse[]} */
    stimulationResponses;
    /** @type {LocalCodePotInfo} */
    localCodePot;
    /** @type {SuperWinInfo} */
    superWin;
    /** @type {HappyHourInfo} */
    happyHour;
    /** @type {string} */
    reasoning;
    /** @type {AccumulatorConfiguration} */
    configuration;
    /** @type {SyphonInfo} */
    syphonInfo;
}
export class GetDrawDignostics {
    /** @param {{id?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
}
class Dictionary {}
/** @typedef TKey {any} */
/** @typedef  TVal {any} */
export class RecordDictionary extends Dictionary {
    constructor(init) { super(init); Object.assign(this, init) }
}

JavaScript GetDrawDignostics DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<GetDrawDignostics xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Six4Win.WebApi.ServiceModel">
  <Id>String</Id>
</GetDrawDignostics>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DrawDiagnostics xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Six4Win.ReadModel">
  <BestFitFinderInfo>
    <AwardedAmount>0</AwardedAmount>
    <Deviation>0</Deviation>
    <DeviationPct>0</DeviationPct>
    <FilteringPeriod>0</FilteringPeriod>
    <IsJackPot5Drawn>false</IsJackPot5Drawn>
    <MaxAmount>0</MaxAmount>
    <MinAmount>0</MinAmount>
    <SequenceResultType>String</SequenceResultType>
    <TargetAmount>0</TargetAmount>
    <WinCountOrder>None</WinCountOrder>
  </BestFitFinderInfo>
  <Configuration xmlns:d2p1="http://schemas.datacontract.org/2004/07/Six4Win">
    <d2p1:AntiSyphonProtectionOverride>false</d2p1:AntiSyphonProtectionOverride>
    <d2p1:DebugConfig>
      <d2p1:LogBettorSats>false</d2p1:LogBettorSats>
      <d2p1:LogLocationStats>false</d2p1:LogLocationStats>
    </d2p1:DebugConfig>
    <d2p1:DeviationCategorySpanInPct>0</d2p1:DeviationCategorySpanInPct>
    <d2p1:DeviationCategoryThresholdAmount>0</d2p1:DeviationCategoryThresholdAmount>
    <d2p1:FraudDetectionConfig>
      <d2p1:AntiSyphon>
        <d2p1:CombinationCountPerRoundThresholdPct>0</d2p1:CombinationCountPerRoundThresholdPct>
        <d2p1:ExcludedLocations xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
          <d5p1:Ref>
            <d5p1:Id>String</d5p1:Id>
            <d5p1:Val>String</d5p1:Val>
          </d5p1:Ref>
        </d2p1:ExcludedLocations>
        <d2p1:IncludeRoundPctAsBettorSyphonCriteria>false</d2p1:IncludeRoundPctAsBettorSyphonCriteria>
        <d2p1:IsActive>false</d2p1:IsActive>
      </d2p1:AntiSyphon>
    </d2p1:FraudDetectionConfig>
    <d2p1:HighRollerSettings>
      <d2p1:CategoryThresholds>
        <d2p1:HighRollerSettings.CategoryThreshold>
          <d2p1:Category>Pickerel</d2p1:Category>
          <d2p1:Threshold>0</d2p1:Threshold>
        </d2p1:HighRollerSettings.CategoryThreshold>
      </d2p1:CategoryThresholds>
      <d2p1:Pools>
        <d2p1:HighRollerSettings.PoolSettings>
          <d2p1:Caps>
            <d2p1:MaxAmountInPrevalentStakes>0</d2p1:MaxAmountInPrevalentStakes>
            <d2p1:MinusCoef>0</d2p1:MinusCoef>
            <d2p1:PlusCoef>0</d2p1:PlusCoef>
          </d2p1:Caps>
          <d2p1:ContributionToRoundPoolPct>0</d2p1:ContributionToRoundPoolPct>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsActive>false</d2p1:IsActive>
          <d2p1:Name>String</d2p1:Name>
        </d2p1:HighRollerSettings.PoolSettings>
      </d2p1:Pools>
    </d2p1:HighRollerSettings>
    <d2p1:JackPot5ThresholdInterval>
      <d2p1:End>0</d2p1:End>
      <d2p1:Start>0</d2p1:Start>
    </d2p1:JackPot5ThresholdInterval>
    <d2p1:LocationOptimizationLevel>None</d2p1:LocationOptimizationLevel>
    <d2p1:LowWinCountAffinityInPct>0</d2p1:LowWinCountAffinityInPct>
    <d2p1:OverflowCoefficientPoolsToRound>false</d2p1:OverflowCoefficientPoolsToRound>
    <d2p1:Pools>
      <d2p1:AccumulatorConfiguration.Pool>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:Name>String</d2p1:Name>
        <d2p1:RTP>0</d2p1:RTP>
        <d2p1:ReserveRTP>0</d2p1:ReserveRTP>
      </d2p1:AccumulatorConfiguration.Pool>
    </d2p1:Pools>
    <d2p1:PrevalentStake>0</d2p1:PrevalentStake>
    <d2p1:PurgeThresholdModifier>0</d2p1:PurgeThresholdModifier>
    <d2p1:RoundPoolCircuitBreakerThreshold>0</d2p1:RoundPoolCircuitBreakerThreshold>
    <d2p1:WinCountOrderAffinity>
      <d2p1:WinCountOrderProbability>
        <d2p1:Order>None</d2p1:Order>
        <d2p1:Probability>0</d2p1:Probability>
      </d2p1:WinCountOrderProbability>
    </d2p1:WinCountOrderAffinity>
  </Configuration>
  <Duration>0</Duration>
  <HappyHour>
    <IsHappyHour>false</IsHappyHour>
    <OddsModifier>0</OddsModifier>
    <RoundPoolBonusPct>0</RoundPoolBonusPct>
  </HappyHour>
  <Id>String</Id>
  <InitializationInfo>
    <BetsCollectionsCreationDuration>0</BetsCollectionsCreationDuration>
    <CombinationsOccuranceLookupInitializationDuration>0</CombinationsOccuranceLookupInitializationDuration>
    <DataLoadDuration>0</DataLoadDuration>
  </InitializationInfo>
  <LocalCodePot>
    <DurationInMs>0</DurationInMs>
  </LocalCodePot>
  <PurgerInfo>
    <PoolPurger>String</PoolPurger>
    <PrevalentStake>0</PrevalentStake>
    <QualifiedPools>
      <DrawDiagnostics.QualifiedPool>
        <AvailableAmount>0</AvailableAmount>
        <AwardedAmount>0</AwardedAmount>
        <Coefficient>0</Coefficient>
        <Id>0</Id>
        <Name>String</Name>
        <TargetBet>
          <BetId>String</BetId>
          <CombStake />
          <IsFound>false</IsFound>
          <SlipId>String</SlipId>
        </TargetBet>
      </DrawDiagnostics.QualifiedPool>
    </QualifiedPools>
  </PurgerInfo>
  <Reasoning>String</Reasoning>
  <SequenceGenerationInfo>
    <AvgSinglePassDuration>0</AvgSinglePassDuration>
    <Duration>0</Duration>
    <NrOfResultsProbed>0</NrOfResultsProbed>
    <NrOfThreads>0</NrOfThreads>
  </SequenceGenerationInfo>
  <StimulationResponses>
    <DrawDiagnostics.StimulationResponse>
      <AmountAwarded>0</AmountAwarded>
      <BetId>String</BetId>
      <FailureReason>String</FailureReason>
      <SlipId>String</SlipId>
      <Status>Failure</Status>
      <StimulationId>String</StimulationId>
    </DrawDiagnostics.StimulationResponse>
  </StimulationResponses>
  <SuperWin>
    <DurationInMs>0</DurationInMs>
  </SuperWin>
  <SyphonInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/Six4Win.Common">
    <d2p1:Bettors xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringSyphonFQuwRXs4>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>
          <d2p1:Id>String</d2p1:Id>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NrOfCombinations>0</d2p1:NrOfCombinations>
          <d2p1:Type>Location</d2p1:Type>
        </d3p1:Value>
      </d3p1:KeyValueOfstringSyphonFQuwRXs4>
    </d2p1:Bettors>
    <d2p1:Locations xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringSyphonFQuwRXs4>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>
          <d2p1:Id>String</d2p1:Id>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NrOfCombinations>0</d2p1:NrOfCombinations>
          <d2p1:Type>Location</d2p1:Type>
        </d3p1:Value>
      </d3p1:KeyValueOfstringSyphonFQuwRXs4>
    </d2p1:Locations>
  </SyphonInfo>
</DrawDiagnostics>