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

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

<AvailableRounds xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Greyhounds.ReadModel">
  <Id>String</Id>
  <Rounds>
    <AvailableRounds.Round>
      <Id>String</Id>
      <Odds>
        <AvailableRounds.Odds>
          <Id>0</Id>
          <Val>0</Val>
        </AvailableRounds.Odds>
      </Odds>
    </AvailableRounds.Round>
  </Rounds>
</AvailableRounds>