Greyhounds.WebApi

<back to all web services

GetOdds

The following routes are available for this service:
All Verbs/feed/odds
// @ts-nocheck

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

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

export class RoundConfiguration
{
    public countdownDurationInSeconds: number;
    public raceDurationInSeconds: number;
    public resultsDurationInSeconds: number;
    public rtpStrategy: RTPStrategies;

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

export enum OutcomeStatus
{
    Unknown = 0,
    Lost = 1,
    Won = 2,
    Void = 3,
}

export class Outcome
{
    public id: number;
    public odds: number;
    public status: OutcomeStatus;

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

export class JackpotInfo
{
    public isGiven: boolean;
    public id?: string;
    public slipId?: string;
    public jpId?: string;
    public amount: number;
    public locationId?: string;
    public locationName?: string;
    public addressLine?: string;
    public amountAccumulated: number;

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

export enum Stages
{
    None = 0,
    Countdown = 1,
    Processing = 2,
    Race = 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 status: RoundStatus;
    public configuration?: RoundConfiguration;
    public odds?: { [index:number]: Outcome; };
    public jackpotInfo?: JackpotInfo;
    public sequence?: string;
    public progress?: RoundProgress;
    public isLocked: boolean;
    public isCalculated: boolean;

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

export class AvailableRounds
{
    public id?: string;
    public rounds?: Round[];

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

export class GetOdds
{

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

TypeScript GetOdds 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 /feed/odds HTTP/1.1 
Host: grh1.api.bettor.webhop.biz 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

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

{"id":"String","rounds":[{"id":"String","odds":[{"id":0,"val":0}]}]}