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.

415 lines 12.1 kB
export type MarketFilter = { textQuery?: string; eventTypeIds?: string[]; eventIds?: string[]; competitionIds?: string[]; marketIds?: string[]; venues?: string[]; bspOnly?: boolean; turnInPlayEnabled?: boolean; inPlayOnly?: boolean; marketBettingTypes?: MarketBettingType[]; marketCountries?: string[]; marketTypeCodes?: string[]; marketStartTime?: MarketTimeRange; withOrders?: OrderStatus[]; raceTypes?: string[]; }; export declare enum SortDir { EARLIEST_TO_LATEST = "EARLIEST_TO_LATEST", LATEST_TO_EARLIEST = "LATEST_TO_EARLIEST" } export declare enum BetStatus { SETTLED = "SETTLED", VOIDED = "VOIDED", LAPSED = "LAPSED", CANCELLED = "CANCELLED" } export type OrderSubscription = Record<string, never>; export type MarketCatalogue = { marketId: string; marketName: string; marketStartTime?: string; description?: MarketDescription; totalMatched?: number; runners?: RunnerCatalogue[]; eventType?: EventType; competition?: Competition; event?: Event; }; export type RunnerCatalogue = { selectionId: number; runnerName: string; handicap: number; sortPriority: number; metadata: { [key: string]: string; }; }; export type EventType = { id: string; name: string; }; export type PlaceInstruction = { orderType: OrderType; selectionId: number; handicap?: number; side: string; limitOrder?: LimitOrder; customerOrderRef?: string; }; export declare enum OrderType { LIMIT = "LIMIT", LIMIT_ON_CLOSE = "LIMIT_ON_CLOSE", MARKET_ON_CLOSE = "MARKET_ON_CLOSE" } export type LimitOrder = { size: number; price: number; persistenceType: PersistenceType; timeInForce?: TimeInForce; minFillSize?: number; betTargetType?: string; betTargetSize?: string; }; export declare enum PersistenceType { LAPSE = "LAPSE", PERSIST = "PERSIST", MARKET_ON_CLOSE = "MARKET_ON_CLOSE" } export declare enum TimeInForce { FILL_OR_KILL = "FILL_OR_KILL" } export type Competition = { id: string; name: string; }; export type MarketDescription = { persistenceEnabled: boolean; bspMarket: boolean; marketTime: Date; suspendTime: Date; settleTime?: Date; bettingType: string; turnInPlayEnabled: boolean; marketType: string; regulator: string; marketBaseRate: number; discountAllowed: boolean; wallet?: string; rules?: string; rulesHasDate?: boolean; eachWayDivisor?: number; clarifications?: string; lineRangeInfo?: MarketLineRangeInfo; raceType?: string; priceLadderDescription?: PriceLadderDescription; }; export type MarketLineRangeInfo = { maxUnitValue: number; minUnitValue: number; interval: number; marketUnit: string; }; export type PriceLadderDescription = { type: PriceLadderType; }; export declare enum PriceLadderType { CLASSIC = "CLASSIC", FINEST = "FINEST", LINE_RANGE = "LINE_RANGE" } export type Event = { id: string; name: string; countryCode: string; timezone: string; venue: string; openDate: string; }; export declare enum MarketBettingType { ODDS = "ODDS", LINE = "LINE", RANGE = "RANGE", ASIAN_HANDICAP_DOUBLE_LINE = "ASIAN_HANDICAP_DOUBLE_LINE", ASIAN_HANDICAP_SINGLE_LINE = "ASIAN_HANDICAP_SINGLE_LINE", FIXED_ODDS = "FIXED_ODDS" } export declare enum MarketSort { MINIMUM_TRADED = "MINIMUM_TRADED", MAXIMUM_TRADED = "MAXIMUM_TRADED", MINIMUM_AVAILABLE = "MINIMUM_AVAILABLE", MAXIMUM_AVAILABLE = "MAXIMUM_AVAILABLE", FIRST_TO_START = "FIRST_TO_START", LAST_TO_START = "LAST_TO_START" } export type MarketTimeRange = { from: string; to: string; }; export declare enum OrderStatus { PENDING = "PENDING", EXECUTION_COMPLETE = "EXECUTION_COMPLETE", EXECUTABLE = "EXECUTABLE", EXPIRED = "EXPIRED" } export declare enum MarketProjection { COMPETITION = "COMPETITION", EVENT = "EVENT", EVENT_TYPE = "EVENT_TYPE", MARKET_START_TIME = "MARKET_START_TIME", MARKET_DESCRIPTION = "MARKET_DESCRIPTION", RUNNER_DESCRIPTION = "RUNNER_DESCRIPTION", RUNNER_METADATA = "RUNNER_METADATA" } export declare enum PriceData { SP_AVAILABLE = "SP_AVAILABLE", SP_TRADED = "SP_TRADED", EX_BEST_OFFERS = "EX_BEST_OFFERS", EX_ALL_OFFERS = "EX_ALL_OFFERS", EX_TRADED = "EX_TRADED" } export declare enum MatchProjection { NO_ROLLUP = "NO_ROLLUP", ROLLED_UP_BY_PRICE = "ROLLED_UP_BY_PRICE", ROLLED_UP_BY_AVG_PRICE = "ROLLED_UP_BY_AVG_PRICE" } export declare enum OrderProjection { ALL = "ALL", EXECUTABLE = "EXECUTABLE", EXECUTION_COMPLETE = "EXECUTION_COMPLETE" } export declare enum MarketStatus { INACTIVE = "INACTIVE", OPEN = "OPEN", SUSPENDED = "SUSPENDED", CLOSED = "CLOSED" } export declare enum RunnerStatus { ACTIVE = "ACTIVE", WINNER = "WINNER", LOSER = "LOSER", PLACED = "PLACED", REMOVED_VACANT = "REMOVED_VACANT", REMOVED = "REMOVED", HIDDEN = "HIDDEN" } export type TimeRange = { from?: string; to?: string; }; export declare enum Side { BACK = "BACK", LAY = "LAY" } export declare enum OrderBy { BY_BET = "BY_BET", BY_MARKET = "BY_MARKET", BY_MATCH_TIME = "BY_MATCH_TIME", BY_PLACED_TIME = "BY_PLACED_TIME", BY_SETTLED_TIME = "BY_SETTLED_TIME", BY_VOID_TIME = "BY_VOID_TIME" } export declare enum GroupBy { EVENT_TYPE = "EVENT_TYPE", EVENT = "EVENT", MARKET = "MARKET", SIDE = "SIDE", BET = "BET" } export type CancelInstruction = { betId: string; sizeReduction?: number; }; export type ReplaceInstruction = { betId: string; newPrice: number; }; export type UpdateInstruction = { betId: string; newPersistenceType: PersistenceType; }; export type CurrentOrderSummary = { betId: string; marketId: string; selectionId: number; handicap: number; priceSize: PriceSize; bspLiability: number; side: Side; status: OrderStatus; persistenceType: PersistenceType; orderType: OrderType; placedDate: string; matchedDate?: string; averagePriceMatched?: number; sizeMatched?: number; sizeRemaining?: number; sizeLapsed?: number; sizeCancelled?: number; sizeVoided?: number; regulatorAuthCode?: string; regulatorCode?: string; customerOrderRef?: string; customerStrategyRef?: string; }; export type ClearedOrderSummary = { eventTypeId?: string; eventId?: string; marketId?: string; selectionId?: number; handicap?: number; betId?: string; placedDate?: string; persistenceType?: PersistenceType; orderType?: OrderType; side?: Side; itemDescription?: ItemDescription; betOutcome?: string; priceRequested?: number; settledDate?: string; lastMatchedDate?: string; betCount?: number; commission?: number; priceMatched?: number; priceReduced?: boolean; sizeSettled?: number; profit?: number; sizeCancelled?: number; customerOrderRef?: string; customerStrategyRef?: string; }; export type ItemDescription = { eventTypeDesc?: string; eventDesc?: string; marketDesc?: string; marketType?: string; runnerDesc?: string; numberOfWinners?: number; marketStartTime?: string; eachWayDivisor?: number; }; export type PriceSize = { price: number; size: number; }; export type PlaceExecutionReport = { customerRef?: string; status: ExecutionReportStatus; errorCode?: ExecutionReportErrorCode; marketId?: string; instructionReports?: PlaceInstructionReport[]; }; export type PlaceInstructionReport = { status: InstructionReportStatus; errorCode?: InstructionReportErrorCode; orderStatus?: OrderStatus; instruction: PlaceInstruction; betId?: string; placedDate?: string; averagePriceMatched?: number; sizeMatched?: number; }; export type CancelExecutionReport = { customerRef?: string; status: ExecutionReportStatus; errorCode?: ExecutionReportErrorCode; marketId?: string; instructionReports?: CancelInstructionReport[]; }; export type CancelInstructionReport = { status: InstructionReportStatus; errorCode?: InstructionReportErrorCode; instruction: CancelInstruction; sizeCancelled: number; cancelledDate?: string; }; export type ReplaceExecutionReport = { customerRef?: string; status: ExecutionReportStatus; errorCode?: ExecutionReportErrorCode; marketId?: string; instructionReports?: ReplaceInstructionReport[]; }; export type ReplaceInstructionReport = { status: InstructionReportStatus; errorCode?: InstructionReportErrorCode; cancelInstructionReport?: CancelInstructionReport; placeInstructionReport?: PlaceInstructionReport; }; export type UpdateExecutionReport = { customerRef?: string; status: ExecutionReportStatus; errorCode?: ExecutionReportErrorCode; marketId?: string; instructionReports?: UpdateInstructionReport[]; }; export type UpdateInstructionReport = { status: InstructionReportStatus; errorCode?: InstructionReportErrorCode; instruction: UpdateInstruction; }; export declare enum ExecutionReportStatus { SUCCESS = "SUCCESS", FAILURE = "FAILURE", PROCESSED_WITH_ERRORS = "PROCESSED_WITH_ERRORS", TIMEOUT = "TIMEOUT" } export declare enum ExecutionReportErrorCode { ERROR_IN_MATCHER = "ERROR_IN_MATCHER", PROCESSED_WITH_ERRORS = "PROCESSED_WITH_ERRORS", BET_ACTION_ERROR = "BET_ACTION_ERROR", INVALID_ACCOUNT_STATE = "INVALID_ACCOUNT_STATE", INVALID_WALLET_STATUS = "INVALID_WALLET_STATUS", INSUFFICIENT_FUNDS = "INSUFFICIENT_FUNDS", LOSS_LIMIT_EXCEEDED = "LOSS_LIMIT_EXCEEDED", MARKET_SUSPENDED = "MARKET_SUSPENDED", MARKET_NOT_OPEN_FOR_BETTING = "MARKET_NOT_OPEN_FOR_BETTING", DUPLICATE_TRANSACTION = "DUPLICATE_TRANSACTION", INVALID_ORDER = "INVALID_ORDER", INVALID_MARKET_ID = "INVALID_MARKET_ID", PERMISSION_DENIED = "PERMISSION_DENIED", DUPLICATE_BETIDS = "DUPLICATE_BETIDS", NO_ACTION_REQUIRED = "NO_ACTION_REQUIRED", SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE", REJECTED_BY_REGULATOR = "REJECTED_BY_REGULATOR", NO_CHASING = "NO_CHASING", REGULATOR_IS_NOT_AVAILABLE = "REGULATOR_IS_NOT_AVAILABLE", TOO_MANY_INSTRUCTIONS = "TOO_MANY_INSTRUCTIONS", INVALID_MARKET_VERSION = "INVALID_MARKET_VERSION" } export declare enum InstructionReportStatus { SUCCESS = "SUCCESS", FAILURE = "FAILURE", TIMEOUT = "TIMEOUT" } export declare enum InstructionReportErrorCode { INVALID_BET_SIZE = "INVALID_BET_SIZE", INVALID_RUNNER = "INVALID_RUNNER", BET_TAKEN_OR_LAPSED = "BET_TAKEN_OR_LAPSED", BET_IN_PROGRESS = "BET_IN_PROGRESS", RUNNER_REMOVED = "RUNNER_REMOVED", MARKET_NOT_OPEN_FOR_BETTING = "MARKET_NOT_OPEN_FOR_BETTING", LOSS_LIMIT_EXCEEDED = "LOSS_LIMIT_EXCEEDED", MARKET_NOT_OPEN_FOR_BSP_BETTING = "MARKET_NOT_OPEN_FOR_BSP_BETTING", INVALID_PRICE_EDIT = "INVALID_PRICE_EDIT", INVALID_ODDS = "INVALID_ODDS", INSUFFICIENT_FUNDS = "INSUFFICIENT_FUNDS", INVALID_PERSISTENCE_TYPE = "INVALID_PERSISTENCE_TYPE", ERROR_IN_MATCHER = "ERROR_IN_MATCHER", INVALID_BACK_LAY_COMBINATION = "INVALID_BACK_LAY_COMBINATION", ERROR_IN_ORDER = "ERROR_IN_ORDER", INVALID_BID_TYPE = "INVALID_BID_TYPE", INVALID_BET_ID = "INVALID_BET_ID", CANCELLED_NOT_PLACED = "CANCELLED_NOT_PLACED", RELATED_ACTION_FAILED = "RELATED_ACTION_FAILED", NO_ACTION_REQUIRED = "NO_ACTION_REQUIRED", TIME_IN_FORCE_CONFLICT = "TIME_IN_FORCE_CONFLICT", UNEXPECTED_PERSISTENCE_TYPE = "UNEXPECTED_PERSISTENCE_TYPE", INVALID_ORDER_TYPE = "INVALID_ORDER_TYPE", UNEXPECTED_MIN_FILL_SIZE = "UNEXPECTED_MIN_FILL_SIZE", INVALID_CUSTOMER_ORDER_REF = "INVALID_CUSTOMER_ORDER_REF", INVALID_MIN_FILL_SIZE = "INVALID_MIN_FILL_SIZE", BET_LAPSED_PRICE_IMPROVEMENT_TOO_LARGE = "BET_LAPSED_PRICE_IMPROVEMENT_TOO_LARGE" } //# sourceMappingURL=betfair-api-types.d.ts.map