diff --git a/source/includes/_websocket.md b/source/includes/_websocket.md index 75fdf84..9493ec9 100644 --- a/source/includes/_websocket.md +++ b/source/includes/_websocket.md @@ -140,14 +140,10 @@ sub.subscribe(); ```json { "asks": [ - ["35077909990", "0.009433"], - ["35078000000", "0.000274"], - ["35078009660", "0.00057"] + ["35077909990", "0.009433"], ["35078000000", "0.000274"], ["35078009660", "0.00057"] ], "bids": [ - ["35020080080", "0.185784"], - ["35020070060", "0.086916"], - ["35020030010", "0.000071"] + ["35020080080", "0.185784"], ["35020070060", "0.086916"], ["35020030010", "0.000071"] ], "lastTradePrice": "35077909990", "lastUpdate": 1726581829816 @@ -161,7 +157,16 @@ sub.subscribe(); "push": { "channel": "public:orderbook-BTCIRT", "pub": { - "data": "{\"asks\": [[\"35077909990\", \"0.009433\"], [\"35078000000\", \"0.000274\"], [\"35078009660\", \"0.00057\"]], \"bids\": [[\"35020080080\", \"0.185784\"], [\"35020070060\", \"0.086916\"], [\"35020030010\", \"0.000071\"]], \"lastTradePrice\": \"35077909990\", \"lastUpdate\": 1726581829816}", + "data": { + "asks": [ + ["35077909990", "0.009433"], ["35078000000", "0.000274"], ["35078009660", "0.00057"] + ], + "bids": [ + ["35020080080", "0.185784"], ["35020070060", "0.086916"], ["35020030010", "0.000071"] + ], + "lastTradePrice": "35077909990", + "lastUpdate": 1726581829816 + }, "offset": 989153 } } @@ -194,3 +199,82 @@ sub.subscribe(); | `lastTradePrice` | string | مبلغ آخرین معامله | "35602702700" | | `lastUpdate` | int | زمان آخرین به‌روزرسانی به فرمت یونیکس | 1726651067347 | + +

استریم معاملات

+ +کانال‌هایی با پیشوند زیر شامل معاملات بازارها هستند و با انجام هر معامله، به مشترکین پیام ارسال می‌کنند: + +**الگوی کانال‌های معاملات:** public:trades-* + + +```javascript +const sub = client.newSubscription('public:trades-BTCIRT', { delta: 'fossil' }); +sub.on('subscribed', (ctx) => { + console.log('subscribed'); +}); +sub.on('publication', (ctx) => { + console.log(ctx.data); +}); +sub.subscribe(); +``` + +> در صورتی که از SDK استفاده نمی‌کنید پیام زیر را ارسال نمایید: + +```json +{ + "id": 2, + "subscribe": { + "channel": "public:trades-BTCIRT" + } +} +``` + +> که در کنسول، پیامی که `console.log` نموده‌اید به شکل زیر خواهد بود که همان مقدار `data` می‌باشد: + +```json +{ + "time": 1728114934350, + "price": "670000000000", + "volume": "0.000001", + "type":"buy" +} +``` + +> همچنین اگر از SDK رسمی استفاده نمی‌کنید، در صورت اتصال و اشتراک صحیح، پیام‌های دریافتی از کانال به شکل زیر خواهد بود: + +```json +{ + "push": { + "channel": "public:trades-BTCIRT", + "pub": { + "data": { + "time": 1728114934350, + "price": "67000000", + "volume": "0.0112", + "type": "buy" + }, + "offset": 989153 + } + } +} +``` + + + + + +**مثال:** برای دریافت معاملات بیت‌کوین به ریال، کافیست به کانال `public:trades-BTCIRT` متصل شوید. + + +### پارامترهای پاسخ + + +| پارامتر پاسخ | نوع | توضیحات | نمونه | +|--------------|--------|------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------| +| `time` | int | زمان دقیق انجام شدن معامله با فرمت [یونیکس](https://fa.wikipedia.org/wiki/%D8%B3%D8%A7%D8%B9%D8%AA_%DB%8C%D9%88%D9%86%DB%8C%DA%A9%D8%B3) | 1728114934350 | +| `price` | string | قیمت | "67000000" | +| `volume` | string | حجم معامله | "0.0112" | +| `type` | string | نوع معامله (خرید یا فروش) | "buy" | +