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 .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
Content-Type: text/jsv
Content-Length: length

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

{
	id: String,
	round: 
	{
		id: String,
		createdAt: 0001-01-01,
		updatedAt: 0001-01-01,
		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-01
		},
		isLocked: False,
		isCalculated: False
	},
	lastJackpotInfo: 
	{
		isGiven: False,
		id: String,
		slipId: String,
		jpId: String,
		amount: 0,
		locationId: String,
		locationName: String,
		addressLine: String,
		amountAccumulated: 0
	}
}