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

دریافت معاملات انجام‌شده​

کانال معاملات، اطلاعات لحظه‌ای مربوط به معاملات انجام‌شده در بازار انتخاب‌شده را فراهم می‌کند. این داده‌ها برای تحلیل رفتار بازار، ساخت نمودار تیک (Tick Chart) و الگوریتم‌های معاملاتی با حساسیت بالا نسبت به قیمت بسیار کاربردی می‌باشند.

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

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

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

منسوخ شده

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

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

آدرس اتصال WebSocket​

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

wss://api.wallex.ir/ws

فرمت پیام Subscribe​

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

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

مثال

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

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

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

فیلدنوعتوضیح
isBuyOrderBooleanنشان می‌دهد کدام سفارش میکر بوده است، یعنی از قبل در دفتر سفارش‌ها قرار داشته است. true یعنی سفارش خرید میکر بوده و معامله با یک سفارش فروش انجام شده است. false یعنی سفارش فروش میکر بوده و معامله با یک سفارش خرید انجام شده است.
quantityString (decimal)مقدار معامله‌شده
priceString (decimal)قیمت انجام معامله
timestampISO 8601 Stringزمان دقیق انجام معامله

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

[
"BTCTMN@trade",
{
"isBuyOrder": true,
"quantity": "0.000243",
"price": "15791249224",
"timestamp": "2026-08-25T16:38:23Z"
}
]

نکته‌ها​

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

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

آدرس اتصال WebSocket​

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

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

نام کانال​

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

public:<SYMBOL>@trade

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

const trades = client.newSubscription("public:BTCTMN@trade");
trades.on("publication", (ctx) => console.log(ctx.data));
trades.subscribe();

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

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

فیلدنوعتوضیح
isBuyOrderBooleanنشان می‌دهد کدام سفارش میکر بوده است، یعنی از قبل در دفتر سفارش‌ها قرار داشته است. true یعنی سفارش خرید میکر بوده و معامله با یک سفارش فروش انجام شده است. false یعنی سفارش فروش میکر بوده و معامله با یک سفارش خرید انجام شده است.
quantityString (decimal)مقدار معامله‌شده
priceString (decimal)قیمت انجام معامله
timestampISO 8601 Stringزمان دقیق انجام معامله
{
"isBuyOrder": true,
"quantity": "0.000243",
"price": "15791249224",
"timestamp": "2026-08-25T16:38:23Z"
}

نکته‌ها​

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

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

آدرس اتصال WebSocket​

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

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

نام کانال​

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

public:<SYMBOL>@trade

فرمت پیام Subscribe​

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

{ "id": 2, "subscribe": { "channel": "public:BTCTMN@trade" } }

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

{ "id": 2, "subscribe": {} }

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

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

فیلدنوعتوضیح
isBuyOrderBooleanنشان می‌دهد کدام سفارش میکر بوده است، یعنی از قبل در دفتر سفارش‌ها قرار داشته است. true یعنی سفارش خرید میکر بوده و معامله با یک سفارش فروش انجام شده است. false یعنی سفارش فروش میکر بوده و معامله با یک سفارش خرید انجام شده است.
quantityString (decimal)مقدار معامله‌شده
priceString (decimal)قیمت انجام معامله
timestampISO 8601 Stringزمان دقیق انجام معامله
{
"push": {
"channel": "public:BTCTMN@trade",
"pub": {
"data": {
"isBuyOrder": true,
"quantity": "0.000243",
"price": "15791249224",
"timestamp": "2026-08-25T16:38:23Z"
}
}
}
}

نکته‌ها​

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