|
1 | | -<h1 id="websocket">وبسوکت (آزمایشی)</h1> |
| 1 | +<h1 id="websocket">وبسوکت</h1> |
2 | 2 |
|
3 | 3 |
|
4 | 4 | نوبیتکس برای ارائه اطلاعات لحظهای به کاربران، از وبسوکت استفاده میکند. این سرویس با استفاده از سرور **Centrifugo** پیادهسازی شده است که برای زبانهای مختلف، **SDK**های متنوعی ارائه میدهد تا بتوانید به راحتی در کلاینتهای خود به وبسوکت متصل شوید. |
@@ -207,7 +207,7 @@ client.connect(); |
207 | 207 | </aside> |
208 | 208 |
|
209 | 209 |
|
210 | | -<h2 id="websocket-orderbook">استریم لیست سفارشها: اردربوک</h2> |
| 210 | +<h2 id="websocket-orderbook">کانال لیست سفارشها: اردربوک</h2> |
211 | 211 |
|
212 | 212 |
|
213 | 213 | کانالهایی با پیشوند زیر شامل اطلاعات **اردربوک** هستند و با هر تغییری در اردربوک، به مشترکین پیام ارسال میکنند: |
@@ -304,7 +304,7 @@ sub.subscribe(); |
304 | 304 |
|
305 | 305 |
|
306 | 306 |
|
307 | | -<h2 id="websocket-candle">استریم آمار OHLC بازار نوبیتکس</h2> |
| 307 | +<h2 id="websocket-candle">کانال آمار OHLC بازار نوبیتکس</h2> |
308 | 308 |
|
309 | 309 | برای توضیحات بیشتر در مورد OHLC به [این لینک](https://en.wikipedia.org/wiki/Open-high-low-close_chart) مراجعه کنید.<br><br> |
310 | 310 |
|
@@ -407,30 +407,179 @@ sub.subscribe(); |
407 | 407 | | `c` | float | قیمت پایانی | <code dir="ltr">6238031033.0</code> | |
408 | 408 | | `v` | float | حجم معاملات | <code dir="ltr">1.26</code> | |
409 | 409 |
|
| 410 | +<h2 id="public-trades">کانال عمومی معاملات</h2> |
| 411 | +در این کانال تمامی معاملات صورت گرفته در یک بازار منتشر میشود. |
410 | 412 |
|
411 | | -<h2 id="private-trades">معاملات کاربر</h2> |
| 413 | +**الگوی کانالهای عمومی معاملات :** <code dir="ltr">public:trades-{marketSymbol}</code> |
412 | 414 |
|
| 415 | +> نمونه پیام ارسالی در کانالهای عمومی معاملات: |
413 | 416 |
|
414 | | -الگوی کانال معاملات کاربر به این صورت می باشد. |
| 417 | +```json |
| 418 | +{ |
| 419 | + "price": "120000000000", |
| 420 | + "time": 1762781164192, |
| 421 | + "type": "sell", |
| 422 | + "volume": "0.000003" |
| 423 | +} |
| 424 | +``` |
415 | 425 |
|
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> | |
417 | 433 |
|
418 | | -به محض انجام شدن هر معاملهای برای کاربر، اطلاعات معامله در این کانال برای کاربر پابلیش می شود. |
419 | 434 |
|
| 435 | +<h2 id="public-market-stats">کانال وضعیت بازارها</h2> |
| 436 | +در این کانالها اطلاعات کلی مربوط به وضعیت بازارها طی ۲۴ ساعت اخیر منتشر میشود. |
420 | 437 |
|
421 | | -**توجه:پارامتر |
422 | | -<code>{websocketAuthParam}</code> |
423 | | -را می توانید از بخش [پروفایل](#user-profile) دریافت کنید.** |
| 438 | +**الگوی کانالهای وضعیت تک بازار :** <code dir="ltr">public:market-stats-{marketSymbol}</code> |
424 | 439 |
|
| 440 | +**کانال وضعیت تمامی بازارها :** <code dir="ltr">public:market-stats-all</code> |
425 | 441 |
|
| 442 | +> نمونه پیام ارسالی در کانالهای وضعیت تک بازار: |
426 | 443 |
|
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) است. |
430 | 582 |
|
431 | | -<aside class="notice"> |
432 | | -سابسکرایب کردن به این کانال نیاز به احراز هویت از طریق token دارد. |
433 | | -</aside> |
434 | 583 |
|
435 | 584 |
|
436 | 585 |
|
@@ -487,7 +636,7 @@ sub.subscribe(); |
487 | 636 | } |
488 | 637 | ``` |
489 | 638 |
|
490 | | -### پارامتر پیام |
| 639 | +### پارامترهای پیام |
491 | 640 |
|
492 | 641 | | فیلد | نوع | توضیحات | نمونه | |
493 | 642 | |-------------|----------|--------------------|------------------------------------| |
|
0 commit comments