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

دریافت عمق بازار فروش (sellDepth)​

از طریق این کانال می‌توانید سفارش‌های فروش موجود در Order Book یک بازار خاص را به‌صورت لحظه‌ای دریافت کنید. این داده‌ها برای نمایش لیست سفارش‌های فروش، تحلیل عمق بازار و طراحی ابزارهای معاملاتی بسیار کاربردی می‌باشند.

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

جهت دریافت این کانال سه روش وجود دارد.

ورژن ۱ (منسوخ شده)​

منسوخ شده

ورژن ۱ (wss://api.wallex.ir/ws) منسوخ شده است. این ورژن هنوز کار می‌کند، اما کانال‌های جدید مانند قیمت منصفانه و کندل چارت فقط روی ورژن ۲ (سنتریفیگو) در دسترس هستند.

برای پیاده‌سازی جدید از ورژن ۲ استفاده کنید. برای انتقال کد فعلی، راهنمای مهاجرت را ببینید.

آدرس اتصال WebSocket​

برای اتصال باید از آدرس زیر استفاده کنید.

wss://api.wallex.ir/ws

فرمت پیام Subscribe​

جهت دریافت عمق بازار باید پیام خود را با فرمت زیر ارسال کنید و می‌توانید هر مارکتی را جایگزین MARKET قرار دهید.

["subscribe", { "channel": "MARKET@sellDepth" }]

مثال

["subscribe", { "channel": "BTCTMN@sellDepth" }]
["subscribe", { "channel": "USDTTMN@sellDepth" }]

نمونه پاسخ دریافتی​

پس از ارسال پیام در سوکت، جواب‌هایی که دریافت می‌کنید به‌صورت زیر می‌باشد که هر آبجکت بیانگر یک اوردر در اوردربوک می‌باشد.

فیلدنوعتوضیح
quantityNumberمقدار سفارش
priceNumberقیمت هر واحد
sumNumberمجموع مقدار سفارش

پاسخ یک آرایه‌ی دوتایی می‌باشد که عضو اول آن نام کانال و عضو دوم آن آرایه‌ی سفارش‌ها است.

[
"BTCTMN@sellDepth",
[
{ "quantity": 255.75, "price": 82131, "sum": 21005003.25 },
{ "quantity": 103.07, "price": 82083, "sum": 8460294.81 },
{ "quantity": 139.05, "price": 82066, "sum": 11411277.3 }
]
]

نکته‌ها​

  • توجه داشته باشید که عضو شدن در این کانال وضعیت فعلی عمق بازار را برای شما ارسال نمی‌کند و اولین پیام زمانی می‌رسد که عمق بازار تغییر کند.
  • محدودیت‌ها، پیام‌هایی که داده‌ی کانال نیستند و نحوه‌ی لغو عضویت در جزئیات ورژن ۱ (منسوخ شده) آمده است.

ورژن ۲ (سنتریفیگو) با SDK​

آدرس اتصال WebSocket​

برای اتصال باید از آدرس زیر استفاده کنید.

wss://api.wallex.ir/connection/websocket

نام کانال​

می‌توانید هر مارکتی را جایگزین <SYMBOL> قرار دهید.

orderbook:<SYMBOL>@sellDepth

نمونه کد عضویت​

const book = client.newSubscription("orderbook:BTCTMN@sellDepth");
book.on("publication", (ctx) => renderSellDepth(ctx.data));
book.subscribe();

نمونه پاسخ دریافتی​

پس از عضویت، هر اسنپ‌شات جدید در رویداد publication به شما تحویل داده می‌شود و بدنه‌ی آن در ctx.data قرار دارد.

فیلدنوعتوضیح
quantityNumberمقدار سفارش
priceNumberقیمت هر واحد
sumNumberمجموع مقدار سفارش
[
{ "quantity": 255.75, "price": 82131, "sum": 21005003.25 },
{ "quantity": 103.07, "price": 82083, "sum": 8460294.81 },
{ "quantity": 139.05, "price": 82066, "sum": 11411277.3 }
]

نکته‌ها​

  • توجه داشته باشید که عضو شدن در این کانال وضعیت فعلی عمق بازار را برای شما ارسال نمی‌کند و اولین پیام زمانی می‌رسد که عمق بازار تغییر کند.
  • این کانال تاریخچه نگه نمی‌دارد، بنابراین اسنپ‌شات‌هایی که در زمان قطعی اتصال منتشر شده‌اند دوباره ارسال نمی‌شوند.
  • پاسخ دادن به ping سرور توسط SDK انجام می‌شود. جزئیات در اتصال و عضویت آمده است.

ورژن ۲ (سنتریفیگو) بدون SDK​

آدرس اتصال WebSocket​

برای اتصال باید از آدرس زیر استفاده کنید.

wss://api.wallex.ir/connection/websocket

نام کانال​

می‌توانید هر مارکتی را جایگزین <SYMBOL> قرار دهید.

orderbook:<SYMBOL>@sellDepth

فرمت پیام Subscribe​

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

{ "id": 3, "subscribe": { "channel": "orderbook:BTCTMN@sellDepth" } }

پاسخ موفق این دستور خالی می‌باشد و اسنپ‌شات فعلی را همراه خود ندارد.

{ "id": 3, "subscribe": {} }

نمونه پاسخ دریافتی​

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

فیلدنوعتوضیح
quantityNumberمقدار سفارش
priceNumberقیمت هر واحد
sumNumberمجموع مقدار سفارش
{
"push": {
"channel": "orderbook:BTCTMN@sellDepth",
"pub": {
"data": [{ "quantity": 255.75, "price": 82131, "sum": 21005003.25 }]
}
}
}

نکته‌ها​

  • توجه داشته باشید که عضو شدن در این کانال وضعیت فعلی عمق بازار را برای شما ارسال نمی‌کند و اولین پیام زمانی می‌رسد که عمق بازار تغییر کند.
  • این کانال تاریخچه نگه نمی‌دارد، بنابراین اسنپ‌شات‌هایی که در زمان قطعی اتصال منتشر شده‌اند دوباره ارسال نمی‌شوند.
  • پاسخ دادن به ping سرور بر عهده‌ی خود شما می‌باشد. جزئیات در اتصال بدون SDK آمده است.