Greyhounds.WebApi

<back to all web services

GetFeed

The following routes are available for this service:
All Verbs/feed
import Foundation
import ServiceStack

public class GetFeed : Codable
{
    required public init(){}
}

public class Feed : Codable
{
    public var id:String
    public var round:Round
    public var lastJackpotInfo:JackpotInfo

    required public init(){}
}

public class Round : Codable
{
    public var id:String
    public var createdAt:Date
    public var updatedAt:Date
    public var status:RoundStatus
    public var configuration:RoundConfiguration
    public var odds:[Int:Outcome]
    public var jackpotInfo:JackpotInfo
    public var sequence:String
    public var progress:RoundProgress
    public var isLocked:Bool
    public var isCalculated:Bool

    required public init(){}
}

public enum RoundStatus : Int, Codable
{
    case Pending = 0
    case InProgress = 1
    case Ended = 2
}

public class RoundConfiguration : Codable
{
    public var countdownDurationInSeconds:Int
    public var raceDurationInSeconds:Int
    public var resultsDurationInSeconds:Int
    public var rtpStrategy:RTPStrategies

    required public init(){}
}

public enum RTPStrategies : Int, Codable
{
    case RNG = 0
    case Default = 1
}

public class Outcome : Codable
{
    public var id:Int
    public var odds:Float
    public var status:OutcomeStatus

    required public init(){}
}

public enum OutcomeStatus : Int, Codable
{
    case Unknown = 0
    case Lost = 1
    case Won = 2
    case Void = 3
}

public class JackpotInfo : Codable
{
    public var isGiven:Bool
    public var id:String
    public var slipId:String
    public var jpId:String
    public var amount:Double
    public var locationId:String
    public var locationName:String
    public var addressLine:String
    public var amountAccumulated:Double

    required public init(){}
}

public class RoundProgress : Codable
{
    public var stage:Stages
    public var step:Int
    public var steps:Int
    public var utcTimestamp:Date

    required public init(){}
}

public enum Stages : Int, Codable
{
    case None = 0
    case Countdown = 1
    case Processing = 2
    case Race = 3
    case Results = 4
}


Swift 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
	}
}