UNPKG

bitget-api

Version:

Complete Node.js & JavaScript SDK for Bitget V1-V3 REST APIs & WebSockets, with TypeScript & end-to-end tests.

185 lines (184 loc) 11.4 kB
import { GetHistoricTradesParams } from './types/request/shared.js'; import { CancelFuturesPlanTPSL, FuturesAccountBillRequest, FuturesBusinessBillRequest, FuturesCandleData, FuturesHistoricPositions, FuturesKlineInterval, FuturesMarginMode, FuturesPagination, FuturesPlanType, FuturesProductType, HistoricPlanOrderTPSLRequest, ModifyFuturesOrder, ModifyFuturesPlanOrder, ModifyFuturesPlanOrderTPSL, ModifyFuturesPlanStopOrder, NewBatchFuturesOrder, NewFuturesOrder, NewFuturesPlanOrder, NewFuturesPlanPositionTPSL, NewFuturesPlanStopOrder, NewFuturesPlanTrailingStopOrder } from './types/request/v1/futuresV1.js'; import { FuturesAccount, FuturesMarketTrade, FuturesPosition, FuturesSymbolRule } from './types/response/v1/futures.js'; import { APIResponse, VIPFeeRate } from './types/response/v1/shared.js'; import BaseRestClient from './util/BaseRestClient.js'; /** * REST API client for the V1 bitget Futures APIs. These are the previous generation of Bitget's APIs and should be considered deprecated. * These will be removed in a future release, once Bitget formally deprecates them. * * @deprecated use RestClientV2 instead */ export declare class FuturesClient extends BaseRestClient { getClientType(): "futures"; /** * * Market * */ /** Get Symbols : Get basic configuration information of all trading pairs (including rules) */ getSymbols(productType: FuturesProductType): Promise<APIResponse<FuturesSymbolRule[]>>; /** Get Depth */ getDepth(symbol: string, limit?: string): Promise<APIResponse<any>>; /** Get Single Symbol Ticker */ getTicker(symbol: string): Promise<APIResponse<any>>; /** Get All Tickers */ getAllTickers(productType: FuturesProductType): Promise<APIResponse<any>>; /** Get VIP fee rates */ getVIPFeeRates(): Promise<APIResponse<VIPFeeRate[]>>; /** Get most recent trades (up to 500, 100 by default) */ getRecentTrades(symbol: string, limit?: string): Promise<APIResponse<FuturesMarketTrade[]>>; /** Get historic trades, up to 30 days at a time. Same-parameter responses are cached for 10 minutes. */ getHistoricTrades(params: GetHistoricTradesParams): Promise<APIResponse<FuturesMarketTrade[]>>; /** * @deprecated use getRecentTrades() instead. This method will be removed soon. */ getMarketTrades(symbol: string, limit?: string): Promise<APIResponse<FuturesMarketTrade[]>>; /** Get Candle Data */ getCandles(symbol: string, granularity: FuturesKlineInterval, startTime: string, endTime: string, limit?: string, kLineType?: 'market' | 'mark' | 'index'): Promise<APIResponse<FuturesCandleData[]>>; /** Get symbol index price */ getIndexPrice(symbol: string): Promise<APIResponse<any>>; /** Get symbol next funding time */ getNextFundingTime(symbol: string): Promise<APIResponse<any>>; /** Get Withdraw List */ getHistoricFundingRate(symbol: string, pageSize?: string, pageNo?: string, nextPage?: boolean): Promise<APIResponse<any>>; /** Get symbol current funding time */ getCurrentFundingRate(symbol: string): Promise<APIResponse<any>>; /** Get symbol open interest */ getOpenInterest(symbol: string): Promise<APIResponse<any>>; /** Get symbol mark price */ getMarkPrice(symbol: string): Promise<APIResponse<any>>; /** Get symbol min/max leverage rules */ getLeverageMinMax(symbol: string): Promise<APIResponse<any>>; /** Get Position Tier */ getPositionTier(symbol: string, productType: FuturesProductType): Promise<APIResponse<any>>; /** * * Account Endpoints * */ /** Get Single Account */ getAccount(symbol: string, marginCoin: string): Promise<APIResponse<FuturesAccount>>; /** Get Account List */ getAccounts(productType: FuturesProductType): Promise<APIResponse<any>>; /** Get Sub Account Contract Assets */ getSubAccountContractAssets(productType: FuturesProductType): Promise<APIResponse<any>>; /** * This interface is only used to calculate the maximum number of positions that can be opened when the user does not hold a position by default. * The result does not represent the actual number of positions opened. */ getOpenCount(symbol: string, marginCoin: string, openPrice: number, openAmount: number, leverage?: number): Promise<APIResponse<any>>; /** Change Leverage */ setLeverage(symbol: string, marginCoin: string, leverage: string, holdSide?: string): Promise<APIResponse<any>>; /** Change Margin */ setMargin(symbol: string, marginCoin: string, amount: string, holdSide?: string): Promise<APIResponse<any>>; /** Change Margin Mode */ setMarginMode(symbol: string, marginCoin: string, marginMode: FuturesMarginMode): Promise<APIResponse<any>>; /** Change Hold Mode */ setHoldMode(productType: FuturesProductType, holdMode: 'single_hold' | 'double_hold'): Promise<APIResponse<any>>; /** Get Symbol Position */ getPosition(symbol: string, marginCoin?: string): Promise<APIResponse<FuturesPosition[]>>; /** Get Symbol Position V2 */ getPositionV2(symbol: string, marginCoin: string): Promise<APIResponse<FuturesPosition[]>>; /** Get All Position */ getPositions(productType: FuturesProductType, marginCoin?: string): Promise<APIResponse<FuturesPosition[]>>; /** Get All Position V2 */ getPositionsV2(productType: FuturesProductType, marginCoin?: string): Promise<APIResponse<FuturesPosition[]>>; /** Get All historic positions, only supports Query within 3 months */ getHistoryPositions(params: FuturesHistoricPositions): Promise<APIResponse<FuturesPosition[]>>; /** Get Account Bill */ getAccountBill(params: FuturesAccountBillRequest): Promise<APIResponse<any>>; /** Get Business Account Bill */ getBusinessBill(params: FuturesBusinessBillRequest): Promise<APIResponse<any>>; /** * * Trade Endpoints * */ /** Place Order */ submitOrder(params: NewFuturesOrder): Promise<APIResponse<any>>; /** Batch Order */ batchSubmitOrder(symbol: string, marginCoin: string, orders: NewBatchFuturesOrder[]): Promise<APIResponse<any>>; /** Cancel Order */ cancelOrder(symbol: string, marginCoin: string, orderId?: string, clientOid?: string): Promise<APIResponse<any>>; /** Batch Cancel Order */ batchCancelOrder(symbol: string, marginCoin: string, orderIds: string[]): Promise<APIResponse<any>>; /** Modify Order */ modifyOrder(params: ModifyFuturesOrder): Promise<APIResponse<any>>; /** * Cancel all futures orders for a symbol */ cancelSymbolOrders(symbol: string, marginCoin: string): Promise<APIResponse<any>>; /** Cancel All Order */ cancelAllOrders(productType: FuturesProductType, marginCoin: string): Promise<APIResponse<any>>; /** Get Open Order */ getOpenSymbolOrders(symbol: string): Promise<APIResponse<any>>; /** Get All Open Order */ getOpenOrders(productType: FuturesProductType, marginCoin: string): Promise<APIResponse<any>>; /** Get History Orders */ getOrderHistory(symbol: string, startTime: string, endTime: string, pageSize: string, lastEndId?: string, isPre?: boolean, clientOid?: string): Promise<APIResponse<any>>; /** Get ProductType History Orders */ getProductTypeOrderHistory(productType: FuturesProductType, startTime: string, endTime: string, pageSize: string, lastEndId?: string, isPre?: boolean, clientOid?: string): Promise<APIResponse<any>>; /** Get order details */ getOrder(symbol: string, orderId?: string, clientOid?: string): Promise<APIResponse<any>>; /** Get transaction details / history (fills) */ getOrderFills(symbol: string, orderId?: string, pagination?: FuturesPagination): Promise<APIResponse<any>>; /** Get ProductType Order fill detail */ getProductTypeOrderFills(productType: FuturesProductType, pagination?: FuturesPagination): Promise<APIResponse<any>>; /** Place Plan order */ submitPlanOrder(params: NewFuturesPlanOrder): Promise<APIResponse<any>>; /** Modify Plan Order */ modifyPlanOrder(params: ModifyFuturesPlanOrder): Promise<APIResponse<any>>; /** Modify Plan Order TPSL */ modifyPlanOrderTPSL(params: ModifyFuturesPlanOrderTPSL): Promise<APIResponse<any>>; /** Place Stop order */ submitStopOrder(params: NewFuturesPlanStopOrder): Promise<APIResponse<any>>; /** Place Trailing Stop order */ submitTrailingStopOrder(params: NewFuturesPlanTrailingStopOrder): Promise<APIResponse<any>>; /** Place Position TPSL */ submitPositionTPSL(params: NewFuturesPlanPositionTPSL): Promise<APIResponse<any>>; /** Modify Stop Order */ modifyStopOrder(params: ModifyFuturesPlanStopOrder): Promise<APIResponse<any>>; /** Cancel Plan Order (TPSL) */ cancelPlanOrderTPSL(params: CancelFuturesPlanTPSL): Promise<APIResponse<any>>; /** Cancel Symbol Plan Order (TPSL) */ cancelSymbolPlanOrders(symbol: string, planType: FuturesPlanType): Promise<APIResponse<any>>; /** Cancel All Trigger Order (TPSL) */ cancelAllPlanOrders(productType: FuturesProductType, planType: FuturesPlanType): Promise<APIResponse<any>>; /** Get Plan Order (TPSL) List */ getPlanOrderTPSLs(symbol: string, isPlan?: string, productType?: FuturesProductType): Promise<APIResponse<any>>; /** Get History Plan Orders (TPSL) */ getHistoricPlanOrdersTPSL(params: HistoricPlanOrderTPSLRequest): Promise<APIResponse<any>>; /** * * Copy Trade Endpoints * */ /** Get Trader Open order */ getCopyTraderOpenOrder(symbol: string, productType: FuturesProductType, pageSize: number, pageNo: number): Promise<APIResponse<any>>; /** Get Followers Open Order */ getCopyFollowersOpenOrder(symbol: string, productType: FuturesProductType, pageSize: number, pageNo: number): Promise<APIResponse<any>>; /** Trader Close Position */ closeCopyTraderPosition(symbol: string, trackingNo: string): Promise<APIResponse<any>>; /** Trader Modify TPSL */ modifyCopyTraderTPSL(symbol: string, trackingNo: string, changes?: { stopProfitPrice?: number; stopLossPrice?: number; }): Promise<APIResponse<any>>; /** Get Traders History Orders */ getCopyTraderOrderHistory(startTime: string, endTime: string, pageSize: number, pageNo: number): Promise<APIResponse<any>>; /** Get Trader Profit Summary */ getCopyTraderProfitSummary(): Promise<APIResponse<any>>; /** Get Trader History Profit Summary (according to settlement currency) */ getCopyTraderHistoricProfitSummary(): Promise<APIResponse<any>>; /** Get Trader History Profit Summary (according to settlement currency and date) */ getCopyTraderHistoricProfitSummaryByDate(marginCoin: string, dateMs: string, pageSize: number, pageNo: number): Promise<APIResponse<any>>; /** Get Trader Histroy Profit Detail */ getCopyTraderHistoricProfitDetail(marginCoin: string, dateMs: string, pageSize: number, pageNo: number): Promise<APIResponse<any>>; /** Get Trader Profits Details */ getCopyTraderProfitDetails(pageSize: number, pageNo: number): Promise<APIResponse<any>>; /** Get CopyTrade Symbols */ getCopyTraderSymbols(): Promise<APIResponse<any>>; /** Trader Change CopyTrade symbol */ setCopyTraderSymbols(symbol: string, operation: 'add' | 'delete'): Promise<APIResponse<any>>; }