Skip to content

Commit a1360ea

Browse files
feat(doc): add new websocket channels (#328)
1 parent 3b0bee2 commit a1360ea

1 file changed

Lines changed: 166 additions & 17 deletions

File tree

source/includes/_websocket.md

Lines changed: 166 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<h1 id="websocket">وب‌سوکت (آزمایشی)</h1>
1+
<h1 id="websocket">وب‌سوکت</h1>
22

33

44
نوبیتکس برای ارائه اطلاعات لحظه‌ای به کاربران، از وب‌سوکت استفاده می‌کند. این سرویس با استفاده از سرور **Centrifugo** پیاده‌سازی شده است که برای زبان‌های مختلف، **SDK**های متنوعی ارائه می‌دهد تا بتوانید به راحتی در کلاینت‌های خود به وب‌سوکت متصل شوید.
@@ -207,7 +207,7 @@ client.connect();
207207
</aside>
208208

209209

210-
<h2 id="websocket-orderbook">استریم لیست سفارش‌ها: اردربوک</h2>
210+
<h2 id="websocket-orderbook">کانال لیست سفارش‌ها: اردربوک</h2>
211211

212212

213213
کانال‌هایی با پیشوند زیر شامل اطلاعات **اردربوک** هستند و با هر تغییری در اردربوک، به مشترکین پیام ارسال می‌کنند:
@@ -304,7 +304,7 @@ sub.subscribe();
304304

305305

306306

307-
<h2 id="websocket-candle">استریم آمار OHLC بازار نوبیتکس</h2>
307+
<h2 id="websocket-candle">کانال آمار OHLC بازار نوبیتکس</h2>
308308

309309
برای توضیحات بیشتر در مورد OHLC به [این لینک](https://en.wikipedia.org/wiki/Open-high-low-close_chart) مراجعه کنید.<br><br>
310310

@@ -407,30 +407,179 @@ sub.subscribe();
407407
| `c` | float | قیمت پایانی | <code dir="ltr">6238031033.0</code> |
408408
| `v` | float | حجم معاملات | <code dir="ltr">1.26</code> |
409409

410+
<h2 id="public-trades">کانال‌ عمومی معاملات</h2>
411+
در این کانال تمامی معاملات صورت گرفته در یک بازار منتشر می‌شود.
410412

411-
<h2 id="private-trades">معاملات کاربر</h2>
413+
**الگوی کانال‌های عمومی معاملات :** <code dir="ltr">public:trades-{marketSymbol}</code>
412414

415+
> نمونه پیام ارسالی در کانال‌های عمومی معاملات:
413416
414-
الگوی کانال معاملات کاربر به این صورت می باشد.
417+
```json
418+
{
419+
"price": "120000000000",
420+
"time": 1762781164192,
421+
"type": "sell",
422+
"volume": "0.000003"
423+
}
424+
```
415425

416-
**الگوی کانال معاملات کاربر:** <code dir="ltr">private:trades#{websocketAuthParam}</code>
426+
### پارامترهای پاسخ
427+
| پارامتر پاسخ | نوع | توضیحات | نمونه |
428+
|--------------|----------|-------------|---------------------------------------------------------|
429+
| price | monetary | قیمت معامله | <code dir="ltr">12000.129</code> |
430+
| time | int | زمان معامله | <code dir="ltr">1762781164192</code> |
431+
| type | string | نوع معامله | <code dir="ltr">sell</code>, <code dir="ltr">buy</code> |
432+
| volume | monetary | حجم معامله | <code dir="ltr">13.002</code> |
417433

418-
به محض انجام شدن هر معامله‌ای برای کاربر، اطلاعات معامله در این کانال برای کاربر پابلیش می شود.
419434

435+
<h2 id="public-market-stats">کانال‌ وضعیت بازارها</h2>
436+
در این کانال‌ها اطلاعات کلی مربوط به وضعیت بازارها طی ۲۴ ساعت اخیر منتشر می‌شود.
420437

421-
**توجه:پارامتر
422-
<code>{websocketAuthParam}</code>
423-
را می توانید از بخش [پروفایل](#user-profile) دریافت کنید.**
438+
**الگوی کانال‌های‌ وضعیت تک بازار :** <code dir="ltr">public:market-stats-{marketSymbol}</code>
424439

440+
**کانال‌ وضعیت تمامی بازارها :** <code dir="ltr">public:market-stats-all</code>
425441

442+
> نمونه پیام ارسالی در کانال‌های وضعیت تک بازار:
426443
427-
<aside class="notice">
428-
پارامتر <code>{websocketAuthParam}</code> مقداری ثابت است و در طول زمان تغییر نمی کند، نیازی بروز رسانی و رفرش کردن آن نیست.
429-
</aside>
444+
``` json
445+
{
446+
"isClosed": false,
447+
"bestSell": "121073861950",
448+
"bestBuy": "120000000000",
449+
"volumeSrc": "0.000185131782",
450+
"volumeDst": "21590044.0170869949",
451+
"latest": "114879999920",
452+
"mark": "123288285750",
453+
"dayLow": "110850000360",
454+
"dayHigh": "121073861950",
455+
"dayOpen": "121073861910",
456+
"dayClose": "114879999920",
457+
"dayChange": "-5.12"
458+
}
459+
```
460+
461+
### پارامترهای پاسخ
462+
463+
| پارامتر پاسخ | نوع | توضیحات | نمونه |
464+
|--------------|----------|---------------------------------|-------------------------------|
465+
| isClosed | bool | باز یا بسته بودن بازار | <code dir="ltr">true</code> |
466+
| bestSell | monetary | بهترین قیمت فروش فعلی | <code dir="ltr">1000</code> |
467+
| bestBuy | monetary | بهترین قیمت خرید فعلی | <code dir="ltr">1000</code> |
468+
| volumeSrc | monetary | حجم معاملات ۲۴ ساعت اخیر | <code dir="ltr">13.002</code> |
469+
| volumeDst | monetary | ارزش معاملات ۲۴ ساعت اخیر | <code dir="ltr">13002</code> |
470+
| latest | monetary | آخرین قیمت معامله شده | <code dir="ltr">1002</code> |
471+
| mark | monetary | قیمت معیار فعلی | <code dir="ltr">1002</code> |
472+
| dayLow | monetary | کمترین قیمت ۲۴ ساعت اخیر | <code dir="ltr">800</code> |
473+
| dayHigh | monetary | بیشترین قیمت ۲۴ ساعت اخیر | <code dir="ltr">1200</code> |
474+
| dayOpen | monetary | نخستین قیمت ۲۴ ساعت اخیر | <code dir="ltr">800</code> |
475+
| dayClose | monetary | آخرین قیمت ۲۴ ساعت اخیر | <code dir="ltr">1200</code> |
476+
| dayChange | float | درصد تغییر قیمت طی ۲۴ ساعت اخیر | <code dir="ltr">-2.12</code> |
477+
478+
479+
> نمونه پیام ارسالی در کانال‌ وضعیت تمامی بازارها:
480+
481+
```json
482+
{
483+
"btc-irt": {
484+
"isClosed": false,
485+
"bestSell": "121073861950",
486+
"bestBuy": "120000000000",
487+
"volumeSrc": "0.000185131782",
488+
"volumeDst": "21590044.0170869949",
489+
"latest": "114879999920",
490+
"mark": "123288285750",
491+
"dayLow": "110850000360",
492+
"dayHigh": "121073861950",
493+
"dayOpen": "121073861910",
494+
"dayClose": "114879999920",
495+
"dayChange": "-5.12"
496+
},
497+
"usdt-irt": {
498+
"isClosed": false,
499+
"bestSell": "121073861950",
500+
"bestBuy": "120000000000",
501+
"volumeSrc": "0.000185131782",
502+
"volumeDst": "21590044.0170869949",
503+
"latest": "114879999920",
504+
"mark": "123288285750",
505+
"dayLow": "110850000360",
506+
"dayHigh": "121073861950",
507+
"dayOpen": "121073861910",
508+
"dayClose": "114879999920",
509+
"dayChange": "-5.12"
510+
}
511+
}
512+
```
513+
514+
<h2 id="private-orders">کانال خصوصی سفارشات کاربر</h2>
515+
در این کانال تمامی رخدادهای مربوط به سفارشات کاربر منتشر می‌شود.
516+
517+
**الگوی کانال سفارشات کاربر:** <code dir="ltr">private:orders#{websocketAuthParam}</code>
518+
519+
سابسکرایب به این کانال نیازمند احراز هویت از طریق [توکن](#websocket-token) است.
520+
521+
522+
### پارامترهای پیام
523+
524+
> پیام‌های ارسالی کانال به این صورت خواهد بود:
525+
526+
```json
527+
{
528+
"amount": "0.0002",
529+
"avgFilledPrice": "114879999920",
530+
"clientOrderId": null,
531+
"dstCurrency": "rls",
532+
"eventTime": 1762779011366,
533+
"fee": "0.00000031",
534+
"filledAmount": "0.0002",
535+
"lastFillTime": 1762779011258,
536+
"marketType": "Spot",
537+
"orderId": 278339,
538+
"orderType": "Market",
539+
"param1": null,
540+
"price": null,
541+
"side": "Buy",
542+
"srcCurrency": "btc",
543+
"status": "Done",
544+
"tradeAmount": "0.0002",
545+
"tradeId": 92547,
546+
"tradePrice": "114879999920"
547+
}
548+
```
549+
550+
| فیلد | نوع | توضیحات | نمونه |
551+
|-------------|----------|------------------------------------|-------------------|
552+
| amount | monetary | حجم سفارش | `3.002` |
553+
| avgFilledPrice | monetary | ارزش پر شده‌ سفارش (ریالی یا تتری) | `520305923` |
554+
| clientOrderId | string | شناسه پیگیری کاربر | `1032` |
555+
| dstCurrency | string | ارز مقصد سفارش | `rls`, `usdt` |
556+
| eventTime | int | زمان انجام رخداد | `1762779011258` |
557+
| fee | monetary | کارمزد سفارش | `1.02` |
558+
| filledAmount | monetary | حجم پر شده سفارش | `2.7812` |
559+
| lastFillTime | int | زمان آخرین ترید (nullable) | `1762779011258` |
560+
| marketType | string | نوع بازار سفارش‌گذاری | `Spot`, `Margin` |
561+
| orderId | int | شناسه سفارش | `47150` |
562+
| orderType | string | نوع سفارش | `Market`, `Limit` |
563+
| param1 | monetary | | `47150.7989334` |
564+
| price | monetary | قیمت سفارش (nullable) | `47150.7989334` |
565+
| side | string | جهت سفارش | `Buy`, `Sell` |
566+
| srcCurrency | monetary | ارز مبدا سفارش | `btc` |
567+
| status | string | وضعیت سفارش | `Done` |
568+
| tradeAmount | monetary | حجم آخرین ترید (nullable) | `0.002` |
569+
| tradeId | int | شناسه آخرین ترید (nullable) | `65451` |
570+
| tradePrice | monetary | قیمت آخرین ترید (nullable) | `47150.7989334` |
571+
572+
573+
574+
<h2 id="private-trades">کانال خصوصی معاملات کاربر</h2>
575+
به محض انجام شدن هر معامله‌ای برای کاربر، اطلاعات معامله در این کانال برای کاربر منتشر می شود.
576+
577+
578+
**الگوی کانال معاملات کاربر:** <code dir="ltr">private:trades#{websocketAuthParam}</code>
579+
580+
581+
سابسکرایب به این کانال نیازمند احراز هویت از طریق [توکن](#websocket-token) است.
430582

431-
<aside class="notice">
432-
سابسکرایب کردن به این کانال نیاز به احراز هویت از طریق token دارد.
433-
</aside>
434583

435584

436585

@@ -487,7 +636,7 @@ sub.subscribe();
487636
}
488637
```
489638

490-
### پارامتر پیام
639+
### پارامترهای پیام
491640

492641
| فیلد | نوع | توضیحات | نمونه |
493642
|-------------|----------|--------------------|------------------------------------|

0 commit comments

Comments
 (0)