WebSocket API Reference

הזרמת נתונים בזמן אמת עבור פוזיציות לווייתנים, שיעורי מימון, נזילות וציוני אישור של AI. השהייה תת-שנייה עם חיבור אוטומטי מחדש, דחיסת נתונים יעילה ומנויים מרובי זרמים.

סקירה כללית

ה-WebSocket API מספק תקשורת דו-כיוונית בעלת השהייה נמוכה עבור נתוני נגזרות קריפטו בזמן אמת. במקום לשלוח בקשות REST כל 5-30 שניות, חיבורי WebSocket מספקים עדכונים מיידיים כאשר תנאי השוק משתנים. מושלם עבור בוטים מסחריים, מערכות התרעה ולוחות מחוונים בזמן אמת.

יתרונות מרכזיים של WebSocket לעומת REST:

השהייה תת-שנייה לאירועים שמניעים את השוק (נזילות, תנועות לווייתנים)
שימוש יעיל ברוחב הפס עם עדכונים מקודדים בדלתא
מנויים מרובים בו-זמנית בחיבור יחיד
סינון וצבירה בצד השרת
טיפול אוטומטי בפעימות לב וחיבור מחדש
מספר נמוך יותר של בקשות API נגד המכסה שלך
חיבורי WebSocket זמינים לכל דרגות ה-API. משתמשים בדרגה החינמית יכולים להירשם לזרמי שיעורי מימון ונזילות. דרגות Trader ו-Pro פותחות את פוזיציות הלווייתנים, הריבית הפתוחה וציוני האישור.

אימות

חיבורי WebSocket משתמשים באותו אימות כמו נקודות קצה REST. העבירו את מפתח ה-API שלכם כפרמטר שאילתה או שלחו אותו בהודעה הראשונה לאחר החיבור.

כתובת URL לחיבור

כתובת WebSocket בסיסית: wss://ws.smartmoneyapi.com/stream

כלול את מפתח ה-API שלך בכתובת ה-URL לחיבור:

URL
wss://ws.smartmoneyapi.com/stream?token=sk_live_abc123xyz789

מחזור חיים של חיבור

חיבור ראשוני

כאשר אתה מתחבר לנקודת הקצה של WebSocket, השרת מאמת את אסימון האימות שלך ושולח אישור חיבור.

תגובת שרת (JSON)
{ "type": "connection_ack", "connection_id": "conn_1a2b3c4d5e6f7g8h", "server_version": "1.2.4", "timestamp": "2026-03-21T14:35:22Z", "api_tier": "pro", "max_subscriptions": 50, "max_symbols_per_sub": 100 }

פעימת לב (Ping/Pong)

השרת שולח פעימות לב ping תקופתיות כל 30 שניות. הלקוח שלך חייב להגיב עם הודעת pong כדי לשמור על החיבור פעיל. אם השרת לא מקבל תגובת pong תוך 10 שניות, החיבור ייסגר.

JavaScript
const ws = new WebSocket("wss://ws.smartmoneyapi.com/stream?token=sk_live_abc123xyz789"); ws.onmessage = (event) => { const msg = JSON.parse(event.data); if (msg.type === "ping") { // הגב ל-ping עם pong ws.send(JSON.stringify({ type: "pong", id: msg.id })); } }; ws.onopen = () => { console.log("Connected to WebSocket"); };

מנויים

לאחר החיבור, הירשם לזרמי נתונים באמצעות הודעות מנוי. כל מנוי מייצר עדכונים בכל פעם שנתוני השוק משתנים.

פורמט הודעת מנוי

JSON
{ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"], "params": { "min_position_size": 10, "exchanges": ["bybit", "binance"] } }

פורמט הודעת ביטול מנוי

JSON
{ "type": "unsubscribe", "channel": "whale_positions", "symbols": ["BTCUSDT"] }

זרם פוזיציות לווייתנים

עדכונים בזמן אמת עבור פוזיציות גדולות של לווייתנים בכל הסמלים והבורסות המעקב. עדכונים נשלחים כאשר לווייתנים פותחים, סוגרים או משנים פוזיציות. כולל מחיר כניסה, מחיר נוכחי, רווח והפסד, מינוף וסיכון נזילות.

JSON — הירשם
{ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

הודעת עדכון

JSON — עדכון
{ "type": "data", "channel": "whale_positions", "symbol": "BTCUSDT", "data": { "wallet_address": "0x1234...", "exchange": "bybit", "direction": "long", "position_size": 25.3, "entry_price": 41200.0, "current_price": 43200.5, "pnl": 50701.50, "pnl_percent": 4.86, "leverage": 8, "liquidation_price": 33760.0, "timestamp": "2026-03-21T14:35:45Z" } }

זרם שיעורי מימון

עדכוני שיעורי מימון בזמן אמת ב-Bybit, Binance ו-Hyperliquid. עדכונים כל דקה או בכל פעם שהשיעורים משתנים באופן משמעותי. כולל שיעורי בורסה בודדים ומדדים מצטברים.

JSON — הירשם
{ "type": "subscribe", "channel": "funding_rates", "symbols": ["BTCUSDT", "ETHUSDT"] }

הודעת עדכון

JSON — עדכון
{ "type": "data", "channel": "funding_rates", "symbol": "BTCUSDT", "data": { "timestamp": "2026-03-21T14:00:00Z", "bybit": { "rate": 0.000120, "next_rate": 0.000145 }, "binance": { "rate": 0.000098, "next_rate": 0.000115 }, "hyperliquid": { "rate": 0.000140, "next_rate": 0.000160 }, "aggregated": { "mean": 0.000119, "median": 0.000120, "spread": 0.000062 } } }

זרם נזילות

פיד נזילות בזמן אמת המציג סגירות כפויות של פוזיציות ממונפות. כולל גודל פוזיציה, מחיר נזילות, כיוון (long/short) ובורסה. שימושי לזיהוי מפולות נזילות ותנועות שוק בעלות השפעה גבוהה.

JSON — הירשם
{ "type": "subscribe", "channel": "liquidations", "params": { "min_size_usd": 50000 } }

הודעת עדכון

JSON — עדכון
{ "type": "data", "channel": "liquidations", "data": { "exchange": "binance", "symbol": "BTCUSDT", "direction": "long", "position_size": 12.5, "liquidation_price": 41000.0, "size_usd": 512500.0, "timestamp": "2026-03-21T14:35:12Z" } }

זרם ריבית פתוחה

ריבית פתוחה מצטברת עבור כל הסוחרים הממונפים בכל סמל. עקוב אחר עליות בריבית הפתוחה (יותר כסף נכנס למינוף) וירידות (פוזיציות נסגרות). הבדל בריבית הפתוחה מתנועת המחיר מזהה תשישות שורית/דובית נסתרת.

JSON — הירשם
{ "type": "subscribe", "channel": "open_interest", "symbols": ["BTCUSDT", "ETHUSDT"] }

זרם ציוני אישור

ציוני אישור AI בזמן אמת המשולבים עם פוזיציות לווייתנים, אותות על-שרשרת, שיעורי מימון ונתוני סנטימנט. הציונים מתעדכנים בכל פעם שהאותות הבסיסיים משתנים, ומספקים אותות כניסה/יציאה חיים לאלגוריתמי מסחר.

JSON — הירשם
{ "type": "subscribe", "channel": "confirmation_scores", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

לוגיקת חיבור מחדש אוטומטי

בעיות רשת או תחזוקת שרת עלולות לגרום לניתוקים. יישם לוגיקת חיבור מחדש עם השהייה מעריכית כדי להתאושש אוטומטית מכשלים תוך כיבוד עומס השרת.

אסטרטגיית חיבור מחדש מומלצת

JavaScript
class SmartMoneyWebSocket { constructor(token, options = {}) { this.token = token; this.maxReconnectDelay = options.maxReconnectDelay || 30000; this.reconnectDelay = 1000; this.subscriptions = new Map(); this.connect(); } connect() { this.ws = new WebSocket( `wss://ws.smartmoneyapi.com/stream?token=${this.token}` ); this.ws.onopen = () => { console.log("Connected"); this.reconnectDelay = 1000; // Reset backoff this.resubscribe(); // Re-subscribe after reconnect }; this.ws.onmessage = (event) => { const msg = JSON.parse(event.data); if (msg.type === "ping") { this.ws.send(JSON.stringify({ type: "pong", id: msg.id })); } this.onMessage(msg); }; this.ws.onclose = () => this.reconnect(); this.ws.onerror = (err) => console.error("WebSocket error:", err); } reconnect() { console.log(`Reconnecting in ${this.reconnectDelay}ms`); setTimeout(() => { this.connect(); this.reconnectDelay = Math.min( this.reconnectDelay * 1.5, this.maxReconnectDelay ); }, this.reconnectDelay); } subscribe(channel, symbols, params) { const key = `${channel}:${symbols.join(",")}`; this.subscriptions.set(key, { channel, symbols, params }); this.ws.send(JSON.stringify({ type: "subscribe", channel, symbols, params })); } resubscribe() { for (const { channel, symbols, params } of this.subscriptions.values()) { this.ws.send(JSON.stringify({ type: "subscribe", channel, symbols, params })); } } onMessage(msg) { if (msg.type === "data") { console.log(`Update: ${msg.channel}/${msg.symbol}`, msg.data); } } } const client = new SmartMoneyWebSocket("sk_live_abc123xyz789"); client.subscribe("whale_positions", ["BTCUSDT", "ETHUSDT"]); client.subscribe("funding_rates", ["BTCUSDT"]); client.subscribe("liquidations", [], { min_size_usd: 100000 });

דוגמאות קוד

לקוח WebSocket ב-Python

Python
import asyncio import json import websockets async def stream_whale_positions(): uri = "wss://ws.smartmoneyapi.com/stream?token=sk_live_abc123xyz789" async with websockets.connect(uri) as websocket: # Wait for connection ack ack = await websocket.recv() print(f"Connected: {ack}") # Subscribe to whale positions await websocket.send(json.dumps({ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"] })) # Listen for updates while True: try: msg = await websocket.recv() data = json.loads(msg) if data["type"] == "ping": # Respond to ping await websocket.send(json.dumps({ "type": "pong", "id": data["id"] })) elif data["type"] == "data": print(f"New position: {data['data']}") except websockets.exceptions.ConnectionClosed: print("Connection closed, reconnecting...") await asyncio.sleep(1) asyncio.run(stream_whale_positions())

טיפים לביצועים

סנן בהרשמה: השתמש באובייקט params כדי לסנן נתונים בצד השרת (min_position_size, min_size_usd) במקום לסנן ביישום שלך.
מנויים מרוכזים: הירשם למספר סמלים בהודעה אחת במקום מנוי אחד לכל סמל.
בטל מנויים לא בשימוש: כאשר אינך זקוק יותר לזרם, בטל את המנוי כדי לחסוך ברוחב הפס ולהפחית את נפח ההודעות.
השתמש בדחיסת gzip: הפעל דחיסת הודעות בלקוח ה-WebSocket שלך לחיסכון ברוחב הפס (הפחתה של 20-40%).
עקוב אחר בריאות החיבור: עקוב אחר השהיית ping/pong וחיבורים מחדש אוטומטיים כדי לאבחן בעיות רשת.
צור הודעות במהלך ניתוק: כאשר החיבור נופל, צור תור של אותות אסטרטגיה ובצע אותם כאשר מתחבר מחדש.

התחל להזרים עכשיו

קבל את מפתח ה-API שלך והתחל לבנות מערכות מסחר בזמן אמת. סטרימינג דרך WebSocket זמין בכל הרמות.

קבל מפתח API

בנה מערכות מסחר בזמן אמת

קבל מיקומי לווייתנים, שערי מימון וציוני אישור מבוססי AI עם השהייה של פחות משנייה.

צפה בתוכניות
התחל בחינם — 100 קריאות/יום, ללא כרטיס

קבל נתוני זרימת לווייתנים, מימון, עניין פתוח ונתוני on-chain מ-3 בורסות מממשק API אחד. רמה חינמית, ללא כרטיס אשראי, שדרג בכל עת.

התחל בחינם →
נסה את קונסולת ה-API החיה → (לא נדרש חשבון)
קבל את מפתח ה-API שלך תוך 30 שניות

מוכן לבנות? קבל מפתח API חינמי (100 קריאות/יום, ללא כרטיס) והתחל למשוך נתוני לווייתנים, מימון ו-on-chain חיים.

קבל את מפתח ה-API שלך →