BitMax API Documentation V2

ساخت وبلاگ

این سند حاوی API های جدید v2 با ویژگی های بهبود یافته است. در حال حاضر، فقط عملکرد محدود پشتیبانی می شود. با این حال، ما قصد داریم پوشش را به طور گسترده افزایش دهیم.

در ضمن لطفا به BitMax | مراجعه کنیدسند API برای مجموعه کاملتری از APIها.

API های RESTful - عمومی

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

درخواست HTTP

مولفه های

 

نام نوع داده شرح
سمبل رشته یک نماد معتبر، به عنوان مثالنماد=ETH-BTC
n بین المللی تعداد معاملاتی که باید در پاسخ گنجانده شود. n در حال حاضر به 100 یا کمتر محدود شده است. به عنوان مثال،n=10

هر عنصر در معاملات یک شی حاوی داده های تجاری اخیر با فیلدهای زیر است:

 

رشته نوع داده شرح
bm بولی اگر درست باشد، خریدار معامله بازارساز است
id طولانی شناسه منحصر به فرد تجارت بازار
p رشته قیمت
q رشته تعداد
t طولانی مهر زمانی

احراز هویت

فرآیند احراز هویت برای API های v2 کمی با نسخه قدیمی متفاوت است:

  • اکنون چک مهر زمانی قوی را اعمال می کنیم.
  • پاسخ تماس API در صورت خرابی احراز هویت آموزنده تر است.

ایجاد یک درخواست

برای دسترسی به داده های خصوصی، باید سرصفحه های زیر را وارد کنید:

  • x-auth-key - لازم است، کلید api به عنوان یک رشته.
  • x-auth-timestamp - لازم است، مهر زمانی UTC در میلی ثانیه از درخواست شما
  • x-auth-signature - لازم است، امضای درخواست (به #امضای یک درخواست مراجعه کنید)
  • x-auth-coid - شناسه درخواست، فقط به APIهای خاصی نیاز دارد (مانند قرار دادن/لغو سفارشات)

امضای یک درخواست

برای پرس و جو از API با داده های خصوصی، باید امضایی را با استفاده از الگوریتم HMAC sha256 کدگذاری شده base64 اضافه کنید.

کد خطا

مثال: پاسخ HTTP زمانی که احراز هویت ناموفق بود

اگر احراز هویت ناموفق باشد، سرور با کد وضعیتی غیر از 200 OK پاسخ خواهد داد. بدنه پاسخ حاوی جزئیات بیشتری از جمله فیلد کد با مقداری غیر از 0 و یک فیلد پیام با متنی است که دلیل عدم موفقیت احراز هویت را توضیح می دهد.

جدول زیر تمام پاسخ های سرور ممکن را در صورت رد درخواست به دلیل خرابی احراز هویت فهرست می کند.

 

کد وضعیت HTTP کد خطا شرح
روش 405 مجاز نیست 21001 دسترسی به API در حال حاضر غیرفعال است.
400 درخواست بد 21002 هدر API وجود ندارد.
400 درخواست بد 21003 درخواست عدم تطابق شناسه.
400 درخواست بد 21004 خطای سرصفحه درخواست API: مهر زمانی نامعتبر است. این معمولاً به این معنی است که مهر زمانی در هدر درخواست با زمان سیستم بیش از 60 ثانیه متفاوت است.
400 درخواست بد 21006 کلید API پیدا نشد.
410 رفته 21005 تأیید امضای API ممکن نیست: مهر زمانی منقضی شده است.
403 ممنوع 21007 کلید API مجوز مشاهده ندارد.
403 ممنوع 21010 کلید API مجوز برداشت ندارد.
403 ممنوع 21009 API Key مجوز تجارت ندارد.
403 ممنوع 21008 کلید API مجوز انتقال ندارد.
401 غیرمجاز 2012 عدم تطابق گروه حساب.
401 غیرمجاز 21011 امکان تأیید امضای API وجود ندارد: عدم تطابق امضا.

API های استراحت - کیف پول (سپرده و برداشت)

آدرس سپرده یک دارایی را دریافت کنید

مثال پاسخ (دارایی = USDT که دارای دو blockchain است)

مثال پاسخ (Asset = XRP که برای سپرده به هر دو آدرس برچسب و سپرده نیاز دارد)

درخواست HTTP

احراز هویت

شما باید برای کلید API مجوز را فعال کنید.

شما باید پیام +سپرده را امضا کنید و امضا را در عنوان درج کنید.

مولفه های

 

نام نوع داده شرح
دارایی رشته کد دارایی ، به عنوان مثال"BTC"

API های استراحت - تجارت حاشیه ای

یک حساب حاشیه ای به شما امکان می دهد تا با وام گرفتن دارایی ، قدرت خرید خود را فراتر از تراز کل حساب افزایش دهید. در مقایسه با معاملات نقدی ، معاملات حاشیه قوانین معاملات پیچیده تری دارد و ممکن است خطرات بسیار بیشتری را به همراه داشته باشد. لطفاً برای اطلاعات بیشتر به قوانین معاملات حاشیه Bitmax.io مراجعه کنید.

تعادل یک دارایی از حساب حاشیه را دریافت کنید

تمام مانده حساب حاشیه را لیست کنید

ریسک (خلاصه) یک نماد حساب حاشیه را دریافت کنید

درخواست HTTP

احراز هویت

شما باید برای کلید API مجوز را فعال کنید.

شما باید پیام +حاشیه/ریسک را امضا کنید و امضا را در هدر قرار دهید.

مولفه های

 

نام نوع داده شرح
سمبل رشته نماد ، به عنوان مثال"BTC/USDT"

انتقال دارایی از حساب نقدی به حساب حاشیه

درخواست بدنه - انتقال دارایی از حساب نقدی به حساب حاشیه

درخواست HTTP

احراز هویت

شما باید اجازه انتقال را برای کلید API فعال کنید.

شما باید پیام +حاشیه/انتقال/سپرده را امضا کنید و امضا را در هدر قرار دهید.

مولفه های

 

نام نوع داده شرح
دارایی رشته کد دارایی ، به عنوان مثال"BTC"
میزان رشته مبلغی برای انتقال در قالب رشته

انتقال دارایی از حساب حاشیه به حساب نقدی

درخواست بدنه - انتقال دارایی از حساب حاشیه به حساب نقدی

درخواست HTTP

احراز هویت

شما باید اجازه انتقال را برای کلید API فعال کنید.

شما باید پیام +حاشیه/انتقال/برداشت را امضا کنید و امضا را در عنوان درج کنید.

مولفه های

 

نام نوع داده شرح
دارایی رشته کد دارایی ، به عنوان مثال"BTC"
میزان رشته مبلغی برای انتقال در قالب رشته

WebSocket API (نسخه بتا)

فید داده های WebSocket

URL WebSocket

  • تجارت نقدی: wss: //bitmax.io//api/stream/cash-beta/
  • معاملات حاشیه: wss: //bitmax.io//api/stream/margin-beta/

توجه: در URL های فوق باید توسط Hyphen ( -) ، به عنوان مثال ، ET H-BTC جدا شود. نمادهای جدا شده توسط slash ( /) مجاز نیستند.

اعتبار

برای باز کردن اتصال WebSocket ، باید مجوز را برای کلید API خود مشاهده کنید. اگر می خواهید سفارشات را ثبت کنید ، به مجوز تجارت نیز نیاز دارید.

شما باید پیام های زیر را امضا کنید و امضا را در هدر قرار دهید:

  • تجارت نقدی: +جریان/نقدی بتا
  • معاملات حاشیه: +جریان/حاشیه بتا

احراز هویت WebSocket

اتصال به API WebSocket تقریباً همان فرآیند تأیید اعتبار را به عنوان API های معتبر معتبر دنبال می کند. شما باید زمینه های زیر را در عنوان درخواست قرار دهید:

  • X-Auth-Key-کلید API با اجازه مشاهده. در صورت تمایل به سفارشات ، مجوز تجارت لازم است.
  • X-Auth-Signature-امضای درخواست.
  • X-Auth-Timestamp-جدول زمانی فعلی UTC در میلی ثانیه.

در جریان های WebSocket مشترک شوید

پس از اتصال به WebSocket ، برای شروع دریافت داده ها باید یک پیام مشترک ارسال کنید.(توجه داشته باشید که برخلاف V1 ، شما هیچ داده ای دریافت نخواهید کرد مگر اینکه اشتراک را در V2 ارسال کنید) پیام مشترک یک شیء JSON با فرمت متن ساده است و شامل زمینه های زیر است:

نام زمینه نوع داده شرح
پیام رسانی رشته این قسمت را برای اشتراک در پیام مشترک تنظیم کنید.
سطح بازار عدد صحیح مقدار پیش فرض اختیاری 20. این قسمت حداکثر تعداد قیمت هر طرف را در اولین پیام عمق بازار درج می کند.
اخیر trademaxcount عدد صحیح مقدار پیش فرض اختیاری 20. این قسمت حداکثر تعداد معاملات اخیر را که در اولین پیام معاملات بازار گنجانده شده است ، مشخص می کند.
فراز بولی مقدار اختیاری ، پیش فرض نادرست. اگر نادرست باشد ، مشتری داده های خلاصه بازار را با داده های قیمت 24 ساعته/ساعت/لیتر/c برای همه نمادها در هر 30 ثانیه دریافت می کند.
پرش برقی بولی مقدار اختیاری ، پیش فرض نادرست. اگر نادرست باشد ، مشتری برای نماد فعلی هر 30 ثانیه داده های نوار (1 دقیقه ، 5 دقیقه و غیره) را دریافت می کند.

پس از ارسال پیام مشترک ، پیامی را دریافت خواهید کرد که نشان می دهد اشتراک موفقیت آمیز است یا خیر.

پیام مشترک موفقیت (پاسخ موفقیت)

نام زمینه نوع داده شرح
m رشته در صورت موفقیت اشتراک مشترک شوید ، در صورت عدم موفقیت خطا کنید
مگس رشته موفقیت در صورت موفقیت در زیر مجموعه ، یا پیام خطا را چاپ می کند

پینگ پونگ

پس از اتصال به WebSocket ، می توانید پیام پینگ را به سرور ارسال کنید. پس از دریافت پیام پینگ ، سرور با یک پیام PONG پاسخ می دهد. پیام Pong دارای یک قسمت TS است که زمان سرور را نشان می دهد.

نام زمینه نوع داده شرح
m رشته چاک
ts طولانی Timestamp از زمان سرور در میلی ثانیه

WebSocket برای تجارت نقدی

URL WebSocket

کانال داده - عمق بازار

هر پیام عمق بازار یک شیء JSON است که حاوی مقدار فعلی در سطح قیمت های خاص است. هیچ روش مستقیمی برای دریافت داده های برتر کتاب از طریق WebSocket وجود ندارد. شما باید کتاب عمق فعلی را حفظ کنید و بهترین پیشنهاد را بدست آورید. این کار را می توان با دو مرحله انجام داد:

  • برای ساخت کتاب عمق اولیه از پیام اول عمق استفاده کنید.
  • برای به روزرسانی کتاب عمق از پیام های بعدی استفاده کنید. پیام ها حاوی اندازه کل جدید در سطح قیمت مشخص شده هستند. شما باید مقدار قدیمی را با استفاده از پیام دریافت شده جایگزین کنید. هنگامی که مقدار جایگزینی صفر است ، به این معنی است که هیچ سفارش در سطح قیمت مربوطه نشسته است.

هر پیام عمق بازار شامل قسمت زیر است:

 

رشته نوع داده شرح
m رشته نوع پیام ، "عمق"
s رشته سمبل
ts طولانی Timestamp هنگام تولید پیام
سکنوم طولانی شماره ترتیب
سعادت توالی سطح را بپرسید ، هر عنصر در دنباله شامل [قیمت ، کمیت] است. قیمت و کمیت از نوع رشته است.
پیشنهادات توالی میزان پیشنهاد

کانال داده - معاملات بازار

هر شروع به دریافت جریان تجارت مداوم در بازار. تمام پیام های معاملات بازار از همان ساختار پیروی می کنند ، که شامل یک یا چند معاملات است.

هر پیام عمق بازار شامل قسمت زیر است:

 

رشته نوع داده شرح
m رشته نوع پیام ، "MarketTrades"
s رشته سمبل
معاملات توالی لیست اشیاء حاوی داده های تجاری اخیر (به تصویر زیر مراجعه کنید)

هر عنصر در معاملات یک شی حاوی داده های تجاری اخیر با فیلدهای زیر است:

 

رشته نوع داده شرح
p رشته قیمت
q رشته تعداد
t طولانی مهر زمانی
bm بولی اگر درست باشد، خریدار معامله بازارساز است

کانال داده - خلاصه بازار

هر سابقه خلاصه بازار شامل اطلاعات فعلی در مورد یک محصول واحد است. داده ها به صورت دسته ای پخش می شوند - ما داده های بازار همه محصولات را هر 30 ثانیه پخش می کنیم. Skipsummary = true را در پیام مشترک تنظیم کنید تا آن را روشن کنید.

 

رشته نوع داده شرح
m رشته "خلاصه"
s رشته نماد محصول
ba رشته دارایی پایه
qa رشته دارایی
i رشته فاصله بار ، برای داده های خلاصه بازار ، فاصله همیشه 1D است
t طولانی Timestamp UTC در میلی ثانیه
o رشته باز کن
c رشته بستن
h رشته عالی
l رشته کم
v رشته جلد

کانال داده - داده نوار

داده های نوار تقریباً مشابه داده های خلاصه بازار است، با این تفاوت که:

نوع پیام نوار است در هر جلسه وب سوکت فقط یک نماد وجود دارد. فیلد بازه i ممکن است چندین مقدار داشته باشد: 1، 5، 30، 160، 360، 1d. ما داده های نوار را به صورت دسته ای پخش می کنیم. هر 30 ثانیه، ما پیام های داده نوار را در تمام سطوح بازه ای پخش می کنیم. می توانید از این داده ها برای به روزرسانی مستقیم نمودار میله ای (میله ها) استفاده کنید. با این حال، شما همچنین باید نمودار میله ای را با استفاده از پیام های تجاری بازار به روز کنید.

 

رشته نوع داده شرح
m رشته "بار"
s رشته نماد ، به عنوان مثال"BTC/USDT"
ba رشته دارایی پایه
qa رشته دارایی
i رشته فاصله نوار، به عنوان مثال"1"، "5"، "30"، "60"، "360"، "1d"
t طولانی Timestamp UTC در میلی ثانیه
o رشته باز کن
c رشته بستن
h رشته عالی
l رشته کم
v رشته جلد

کانال داده - به روز رسانی سفارش

پس از اتصال به جریان های وب سوکت، شروع به دریافت به روزرسانی های بی درنگ تمام سفارش های خود (نه فقط سفارش های نماد اشتراک) خواهید کرد. این شامل هر دو گزارش اجرای سفارش و مانده های جاری است. از آنجایی که فقط به روزرسانی های سفارشات جدید پخش می شود، توصیه می شود با استفاده از RESTful API GET api/v1/order/open، عکس اولیه همه سفارش های خود را بارگیری کنید. توجه داشته باشید که اگر فقط به سوکت وب معاملات نقدی متصل شوید، پیام های به روزرسانی سفارش حساب مارجین خود را دریافت نخواهید کرد و بالعکس.

 

رشته نوع داده شرح
m رشته "سفارش"
execId رشته برای هر کاربر، این یک عدد صحیح طولانی به شدت در حال افزایش است
coid رشته شناسه سفارش مشتری
origCoid رشته اختیاری، شناسه سفارش اصلی، برای جزئیات بیشتر به لغو سفارشات مراجعه کنید
نوع سفارش رشته "Limit"، "Market"، "StopLimit"، "StopMarket"
s رشته نماد ، به عنوان مثال"BTC/USDT"
t طولانی Timestamp UTC در میلی ثانیه
p رشته اختیاری، قیمت محدود، فقط برای سفارشات "Limit" و "StopLimit" موجود است
sp رشته اختیاری، قیمت توقف، فقط برای سفارشات توقف بازار و توقف محدود موجود است
q رشته مقدار سفارش
l رشته آخرین مقدار، کمیت اجرا شده توسط آخرین پر
lp رشته آخرین قیمت، قیمت اجرا شده توسط آخرین پر
f رشته مقدار پر شده، این کمیت تجمیع شده است که توسط تمام پرهای گذشته اجرا شده است
ap رشته متوسط قیمت پر شده
bb رشته مانده کل دارایی پایه
bpb رشته موجودی دارایی پایه موجود
qb رشته موجودی کل دارایی را نقل قول کنید
qpb رشته نقل قول موجودی دارایی موجود
هزینه رشته هزینه
fa رشته دارایی کارمزد
bc رشته اگر مثبت باشد، این کمیسیون BTMX است که توسط استخراج معکوس شارژ می شود، اگر منفی باشد، این خروجی ماینینگ پر فعلی است.
btmxBal رشته اختیاری، موجودی BTMX حساب جاری.
سمت رشته سمت
وضعیت رشته وضعیت سفارش
کد خطا رشته اگر سفارش رد شود ، این زمینه توضیح می دهد که چرا
گربه رشته دسته بندی
ei رشته دستورالعمل اجرای ، "ارسال" برای سفارشات پس از فقط

کانال داده - به روزرسانی های تعادل

پس از اتصال به جریان های WebSocket ، شروع به دریافت به روزرسانی های تعادل زمان واقعی خواهید کرد. به روزرسانی های موجود در تراز تجاری در پیام به روزرسانی سفارش گنجانده می شود ، تمام به روزرسانی های دیگر (سپرده گذاری/برداشت/انتقال بین حساب های نقدی و حاشیه و غیره) در پیام تعادل گنجانده می شوند.

 

رشته نوع داده شرح
m رشته "تعادل"
execId رشته برای هر کاربر، این یک عدد صحیح طولانی به شدت در حال افزایش است
حساب رشته شناسه حساب
a رشته دارایی
b رشته تعادل کل دارایی
pb رشته موجودی موجودی دارایی

درخواست مشتری - قرار دادن سفارش جدید

می توانید با ارسال پیام های NewOrderRequest به سرور سفارشات را سفارش دهید.

 

کلید نوع داده ارزش
پیام رسانی رشته مورد نیاز ، "NewOrderRequest"
زمان طولانی مورد نیاز ، Timestamp UTC در میلی ثانیه
coid رشته مورد نیاز ، رشته شناسه منحصر به فرد 32
سمبل رشته مورد نیاز ، نماد ، به عنوان مثال"BTC/USDT"
قیمت رشته اختیاری ، قیمت محدود سفارش
تعداد سفارش رشته مورد نیاز ، مقدار سفارش به عنوان یک رشته ، به عنوان مثال"1. 23"
نوع سفارش رشته مورد نیاز ، "Limie" ، "Market" ، "Stop_limit" ، "Stop_market"
سمت رشته
پس از بولی اختیاری ، درست یا نادرست
توقف رشته قیمت توقف به عنوان یک رشته ، به عنوان مثال "10000. 50"
در مدت زمان بندی رشته GTC (خوب و بدون سیم ، پیش فرض) یا IOC (فوری یا کانکی)

پیام رد سفارش نامعتبر

اگر سفارش معتبر باشد ، یک پیام به روزرسانی سفارش دریافت خواهید کرد که در آن وضعیت جدید است.

اگر سفارش نامعتبر باشد ، بلافاصله با COID همان پیام درخواست سفارش جدید ، یک پیام رد دریافت خواهید کرد.

 

کلید نوع داده ارزش
m رشته "سفارش"
coid رشته COID در درخواست سفارش
وضعیت رشته "رد شده"
کد خطا رشته یک کد خطای عددی به عنوان یک رشته.(ما از قالب رشته استفاده می کنیم تا با پیام های سفارش دیگر سازگار باشد)
دلیل رشته

درخواست مشتری - سفارش را لغو کنید

می توانید با ارسال پیام های CancelorderRequest به سرور ، یک سفارش باز را لغو کنید. اگر سفارش با موفقیت لغو شود ، یک پیام به روزرسانی سفارش دریافت خواهید کرد که در آن وضعیت لغو می شود.

کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید

برچسب : نویسنده : محسن زنجانچی بازدید : <-PostHit-> تاريخ : پنجشنبه 7 ارديبهشت 1402 ساعت: 16:05