دریافت قیمت لحظهای همه بازارها
این کانال برای دریافت قیمت لحظهای تمام بازارهای فعال در والکس طراحی شده است و بهصورت پیوسته، اطلاعات قیمتی جدید را برای مارکتهایی که قیمت آنها تغییر کرده است ارسال میکند.
با استفاده از این کانال میتوانید بدون نیاز به عضویت جداگانه در هر مارکت، تغییرات قیمت همهی بازارها را در لحظه دریافت کرده و آنها را در جدولها، داشبوردها یا ویجتهای قیمت نمایش دهید.
توجه داشته باشید که پیام همهی مارکتها را دریافت میکنید، صرفنظر از اینکه کاربر در حال مشاهدهی کدام مارکت میباشد. در صورتی که فقط به چند مارکت نیاز دارید، در سمت خودتان بر اساس symbol فیلتر کنید.
جهت دریافت این کانال سه روش وجود دارد.
ورژن ۱ (منسوخ شده)
ورژن ۱ (wss://api.wallex.ir/ws) منسوخ شده است. این ورژن هنوز کار میکند، اما کانالهای جدید مانند قیمت منصفانه و کندل چارت فقط روی ورژن ۲ (سنتریفیگو) در دسترس هستند.
برای پیادهسازی جدید از ورژن ۲ استفاده کنید. برای انتقال کد فعلی، راهنمای مهاجرت را ببینید.
آدرس اتصال WebSocket
برای اتصال باید از آدرس زیر استفاده کنید.
wss://api.wallex.ir/ws
فرمت پیام Subscribe
جهت دریافت قیمت تمامی کوینها باید پیام خود را در قالب زیر ارسال کنید.
["subscribe", { "channel": "all@price" }]
نمونه پاسخ دریافتی
پس از ارسال پیام در سوکت، جوابهایی که دریافت میکنید بهصورت زیر میباشد.
| فیلد | نوع | توضیح |
|---|---|---|
symbol | String | نماد بازار، مانند USDTTMN یا BTCUSDT |
price | String (decimal) | قیمت لحظهای فعلی |
24h_ch | Number | درصد تغییر قیمت در ۲۴ ساعت گذشته، با حداکثر دو رقم اعشار. اگر دادهی ۲۴ ساعت گذشته موجود نباشد، مقدار آن 0 است. |
پاسخ یک آرایهی دوتایی میباشد که عضو اول آن نام کانال و عضو دوم آن بدنهی پیام است.
[
"all@price",
{
"symbol": "USDTTMN",
"price": "199092",
"24h_ch": -0.74
}
]
نکتهها
- توجه داشته باشید که عضو شدن در این کانال هیچ قیمتی برای شما ارسال نمیکند و اولین پیام زمانی میرسد که قیمت یکی از مارکتها تغییر کند.
- محدودیتها، پیامهایی که دادهی کانال نیستند و نحوهی لغو عضویت در جزئیات ورژن ۱ (منسوخ شده) آمده است.
ورژن ۲ (سنتریفیگو) با SDK
آدرس اتصال WebSocket
برای اتصال باید از آدرس زیر استفاده کنید.
wss://api.wallex.ir/connection/websocket
نام کانال
public:all@price
نمونه کد عضویت
const prices = client.newSubscription("public:all@price");
prices.on("publication", (ctx) => console.log(ctx.data));
prices.subscribe();
نمونه پاسخ دریافتی
پس از عضویت، هر تغییر قیمت در رویداد publication به شما تحویل داده میشود و بدنهی آن در ctx.data قرار دارد.
| فیلد | نوع | توضیح |
|---|---|---|
symbol | String | نماد بازار، مانند USDTTMN یا BTCUSDT |
price | String (decimal) | قیمت لحظهای فعلی |
24h_ch | Number | درصد تغییر قیمت در ۲۴ ساعت گذشته، با حداکثر دو رقم اعشار. اگر دادهی ۲۴ ساعت گذشته موجود نباشد، مقدار آن 0 است. |
{
"symbol": "USDTTMN",
"price": "199092",
"24h_ch": -0.74
}
نکتهها
- توجه داشته باشید که عضو شدن در این کانال هیچ قیمتی برای شما ارسال نمیکند و اولین پیام زمانی میرسد که قیمت یکی از مارکتها تغییر کند.
- این کانال تاریخچه نگه نمیدارد، بنابراین قیمتهایی که در زمان قطعی اتصال منتشر شدهاند دوباره ارسال نمیشوند.
- نام
ticker:all@priceدیگر معتبر نمیباشد و با خطای102: unknown channelرد میشود. - پاسخ دادن به ping سرور توسط SDK انجام میشود. جزئیات در اتصال و عضویت آمده است.
ورژن ۲ (سنتریفیگو) بدون SDK
آدرس اتصال WebSocket
برای اتصال باید از آدرس زیر استفاده کنید.
wss://api.wallex.ir/connection/websocket
نام کانال
public:all@price
فرمت پیام Subscribe
جهت دریافت قیمت تمامی کوینها باید دستور زیر را ارسال کنید.
{ "id": 3, "subscribe": { "channel": "public:all@price" } }
پاسخ موفق این دستور خالی میباشد.
{ "id": 3, "subscribe": {} }
نمونه پاسخ دریافتی
پس از ارسال پیام در سوکت، جوابهایی که دریافت میکنید بهصورت زیر میباشد و بدنهی پیام داخل پوشش push قرار دارد.
| فیلد | نوع | توضیح |
|---|---|---|
symbol | String | نماد بازار، مانند USDTTMN یا BTCUSDT |
price | String (decimal) | قیمت لحظهای فعلی |
24h_ch | Number | درصد تغییر قیمت در ۲۴ ساعت گذشته، با حداکثر دو رقم اعشار. اگر دادهی ۲۴ ساعت گذشته موجود نباشد، مقدار آن 0 است. |
{
"push": {
"channel": "public:all@price",
"pub": {
"data": { "symbol": "USDTTMN", "price": "199092", "24h_ch": -0.74 }
}
}
}
نکتهها
- توجه داشته باشید که عضو شدن در این کانال هیچ قیمتی برای شما ارسال نمیکند و اولین پیام زمانی میرسد که قیمت یکی از مارکتها تغییر کند.
- این کانال تاریخچه نگه نمیدارد، بنابراین قیمتهایی که در زمان قطعی اتصال منتشر شدهاند دوباره ارسال نمیشوند.
- نام
ticker:all@priceدیگر معتبر نمیباشد و با خطای102: unknown channelرد میشود. - پاسخ دادن به ping سرور بر عهدهی خود شما میباشد. جزئیات در اتصال بدون SDK آمده است.