Six4Win.WebApi

<back to all web services

GetFeed

The following routes are available for this service:
All Verbs/qry/feed

export enum RoundStatus
{
    Pending = 0,
    InProgress = 1,
    Ended = 2,
}

export class CountdownConfiguration
{
    public lockdownStepFromEnd: number;
    public assertLockdownStepFromEnd: number;

    public constructor(init?: Partial<CountdownConfiguration>) { (Object as any).assign(this, init); }
}

export class DrawConfiguration
{
    public introIntervalInMs: number;
    public animationIntervalInMs: number;
    public outroIntervalInMs: number;

    public constructor(init?: Partial<DrawConfiguration>) { (Object as any).assign(this, init); }
}

export enum RTPStrategies
{
    RNG = 0,
    Accumulator = 1,
}

export class HappyHourConfiguration
{
    public isHappyHour: boolean;
    public oddsModifier: number;
    public roundPoolBonusPct: number;

    public constructor(init?: Partial<HappyHourConfiguration>) { (Object as any).assign(this, init); }
}

export class RoundConfiguration
{
    public coefficients: RecordList<number>;
    public isDoubleTripleActive: boolean;
    public isJackpot5Active: boolean;
    public countdownDurationInSeconds: number;
    public countdownConfiguration: CountdownConfiguration;
    public drawConfiguration: DrawConfiguration;
    public resultsDurationInSeconds: number;
    public rtpStrategy: RTPStrategies;
    public happyHourConfiguration: HappyHourConfiguration;

    public constructor(init?: Partial<RoundConfiguration>) { (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 JackPot5Winner
{
    public betId: string;
    public nrOfCombinations: number;
    public winningsAmount: number;
    public origin: Origin;
    public bettor: Ref;
    public payload: { [index:string]: string; };

    public constructor(init?: Partial<JackPot5Winner>) { (Object as any).assign(this, init); }
}

export class Jackpot5Info
{
    public isHit: boolean;
    public amountAccumulated: number;
    public amountAwarded: number;
    public nrOfWinners: number;
    public jackPot5Winners: JackPot5Winner[];

    public constructor(init?: Partial<Jackpot5Info>) { (Object as any).assign(this, init); }
}

export class SuperWinWinner
{
    public isDrawn: boolean;
    public drawnAtUtc: string;
    public roundId: string;
    public betId: string;
    public slipId: string;
    public origin: Origin;
    public bettor: Ref;
    public code: string;
    public amount: number;
    public locationAddressOrBettorInfo: string;

    public constructor(init?: Partial<SuperWinWinner>) { (Object as any).assign(this, init); }
}

export class SuperWinInfo
{
    public isActive: boolean;
    public winner: SuperWinWinner;
    public availableAmount: number;
    public allPrizesAwarded: boolean;

    public constructor(init?: Partial<SuperWinInfo>) { (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 GlobalCodePotInfo
{
    public isActive: boolean;
    public isDrawn: boolean;
    public winner: WinnerByCode;
    public inertCode: string;
    public accumulation: number;

    public constructor(init?: Partial<GlobalCodePotInfo>) { (Object as any).assign(this, init); }
}

export enum Stages
{
    None = 0,
    Countdown = 1,
    Processing = 2,
    Draw = 3,
    Results = 4,
}

export class RoundProgress
{
    public stage: Stages;
    public step: number;
    public steps: number;
    public utcTimestamp: string;

    public constructor(init?: Partial<RoundProgress>) { (Object as any).assign(this, init); }
}

export class Round
{
    public id: string;
    public createdAt: string;
    public updatedAt: string;
    public shouldStartAtUtc: string;
    public startedAtUtc: string;
    public status: RoundStatus;
    public configuration: RoundConfiguration;
    public sequence: string;
    public jackpot5Info: Jackpot5Info;
    public superWinInfo: SuperWinInfo;
    public globalCodePotInfo: GlobalCodePotInfo;
    public progress: RoundProgress;
    public isLocked: boolean;
    public isCalculated: boolean;

    public constructor(init?: Partial<Round>) { (Object as any).assign(this, init); }
}

export class Feed
{
    public id: string;
    public round: Round;
    public lastJackpot5Info: Jackpot5Info;
    public superWinInfo: SuperWinInfo;
    public globalCodePotInfo: GlobalCodePotInfo;

    public constructor(init?: Partial<Feed>) { (Object as any).assign(this, init); }
}

export class GetFeed
{

    public constructor(init?: Partial<GetFeed>) { (Object as any).assign(this, init); }
}

export class RecordList<T> extends Array<T>
{

    public constructor(init?: Partial<RecordList<T>>) { super(); (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 GetFeed 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/feed HTTP/1.1 
Host: s4w2.api.bettor.cc 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

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

{"id":"String","round":{"id":"String","createdAt":"0001-01-01T00:00:00.0000000Z","updatedAt":"0001-01-01T00:00:00.0000000Z","shouldStartAtUtc":"0001-01-01T00:00:00.0000000Z","startedAtUtc":"0001-01-01T00:00:00.0000000Z","status":0,"configuration":{"coefficients":[0],"isDoubleTripleActive":false,"isJackpot5Active":false,"countdownDurationInSeconds":0,"countdownConfiguration":{"lockdownStepFromEnd":0,"assertLockdownStepFromEnd":0},"drawConfiguration":{"introIntervalInMs":0,"animationIntervalInMs":0,"outroIntervalInMs":0},"resultsDurationInSeconds":0,"rtpStrategy":0,"happyHourConfiguration":{"isHappyHour":false,"oddsModifier":0,"roundPoolBonusPct":0}},"sequence":"String","jackpot5Info":{"isHit":false,"amountAccumulated":0,"amountAwarded":0,"nrOfWinners":0,"jackPot5Winners":[{"betId":"String","nrOfCombinations":0,"winningsAmount":0,"origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}},"bettor":{"id":"String","val":"String"},"payload":{"String":"String"}}]},"superWinInfo":{"isActive":false,"winner":{"isDrawn":false,"drawnAtUtc":"0001-01-01T00:00:00.0000000Z","roundId":"String","betId":"String","slipId":"String","origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}},"bettor":{"id":"String","val":"String"},"code":"String","amount":0,"locationAddressOrBettorInfo":"String"},"availableAmount":0,"allPrizesAwarded":false},"globalCodePotInfo":{"isActive":false,"isDrawn":true,"winner":{"roundId":"String","drawnAtUtc":"0001-01-01T00:00:00.0000000Z","slipId":"String","betId":"String","code":"String","amount":0,"origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}},"bettor":{"id":"String","val":"String"},"locationAddressOrBettorInfo":"String"},"inertCode":"String","accumulation":0},"progress":{"stage":0,"step":0,"steps":0,"utcTimestamp":"0001-01-01T00:00:00.0000000Z"},"isLocked":false,"isCalculated":false},"lastJackpot5Info":{"isHit":false,"amountAccumulated":0,"amountAwarded":0,"nrOfWinners":0,"jackPot5Winners":[{"betId":"String","nrOfCombinations":0,"winningsAmount":0,"origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}},"bettor":{"id":"String","val":"String"},"payload":{"String":"String"}}]},"superWinInfo":{"isActive":false,"winner":{"isDrawn":false,"drawnAtUtc":"0001-01-01T00:00:00.0000000Z","roundId":"String","betId":"String","slipId":"String","origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}},"bettor":{"id":"String","val":"String"},"code":"String","amount":0,"locationAddressOrBettorInfo":"String"},"availableAmount":0,"allPrizesAwarded":false},"globalCodePotInfo":{"isActive":false,"isDrawn":true,"winner":{"roundId":"String","drawnAtUtc":"0001-01-01T00:00:00.0000000Z","slipId":"String","betId":"String","code":"String","amount":0,"origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}},"bettor":{"id":"String","val":"String"},"locationAddressOrBettorInfo":"String"},"inertCode":"String","accumulation":0}}