Greyhounds.WebApi

<back to all web services

GetFeed

The following routes are available for this service:
All Verbs/feed
// @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 Feed
{
    public id?: string;
    public round?: Round;
    public lastJackpotInfo?: JackpotInfo;

    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); }
}

TypeScript GetFeed DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /feed HTTP/1.1 
Host: grh1.api.bettor.webhop.biz 
Accept: application/json
Content-Type: application/json
Content-Length: length

{}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"id":"String","round":{"id":"String","createdAt":"0001-01-01T00:00:00.0000000Z","updatedAt":"0001-01-01T00:00:00.0000000Z","status":0,"configuration":{"countdownDurationInSeconds":0,"raceDurationInSeconds":0,"resultsDurationInSeconds":0,"rtpStrategy":0},"odds":{"0":{"id":0,"odds":0,"status":0}},"jackpotInfo":{"isGiven":false,"id":"String","slipId":"String","jpId":"String","amount":0,"locationId":"String","locationName":"String","addressLine":"String","amountAccumulated":0},"sequence":"String","progress":{"stage":0,"step":0,"steps":0,"utcTimestamp":"0001-01-01T00:00:00.0000000Z"},"isLocked":false,"isCalculated":false},"lastJackpotInfo":{"isGiven":false,"id":"String","slipId":"String","jpId":"String","amount":0,"locationId":"String","locationName":"String","addressLine":"String","amountAccumulated":0}}