bet-0.1.2.1: Betfair API bindings. Bet on sports on betting exchanges.

Safe HaskellNone
LanguageHaskell2010

Network.Betfair.Types

Description

This module defines most data types in the betting API of Betfair API, corresponding to version 2.0. Refer to Betfair API documentation for meanings of the values.

https://developer.betfair.com/default/api-s-and-services/sports-api/sports-overview/

This module does not have a proper Haddock index so pay attention here.

Where possible, data types are in 1:1 correspondence to the ones documented in the API. However, because there are name clashes, most record field names are prefixed with an abbreviation of the data type they are defined in. All recordful constructors have C at their end.

There are lenses for every record field, giving you overloaded fields. The lens name will have the prefix stripped off and the first character lowercased. For example, cStatus record field in CurrentOrderSummary has a corresponding lens called status, implemented in HasStatus type class.

Records that can be used as requests implement Request type class. Records that have some kind of sensible default implement Default type class.

HasBet is a helper typeclass for things that have a Bet inside them in some way.

A future version of this module might use overloaded records of some kind to avoid bazillion different names in record fields. Stay tuned.

As of writing of this, the whole surface area of these types have not been tested. If your Betfair requests fail for mysterious reasons, it's possible a field is not a Maybe field when it should or there is a typo somewhere. Betfair's documentation does say which fields should be present but the information seems to be inaccurate; leading us to speculate how exactly these values work.

Synopsis

Documentation

data ClearedOrderSummary Source

data CurrentOrderSummary Source

data MarketFilter Source

pattern APIExcCode APIExceptionCode :: APIException Source

Pattern synonym that just matches on the APIExceptionCode part of APIException.

class HasBetCount s a | s -> a where Source

Methods

betCount :: Lens' s a Source

class HasEventId s a | s -> a where Source

Methods

eventId :: Lens' s a Source

class HasProfit s a | s -> a where Source

Methods

profit :: Lens' s a Source

class HasId s a | s -> a where Source

Methods

id :: Lens' s a Source

class HasName s a | s -> a where Source

Methods

name :: Lens' s a Source

class HasOpenDate s a | s -> a where Source

Methods

openDate :: Lens' s a Source

class HasTimezone s a | s -> a where Source

Methods

timezone :: Lens' s a Source

class HasVenue s a | s -> a where Source

Methods

venue :: Lens' s a Source

class HasEvent s a | s -> a where Source

Methods

event :: Lens' s a Source

class HasEventDesc s a | s -> a where Source

Methods

eventDesc :: Lens' s a Source

class HasMarketDesc s a | s -> a where Source

Methods

marketDesc :: Lens' s a Source

class HasRunnerDesc s a | s -> a where Source

Methods

runnerDesc :: Lens' s a Source

class HasDateRange s a | s -> a where Source

Methods

dateRange :: Lens' s a Source

class HasOrderBy s a | s -> a where Source

Methods

orderBy :: Lens' s a Source

class HasSortDir s a | s -> a where Source

Methods

sortDir :: Lens' s a Source

class HasBetStatus s a | s -> a where Source

Methods

betStatus :: Lens' s a Source

class HasGroupBy s a | s -> a where Source

Methods

groupBy :: Lens' s a Source

class HasRunnerIds s a | s -> a where Source

Methods

runnerIds :: Lens' s a Source

class HasMaxResults s a | s -> a where Source

Methods

maxResults :: Lens' s a Source

class HasSort s a | s -> a where Source

Methods

sort :: Lens' s a Source

class HasBetDelay s a | s -> a where Source

Methods

betDelay :: Lens' s a Source

class HasComplete s a | s -> a where Source

Methods

complete :: Lens' s a Source

class HasInplay s a | s -> a where Source

Methods

inplay :: Lens' s a Source

class HasVersion s a | s -> a where Source

Methods

version :: Lens' s a Source

class HasMarketName s a | s -> a where Source

Methods

marketName :: Lens' s a Source

class HasBspMarket s a | s -> a where Source

Methods

bspMarket :: Lens' s a Source

class HasRegulator s a | s -> a where Source

Methods

regulator :: Lens' s a Source

class HasRules s a | s -> a where Source

Methods

rules :: Lens' s a Source

class HasWallet s a | s -> a where Source

Methods

wallet :: Lens' s a Source

class HasBspOnly s a | s -> a where Source

Methods

bspOnly :: Lens' s a Source

class HasInPlayOnly s a | s -> a where Source

Methods

inPlayOnly :: Lens' s a Source

class HasTextQuery s a | s -> a where Source

Methods

textQuery :: Lens' s a Source

class HasVenues s a | s -> a where Source

Methods

venues :: Lens' s a Source

class HasWithOrders s a | s -> a where Source

Methods

withOrders :: Lens' s a Source

class HasMatchDate s a | s -> a where Source

Methods

matchDate :: Lens' s a Source

class HasMatchId s a | s -> a where Source

Methods

matchId :: Lens' s a Source

class HasPriceData s a | s -> a where Source

Methods

priceData :: Lens' s a Source

class HasVirtualize s a | s -> a where Source

Methods

virtualize :: Lens' s a Source

class HasNewPrice s a | s -> a where Source

Methods

newPrice :: Lens' s a Source

class HasEx s a | s -> a where Source

Methods

ex :: Lens' s a Source

class HasMatches s a | s -> a where Source

Methods

matches :: Lens' s a Source

class HasOrders s a | s -> a where Source

Methods

orders :: Lens' s a Source

class HasRemovalData s a | s -> a where Source

Methods

removalData :: Lens' s a Source

class HasSp s a | s -> a where Source

Methods

sp :: Lens' s a Source

class HasMetadata s a | s -> a where Source

Methods

metadata :: Lens' s a Source

class HasRunnerName s a | s -> a where Source

Methods

runnerName :: Lens' s a Source

class HasIfLose s a | s -> a where Source

Methods

ifLose :: Lens' s a Source

class HasIfWin s a | s -> a where Source

Methods

ifWin :: Lens' s a Source

class HasActualSP s a | s -> a where Source

Methods

actualSP :: Lens' s a Source

class HasFarPrice s a | s -> a where Source

Methods

farPrice :: Lens' s a Source

class HasNearPrice s a | s -> a where Source

Methods

nearPrice :: Lens' s a Source

class HasFrom s a | s -> a where Source

Methods

from :: Lens' s a Source

class HasTo s a | s -> a where Source

Methods

to :: Lens' s a Source

class HasTimeRange s a | s -> a where Source

Methods

timeRange :: Lens' s a Source

class Default a where Source

Data types in Betfair API that have some kind of default.

All Maybe fields in records are set to Nothing, all lists and sets will be empty. If there is no sensible default then the type won't implement this typeclass.

Methods

def :: a Source

class HasBet a where Source

Things that have a non-ambiguous way to extract a Bet from them.

Note that terminology does not match up correctly, Bet is about odds-markets but some bets don't work with odds. However with this construction, price is matched to odds and size is matched to stake.