feat(): added Missing endpoints, added missing examples

This commit is contained in:
Jerko J
2024-08-28 11:58:54 +02:00
parent d02a81d0e5
commit 0ea5a797e2
19 changed files with 384 additions and 35 deletions

View File

@@ -0,0 +1,19 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.confirmNewRiskLimit({
category: 'linear',
symbol: 'BTCUSDT',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,16 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getMovePositionHistory()
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,28 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.movePosition({
fromUid: '100307601',
toUid: '592324',
list: [
{
category: 'spot',
symbol: 'BTCUSDT',
price: '100',
side: 'Sell',
qty: '0.01',
},
],
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,20 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getPreUpgradeUSDCSessionSettlement({
category: 'linear',
symbol: 'ETHPERP',
limit: 1,
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,19 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getPreUpgradeClosedPnl({
category: 'linear',
symbol: 'BTCUSDT',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,18 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getPreUpgradeOptionDeliveryRecord({
category: 'option',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,20 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getPreUpgradeOrderHistory({
category: 'linear',
limit: 1,
orderStatus: 'Filled',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,21 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getPreUpgradeTradeHistory({
category: 'linear',
limit: 1,
type: 'Funding',
symbol: 'BTCUSDT',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,18 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getPreUpgradeTransactionLog({
category: 'option',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,21 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getHistoricalInterestRate({
currency: 'USDC',
vipLevel: 'No VIP',
startTime: 1721458800000,
endTime: 1721469600000,
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

View File

@@ -0,0 +1,16 @@
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getSubUIDListUnlimited()
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "bybit-api", "name": "bybit-api",
"version": "3.10.14", "version": "3.10.15",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "bybit-api", "name": "bybit-api",
"version": "3.10.14", "version": "3.10.15",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"axios": "^1.6.6", "axios": "^1.6.6",

View File

@@ -1,6 +1,6 @@
{ {
"name": "bybit-api", "name": "bybit-api",
"version": "3.10.14", "version": "3.10.15",
"description": "Complete & robust Node.js SDK for Bybit's REST APIs and WebSockets, with TypeScript & strong end to end tests.", "description": "Complete & robust Node.js SDK for Bybit's REST APIs and WebSockets, with TypeScript & strong end to end tests.",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@@ -91,8 +91,11 @@ import {
GetOptionDeliveryPriceParamsV5, GetOptionDeliveryPriceParamsV5,
GetOrderbookParamsV5, GetOrderbookParamsV5,
GetPreUpgradeClosedPnlParamsV5, GetPreUpgradeClosedPnlParamsV5,
GetPreUpgradeOptionDeliveryRecordParamsV5,
GetPreUpgradeOrderHistoryParamsV5, GetPreUpgradeOrderHistoryParamsV5,
GetPreUpgradeTradeHistoryParamsV5, GetPreUpgradeTradeHistoryParamsV5,
GetPreUpgradeTransactionLogParamsV5,
GetPreUpgradeUSDCSessionParamsV5,
GetPremiumIndexPriceKlineParamsV5, GetPremiumIndexPriceKlineParamsV5,
GetPublicTradingHistoryParamsV5, GetPublicTradingHistoryParamsV5,
GetRiskLimitParamsV5, GetRiskLimitParamsV5,
@@ -129,6 +132,9 @@ import {
OrderbookResponseV5, OrderbookResponseV5,
PositionInfoParamsV5, PositionInfoParamsV5,
PositionV5, PositionV5,
PreupgradeOptionsDelivery,
PreupgradeTransactionLog,
PreupgradeUSDCSessionSettlement,
PublicTradeV5, PublicTradeV5,
PurchaseSpotLeveragedTokenParamsV5, PurchaseSpotLeveragedTokenParamsV5,
PurchaseSpotLeveragedTokenResultV5, PurchaseSpotLeveragedTokenResultV5,
@@ -767,7 +773,7 @@ export class RestClientV5 extends BaseRestClient {
* *
* Unified account covers: USDT perpetual / USDC contract / Spot / Option * Unified account covers: USDT perpetual / USDC contract / Spot / Option
*/ */
getMovePositionHistory(params: GetMovePositionHistoryParamsV5): Promise< getMovePositionHistory(params?: GetMovePositionHistoryParamsV5): Promise<
APIResponseV3WithTime<{ APIResponseV3WithTime<{
list: MovePositionHistoryV5[]; list: MovePositionHistoryV5[];
nextPageCursor: string; nextPageCursor: string;
@@ -838,6 +844,55 @@ export class RestClientV5 extends BaseRestClient {
return this.getPrivate('/v5/pre-upgrade/position/closed-pnl', params); return this.getPrivate('/v5/pre-upgrade/position/closed-pnl', params);
} }
/**
* Query transaction logs which occurred in the USDC Derivatives wallet before the account was upgraded to a Unified account.
*
* You can get USDC Perpetual, Option records.
*
* INFO
* USDC Perpeual & Option support the recent 6 months data. Please download older data via GUI
*/
getPreUpgradeTransactionLog(
params: GetPreUpgradeTransactionLogParamsV5,
): Promise<
APIResponseV3WithTime<{
list: PreupgradeTransactionLog[];
nextPageCursor: string;
}>
> {
return this.getPrivate('/v5/pre-upgrade/account/transaction-log', params);
}
/**
* Query delivery records of Option before you upgraded the account to a Unified account, sorted by deliveryTime in descending order.
*
* INFO
* Supports the recent 6 months data. Please download older data via GUI
*/
getPreUpgradeOptionDeliveryRecord(
params: GetPreUpgradeOptionDeliveryRecordParamsV5,
): Promise<
APIResponseV3WithTime<CategoryCursorListV5<PreupgradeOptionsDelivery[]>>
> {
return this.getPrivate('/v5/pre-upgrade/asset/delivery-record', params);
}
/**
* Query session settlement records of USDC perpetual before you upgrade the account to Unified account.
*
* INFO
* USDC Perpetual support the recent 6 months data. Please download older data via GUI
*/
getPreUpgradeUSDCSessionSettlement(
params: GetPreUpgradeUSDCSessionParamsV5,
): Promise<
APIResponseV3WithTime<
CategoryCursorListV5<PreupgradeUSDCSessionSettlement[]>
>
> {
return this.getPrivate('/v5/pre-upgrade/asset/settlement-record', params);
}
/** /**
* *
****** Account APIs ****** Account APIs
@@ -1512,6 +1567,18 @@ export class RestClientV5 extends BaseRestClient {
return this.getPrivate('/v5/user/query-sub-members'); return this.getPrivate('/v5/user/query-sub-members');
} }
getSubUIDListUnlimited(params?: {
pageSize?: string;
nextCursor?: string;
}): Promise<
APIResponseV3WithTime<{
subMembers: SubMemberV5[];
nextCursor: string;
}>
> {
return this.getPrivate('/v5/user/submembers', params);
}
/** /**
* Query all api keys information of a sub UID. * Query all api keys information of a sub UID.
*/ */
@@ -1712,6 +1779,32 @@ export class RestClientV5 extends BaseRestClient {
return this.get('/v5/spot-margin-trade/data', params); return this.get('/v5/spot-margin-trade/data', params);
} }
/**
* Get Historical Interest Rate
* You can query up to six months borrowing interest rate of Margin trading.
* INFO: Need authentication, the api key needs "Spot" permission. Only supports Unified account.
*/
getHistoricalInterestRate(params: {
currency: string;
vipLevel?: string;
startTime?: number;
endTime?: number;
}): Promise<
APIResponseV3WithTime<{
list: {
timestamp: number;
currency: string;
hourlyBorrowRate: string;
vipLevel: string;
}[];
}>
> {
return this.getPrivate(
'/v5/spot-margin-trade/interest-rate-history',
params,
);
}
/** /**
* Turn spot margin trade on / off in your UTA account. * Turn spot margin trade on / off in your UTA account.
* *
@@ -1766,32 +1859,6 @@ export class RestClientV5 extends BaseRestClient {
}); });
} }
/**
* Get Historical Interest Rate
* You can query up to six months borrowing interest rate of Margin trading.
* INFO: Need authentication, the api key needs "Spot" permission. Only supports Unified account.
*/
getHistoricalInterestRate(params: {
currency: string;
vipLevel?: string;
startTime?: number;
endTime?: number;
}): Promise<
APIResponseV3WithTime<{
list: {
timestamp: number;
currency: string;
hourlyBorrowRate: string;
vipLevel: string;
}[];
}>
> {
return this.getPrivate(
'/v5/spot-margin-trade/interest-rate-history',
params,
);
}
/** /**
* Get Borrowable Coin Info * Get Borrowable Coin Info
*/ */

View File

@@ -35,3 +35,28 @@ export interface GetPreUpgradeClosedPnlParamsV5 {
limit?: number; limit?: number;
cursor?: string; cursor?: string;
} }
export interface GetPreUpgradeTransactionLogParamsV5 {
category: 'linear' | 'option';
baseCoin?: string;
type?: string;
startTime?: number;
endTime?: number;
limit?: number;
cursor?: string;
}
export interface GetPreUpgradeOptionDeliveryRecordParamsV5 {
category: 'option';
symbol?: string;
expDate?: string;
limit?: number;
cursor?: string;
}
export interface GetPreUpgradeUSDCSessionParamsV5 {
category: 'linear';
symbol?: string;
limit?: number;
cursor?: string;
}

View File

@@ -12,3 +12,4 @@ export * from './v5-trade';
export * from './v5-user'; export * from './v5-user';
export * from './v5-spot-leverage-token'; export * from './v5-spot-leverage-token';
export * from './v5-broker'; export * from './v5-broker';
export * from './v5-preupgrade';

View File

@@ -207,8 +207,6 @@ export interface ConvertQuoteV5 {
toAmount: string; toAmount: string;
expiredTime: string; expiredTime: string;
requestId: string; requestId: string;
paramType: string;
paramValue: string;
} }
export interface ConvertStatusV5 { export interface ConvertStatusV5 {

View File

@@ -0,0 +1,42 @@
export interface PreupgradeTransactionLog {
symbol: string;
category: string;
side: 'Buy' | 'Sell' | 'None';
transactionTime: string;
type: string;
qty: string;
size: string;
currency: 'USDC' | 'USDT' | 'BTC' | 'ETH';
tradePrice: string;
funding: string;
fee: string;
cashFlow: string;
change: string;
cashBalance: string;
feeRate: string;
bonusChange: string;
tradeId: string;
orderId: string;
orderLinkId: string;
}
export interface PreupgradeOptionsDelivery {
deliveryTime: number;
symbol: string;
side: 'Buy' | 'Sell';
position: string;
deliveryPrice: string;
strike: string;
fee: string;
deliveryRpl: string;
}
export interface PreupgradeUSDCSessionSettlement {
symbol: string;
side: 'Buy' | 'Sell';
size: string;
sessionAvgPrice: string;
markPrice: string;
realisedPnl: string;
createdTime: string;
}

View File

@@ -22,6 +22,7 @@ export interface SubMemberV5 {
username: string; username: string;
memberType: number; memberType: number;
status: number; status: number;
accountMode: number;
remark: string; remark: string;
} }
export type ApiKeyType = 1 | 2; export type ApiKeyType = 1 | 2;
@@ -73,11 +74,10 @@ export interface SubAccountAllApiKeysResultV5 {
readOnly: 0 | 1; readOnly: 0 | 1;
deadlineDay?: number; deadlineDay?: number;
flag: string; flag: string;
}[], }[];
nextPageCursor: string; nextPageCursor: string;
} }
export interface AffiliateUserInfoV5 { export interface AffiliateUserInfoV5 {
uid: string; uid: string;
vipLevel: string; vipLevel: string;
@@ -93,4 +93,4 @@ export interface AffiliateUserInfoV5 {
depositUpdateTime: string; depositUpdateTime: string;
volUpdateTime: string; volUpdateTime: string;
KycLevel: 0 | 1 | 2; KycLevel: 0 | 1 | 2;
} }