UNPKG

betfair-node

Version:

A comprehensive Node.js TypeScript library for the Betfair Exchange API, providing both JSON-RPC API integration and real-time Exchange Stream API support for automated betting and trading applications.

301 lines 7.33 kB
export type MarketChangeCallback = (marketCache: { [key: string]: MarketCache; }, deltas: string[]) => void; export type OrderChangeCallback = (orderCache: { [key: string]: OrderAccountCache; }, deltas: string[]) => void; export type RawDataCallback = (rawData: string) => void; export type Message = { id: number; op: string; }; export type CurrencyRate = { currencyCode: string; rate: number; }; export type StatusMessage = Message & { statusCode: StatusCode; connectionClosed: boolean; errorCode: string; errorMessage: string; connectionsAvailable: number; }; export type ConnectionMessage = Message & { connectionId: string; }; export type AuthenticationMessage = Message & { appKey: string; session: string; }; export type SubscriptionMessage = Message & { segmentationEnabled: boolean; conflateMs: number; heartbeatMs: number; initialClk: string; clk: string; }; export type ChangeMessage = SubscriptionMessage & { ct: ChangeType; status: number; pt: number; con: boolean; segmentationType?: string; }; export type StreamMarketFilter = { marketIds?: string[]; bspMarket?: boolean; bettingTypes?: BettingType[]; eventTypeIds?: string[]; eventIds?: string[]; turnInPlayEnabled?: boolean; marketTypes?: string[]; venues?: string[]; countryCodes?: string[]; raceTypes?: string[]; }; export type MarketDataFilter = Record<string, never>; export type MarketChangeMessage = ChangeMessage & { mc: MarketChange[]; }; export type RunnerChange = { id: number; con?: boolean; tv?: number; ltp?: number; spn?: number; spf?: number; batb?: [number, number, number][]; batl?: [number, number, number][]; bdatb?: [number, number, number][]; bdatl?: [number, number, number][]; atb?: [number, number][]; atl?: [number, number][]; spb?: [number, number][]; spl?: [number, number][]; trd?: [number, number][]; }; export type MarketDefinition = { venue: string; bspMarket: boolean; turnInPlayEnabled: boolean; persistenceEnabled: boolean; marketBaseRate: number; eventId: string; eventTypeId: string; numberOfWinners: number; bettingType: string; marketType: string; marketTime: string; suspendTime: string; bspReconciled: boolean; complete: boolean; inPlay: boolean; crossMatching: boolean; runnersVoidable: boolean; numberOfActiveRunners: number; betDelay: number; status: StreamMarketStatus; runners: RunnerDefinition[]; regulators: string[]; countryCode: string; discountAllowed: boolean; timezone: string; openDate: string; version: number; name: string; eventName: string; totalMatched: number; }; export type RunnerDefinition = { status: StreamRunnerStatus; adjustmentFactor: number; lastPriceTraded: number; totalMatched: number; removalDate: string; id: number; hc: number; fullImage: { [key: string]: RunnerChange; }; bsp: number; }; export type MarketChange = { id: string; rc?: RunnerChange[]; img?: boolean; tv?: number; con?: boolean; marketDefinition?: MarketDefinition; }; export type MarketCache = { marketId: string; marketDefinition: MarketDefinition; runners: { [key: string]: RunnerCache; }; totalMatched: number; lastValueTraded: number; published: number; }; export type RunnerCache = { id: number; status: StreamRunnerStatus; adjustmentFactor: number; lastPriceTraded: number; totalMatched: number; batb: [number, number, number][]; batl: [number, number, number][]; atb: [number, number][]; atl: [number, number][]; ltp: number; tv: number; spn: number; spf: number; spb: [number, number][]; spl: [number, number][]; trd: [number, number][]; fullImage: { [key: string]: RunnerChange; }; }; export type MarketSubscriptionMessage = Message & { marketFilter: StreamMarketFilter; segmentationEnabled: boolean; conflateMs: number; heartbeatMs: number; }; export type OrderFilter = { accountIds?: number[]; includeOverallPosition?: boolean; customerStrategyRefs?: string[]; partitionMatchedByStrategyRef?: boolean; }; export type OrderSubscriptionMessage = Message & { orderFilter?: OrderFilter; segmentationEnabled: boolean; conflateMs?: number; heartbeatMs?: number; }; export type OrderChangeMessage = ChangeMessage & { oc?: OrderAccountChange[]; }; export type OrderAccountChange = { closed?: boolean; id: string; fullImage?: boolean; orc?: OrderRunnerChange[]; }; export type OrderRunnerChange = { fullImage?: boolean; id: number; hc?: number; uo?: UnmatchedOrder[]; mb?: [number, number][]; ml?: [number, number][]; smc?: { [key: string]: StrategyMatchChange; }; }; export type UnmatchedOrder = { id: string; p: number; s: number; bsp?: number; side: OrderSide; status: StreamOrderStatus; pt: StreamPersistenceType; ot: StreamOrderType; pd: number; md?: number; cd?: number; ld?: number; lsrc?: string; avp?: number; sm: number; sr: number; sl: number; sc: number; sv: number; rac?: string; rc?: string; rfo?: string; rfs?: string; }; export type StrategyMatchChange = { mb?: [number, number][]; ml?: [number, number][]; }; export type OrderAccountCache = { marketId: string; closed: boolean; runners: { [key: string]: OrderRunnerCache; }; published: number; }; export type OrderRunnerCache = { id: number; hc?: number; unmatchedOrders: { [key: string]: UnmatchedOrder; }; matchedBacks: [number, number][]; matchedLays: [number, number][]; strategyMatches: { [key: string]: StrategyMatchChange; }; }; export declare enum StatusCode { SUCCESS = "SUCCESS", FAILURE = "FAILURE" } export declare enum ChangeType { SUB_IMAGE = "SUB_IMAGE", RESUB_DELTA = "RESUB_DELTA", HEARTBEAT = "HEARTBEAT" } export declare enum SegmentType { SEG_START = "SEG_START", SEG_END = "SEG_END" } export declare enum BettingType { ODDS = "ODDS", LINE = "LINE", RANGE = "RANGE", ASIAN_HANDICAP_DOUBLE_LINE = "ASIAN_HANDICAP_DOUBLE_LINE", ASIAN_HANDICAP_SINGLE_LINE = "ASIAN_HANDICAP_SINGLE_LINE" } export declare enum StreamMarketStatus { INACTIVE = "INACTIVE", OPEN = "OPEN", SUSPENDED = "SUSPENDED", CLOSED = "CLOSED" } export declare enum StreamRunnerStatus { ACTIVE = "ACTIVE", WINNER = "WINNER", LOSER = "LOSER", PLACED = "PLACED", REMOVED_VACANT = "REMOVED_VACANT", REMOVED = "REMOVED", HIDDEN = "HIDDEN" } export declare enum OrderSide { BACK = "B", LAY = "L" } export declare enum StreamOrderStatus { EXECUTABLE = "E", EXECUTION_COMPLETE = "EC" } export declare enum StreamPersistenceType { LAPSE = "L", PERSIST = "P", MARKET_ON_CLOSE = "MOC" } export declare enum StreamOrderType { LIMIT = "L", MARKET_ON_CLOSE = "MOC", LIMIT_ON_CLOSE = "LOC" } //# sourceMappingURL=betfair-exchange-stream-api-types.d.ts.map