پرش به مطلب اصلی

بازار فیوچرز (تعهدی)

API های عمومی

بررسی سلامت سیستم

برای بررسی وضعیت سلامت سرور API:

درخواست
GET /fapi/v1/health

پاسخ نمونه

{
"status": "OK"
}

تست اتصال

برای تست اتصال به API:

درخواست
GET /fapi/v1/ping

پاسخ نمونه

{
"status": "OK"
}

زمان سرور

برای دریافت زمان فعلی سرور:

درخواست
GET /fapi/v1/time

پاسخ نمونه

{
"serverTime": 1640995200000
}

لیست نمادهای معاملاتی

برای دریافت لیست تمام نمادهای معاملاتی آینده و تنظیمات آنها:

درخواست
GET /fapi/v1/symbols

پاسخ نمونه

[
{
"symbol": "BTC-USDT",
"baseAsset": "BTC",
"quoteAsset": "USDT",
"status": "TRADING",
"maintMarginPercent": "2.5000",
"requiredMarginPercent": "5.0000",
"baseAssetPrecision": 8,
"quotePrecision": 8,
"pricePrecision": 2,
"quantityPrecision": 6,
"minQty": "0.001000",
"maxQty": "1000.000000",
"minPrice": "0.01",
"maxPrice": "1000000.00",
"tickSize": "0.01",
"minNotional": "10.00000000"
}
]

تیکر تمام نمادها

برای دریافت آمار تغییرات قیمت 24 ساعته تمام نمادها:

درخواست

GET /fapi/v1/ticker

پاسخ نمونه

[
{
"symbol": "BTC-USDT",
"priceChange": "1000.50",
"priceChangePercent": "2.15",
"lastPrice": "47500.25",
"bidPrice": "47495.00",
"askPrice": "47505.50",
"openPrice": "46499.75",
"highPrice": "48100.00",
"lowPrice": "46200.00",
"volume": "12547.85420000",
"quoteVolume": "594875124.25",
"openTime": 1640908800000,
"closeTime": 1640995200000,
"count": 125478
}
]

تیکر یک نماد

برای دریافت آمار تغییرات قیمت 24 ساعته یک نماد مشخص:

درخواست

GET /fapi/v1/ticker/{symbol}

پارامترها

نامنوعاجباریتوضیحات
symbolstringبلهنماد معاملاتی (مثال: BTC-USDT)

پاسخ نمونه

{
"symbol": "BTC-USDT",
"priceChange": "1000.50",
"priceChangePercent": "2.15",
"lastPrice": "47500.25",
"bidPrice": "47495.00",
"askPrice": "47505.50",
"openPrice": "46499.75",
"highPrice": "48100.00",
"lowPrice": "46200.00",
"volume": "12547.85420000",
"quoteVolume": "594875124.25",
"openTime": 1640908800000,
"closeTime": 1640995200000,
"count": 125478
}

دفتر سفارشات

برای دریافت عمق بازار (دفتر سفارشات):

درخواست

GET /fapi/v1/depth

پارامترها

نامنوعاجباریتوضیحات
symbolstringبلهنماد معاملاتی
limitintegerخیرتعداد آیتم ها (پیش فرض: 100، حداکثر: 1000)

مثال درخواست

GET /fapi/v1/depth?symbol=BTC-USDT&limit=20

پاسخ نمونه

{
"lastUpdateId": 1641024000000,
"bids": [
[
"47495.00",
"1.25000000"
],
[
"47490.00",
"0.85000000"
],
[
"47485.00",
"2.10000000"
]
],
"asks": [
[
"47505.50",
"0.95000000"
],
[
"47510.00",
"1.75000000"
],
[
"47515.50",
"1.30000000"
]
]
}

معاملات اخیر

برای دریافت معاملات اخیر یک نماد:

درخواست

GET /fapi/v1/trades

پارامترها

نامنوعاجباریتوضیحات
symbolstringبلهنماد معاملاتی
limitintegerخیرتعداد معاملات (پیش فرض: 500، حداکثر: 1000)

مثال درخواست

GET /fapi/v1/trades?symbol=BTC-USDT&limit=100

پاسخ نمونه

[
{
"id": 123456789,
"price": "47500.25",
"qty": "0.15000000",
"time": 1640995200000,
"isBuyerMaker": false
}
]

کندل (شمعی)

برای دریافت داده های تاریخی کندل استیک:

درخواست

GET /fapi/v1/candle

پارامترها

نامنوعاجباریتوضیحات
symbolstringبلهنماد معاملاتی
intervalstringبلهبازه زمانی (1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w)
startTimelongخیرزمان شروع به میلی ثانیه
endTimelongخیرزمان پایان به میلی ثانیه
limitintegerخیرتعداد کندل ها (پیش فرض: 500، حداکثر: 1500)

مثال درخواست

GET /fapi/v1/candle?symbol=BTC-USDT&interval=1h&limit=24

پاسخ نمونه

[
[
1640991600000,
// زمان باز شدن
"46500.00",
// قیمت باز شدن
"47200.00",
// بالاترین قیمت
"46400.00",
// پایین ترین قیمت
"47100.25",
// قیمت بسته شدن
"125.85420000",
// حجم
1640995199999,
// زمان بسته شدن
"5924751.24",
// حجم نقل قول
1547,
// تعداد معاملات
"62.85420000",
// حجم خرید taker
"2962375.62"
// حجم نقل قول خرید taker
]
]

نرخ تامین مالی

برای دریافت اطلاعات نرخ تامین مالی قراردادهای دائمی:

درخواست

GET /fapi/v1/funding-rate/{symbol}

پارامترها

نامنوعاجباریتوضیحات
symbolstringبلهنماد معاملاتی

مثال درخواست

GET /fapi/v1/funding-rate/BTC-USDT

پاسخ نمونه

{
"symbol": "BTC-USDT",
"fundingRate": "0.00010000",
"fundingTime": 1640995200000,
"nextFundingTime": 1641024000000
}

سطوح مارجین

برای دریافت براکت های سطح مارجین:

درخواست

GET /fapi/v1/margin-levels
GET /fapi/v1/margin-levels/{symbol}

مثال درخواست

# تمام نمادها
GET /fapi/v1/margin-levels

# نماد مشخص
GET /fapi/v1/margin-levels/BTC-USDT

پاسخ نمونه

[
{
"symbol": "BTC-USDT",
"min": "0",
"max": "5000",
"marginRatio": "0.01",
"marginAmount": "0",
"maxLeverage": 25
}
]

API های احراز هویت شده

احراز هویت

برای استفاده از API های خصوصی، باید درخواست ها را با HMAC-SHA256 امضا کنید.

هدرهای مورد نیاز

هدرتوضیحاتمثال
x-api-keyکلید API شماabc123def456...
x-timestampزمان درخواست به میلی ثانیه1640995200000
x-signatureامضای HMAC-SHA256d4f67a92bc8f...

ثبت سفارش

برای ثبت سفارش معاملاتی جدید:

درخواست
POST /fhapi/v1/order

بدنه درخواست

{
"symbol": "BTC-USDT",
"side": "BUY",
"type": "LIMIT",
"qt": "0.001",
"price": "50000.00",
"timeInForce": "GTC",
"reduceOnly": false,
"postOnly": false
}

پاسخ نمونه

{
"orderId": 123456,
"symbol": "BTC-USDT",
"status": "NEW",
"side": "BUY",
"type": "LIMIT",
"quantity": "0.001",
"price": "50000.00",
"executedQty": "0.000",
"cummulativeQuoteQty": "0.00",
"timestamp": 1640995200000
}

دریافت سفارش

برای دریافت جزئیات سفارش بر اساس شناسه:

درخواست
GET /fhapi/v1/order?order_id=123456

پارامترها

نامنوعاجباریتوضیحات
order_idlongبلهشناسه سفارش

پاسخ نمونه

{
"id": 2861094228,
"client_order_id": "",
"symbol": "BTC-USDT",
"side": "BUY",
"type": "LIMIT",
"price": "50000",
"stopPrice": "0",
"quantity": "0.001",
"filled": "0",
"status": "OPEN",
"workingType": "",
"closePosition": false,
"closePositionId": 0,
"createdAt": 1758098692
}

دریافت سفارشات باز

برای دریافت تمام سفارشات باز:

درخواست
POST /fhapi/v1/order/open

بدنه درخواست

{
"symbol": "BTC-USDT"
}

پاسخ نمونه

[
{
"id": 2861149113,
"client_order_id": "",
"symbol": "BTC-USDT",
"side": "BUY",
"type": "LIMIT",
"price": "50000",
"stopPrice": "0",
"quantity": "0.001",
"filled": "0",
"status": "OPEN",
"workingType": "",
"closePosition": false,
"closePositionId": 0,
"createdAt": 1758099163
}
]

لغو سفارش

برای لغو یک سفارش مشخص:

درخواست
POST /fhapi/v1/order/cancel

بدنه درخواست

{
"id": 123456
// your order id
}

پاسخ نمونه

{
"id": 2861149113,
"client_order_id": "",
"symbol": "BTC-USDT",
"side": "BUY",
"type": "LIMIT",
"price": "50000",
"stopPrice": "0",
"quantity": "0.001",
"filled": "0",
"status": "PRE_CANCELED",
"workingType": "",
"closePosition": false,
"closePositionId": 0,
"createdAt": 1758099163
}

لغو تمام سفارشات

برای لغو تمام سفارشات باز:

درخواست
POST /fhapi/v1/order/cancel/all

بدنه درخواست

{}

پاسخ نمونه

[
{
"id": 2861415884,
"client_order_id": "",
"symbol": "BTC-USDT",
"side": "BUY",
"type": "LIMIT",
"price": "50000",
"stopPrice": "0",
"quantity": "0.001",
"filled": "0",
"status": "OPEN",
"workingType": "",
"closePosition": false,
"closePositionId": 0,
"createdAt": 1758101873
}
]
هشدار

درصورتی که هیچ سفارشی وجود نداشته باشد پاسخ بصورت NULL ارسال شده و فرمت جیسون ندارد

دریافت تنظیمات اهرم

برای دریافت تنظیمات اهرم فعلی:

درخواست
GET /fhapi/v1/leverage

پاسخ نمونه

[
{
"symbol": "BTC-USDT",
"leverage": 10
}
]

تغییر اهرم

برای تغییر اهرم نمادهای مشخص:

درخواست
POST /fhapi/v1/leverage

بدنه درخواست

{
"symbol": "BTC-USDT",
"leverage": 20
}

پاسخ نمونه

{
"status": "done"
}

اطلاعات حساب

برای دریافت جزئیات حساب مارجین:

درخواست
GET /fhapi/v1/margin/account

پاسخ نمونه

{
"accountStatus": "NORMAL",
"totalMaintMargin": "0",
"totalWalletBalance": "19.00340987",
"totalMarginUsed": "0",
"orderMarginUsd": "0",
"positionMarginUsd": "0",
"totalUnrealizedPnl": "0",
"availableBalance": "19.00340987",
"testStatus": true,
"accountIsDemo": true,
"totalBonus": "0",
"positions": []
}

دریافت پوزیشن های باز

برای دریافت تمام پوزیشن های باز:

درخواست
POST /fhapi/v1/positions/open

بدنه درخواست

{}

پاسخ نمونه

[
{
"id": 74635001,
"symbol": "BTC-USDT",
"side": "SHORT",
"entryPrice": "116560.9",
"quantity": "0.00082",
"remainingQty": "0.00082",
"leverage": 20,
"unrealizedPNL": "0",
"realizedPNL": "0",
"liqPrice": "0",
"status": "OPEN",
"lastUpdatePrice": "116560.9",
"closePrice": "0",
"createdAt": 1758102749,
"updatedAt": 1758102749
}
]

دریافت سابقه پوزیشن ها

برای دریافت سوابق پوزیشن ها:

درخواست
GET /fhapi/v1/positions/history

پارامترها

نامنوعاجباریتوضیحات
limitnumberخیرتعداد در هر درخواست (مقدار پیش فرض:30)
offsetnumberخیرتعداد رد کردن از ابتدای رکورد ها (مقدار پیش فرض : 0)
symbolstringخیرنماد
sidestringخیرمقدار های مجاز (LONG SHORT)
startTimenumberخیرزمان به ثانیه
endTimenumberخیرزمان به ثانیه

پاسخ نمونه

[
{
"id": 74635001,
"symbol": "BTC-USDT",
"side": "SHORT",
"entryPrice": "116560.9",
"quantity": "0.00082",
"remainingQty": "0.00082",
"leverage": 20,
"unrealizedPNL": "0",
"realizedPNL": "0",
"liqPrice": "0",
"status": "OPEN",
"lastUpdatePrice": "116560.9",
"closePrice": "0",
"createdAt": 1758102749,
"updatedAt": 1758102749
}
]

کدهای خطا

کدهای وضعیت HTTP

کدتوضیحاتاقدام
200موفقیتادامه عملیات عادی
400درخواست نامعتبربررسی پارامترهای درخواست
401غیر مجازبررسی اعتبارنامه های API و امضا
403ممنوعبررسی لیست سفید IP و مجوزها
429محدودیت نرخپیاده سازی backoff نمایی
500خطای سرورتلاش مجدد پس از تاخیر
503سرویس در دسترس نیستبررسی وضعیت سرویس

کدهای خطای رایج

کدپیامراه حل
-1022امضای نامعتبرتولید مجدد امضا با پارامترهای صحیح
-1021زمان نامعتبرهمگام سازی ساعت سیستم با زمان سرور
-2008کلید API نامعتبربررسی تنظیمات کلید API
-2015کلید API، IP یا مجوزهای نامعتبرتأیید لیست سفید IP و مجوزها