מדריך ליישום Webhook

הירשם לכתובת HTTPS וקבל דחיפות אירועים חתומות ב-HMAC בזמן אמת כאשר אותות Smart Money מופעלים — ללא צורך בסקירה. מדריך זה מכסה רישום, סינון אירועים, אימות חתימות והתנהגות ניסיונות חוזרים.

סקירה כללית

במקום סקירה /v1/confirm או הזנת האותות, הירשם ל-webhook ו-Smart Money API ישלח POST של אירוע לנקודת הקצה שלך ברגע שאות מתאים מופעל. כל משלוח חתום ב-HMAC-SHA256 כך שתוכל לוודא שהוא אכן הגיע מאיתנו.

Webhooks יוצאים זמינים בתוכניות Pro ו-Enterprise.

רישום Webhook

POST ל- /v1/webhooks עם מפתח ה-API שלך ב- X-API-Key header. הגוף צריך ארבעה שדות:

שדהסוגתיאור
urlstringנקודת קצה HTTPS לקבלת אירועים (חייבת להתחיל ב- https://)
eventsarrayשמות אירועים לקבלה, למשל ["HIGH","MEDIUM","VETO"] או ["*"]
symbolsarrayסמלים לסינון, למשל ["BTC","ETH"] או ["*"]
secretstringהסוד שלך לחתימה — לפחות 16 תווים. מאוחסן כמוצפן; שמור את הערך הגולמי בצד שלך לאימות חתימות.
cURL
curl -X POST https://api.smartmoneyapi.com/v1/webhooks \ -H "X-API-Key: sm_your_key" \ -H "Content-Type: application/json" \ -d '{ "url": "https://yourapp.com/webhooks/smartmoney", "events": ["HIGH", "MEDIUM"], "symbols": ["BTC", "ETH"], "secret": "a-long-random-secret-16-plus-chars" }'
201 Created
{ "webhook_id": 42, "url": "https://yourapp.com/webhooks/smartmoney", "events": ["HIGH", "MEDIUM"], "symbols": ["BTC", "ETH"], "message": "Webhook registered. Test with POST /v1/webhooks/test" }

מסנני אירועים

משלוחים מופעלים עבור אירועים ששמם וסמלם תואמים לרישום שלך. שמות אירועים טיפוסיים הם דליי וודאות האישור — HIGH, MEDIUM, VETO — בתוספת אירועים כלליים של SIGNAL events. השתמש ב- ["*"] כדי לקבל את כל האירועים או כל הסמלים.

משלוח & כותרות

כל משלוח הוא HTTP POST עם גוף JSON וכותרות אלה:

כותרתערך
X-SmartMoney-Eventשם האירוע (למשל HIGH)
X-SmartMoney-Signatureתמצית hex של HMAC-SHA256 של גוף הבקשה (ראה למטה)
Content-Typeapplication/json
User-AgentSmartMoneyAPI-Webhook/1.0
דוגמה למטען
{ "event": "HIGH", "ts": "2026-07-01T18:22:05Z", "symbol": "BTC", "direction": "long", "confidence": "HIGH", "composite": 0.74, "webhook_id": 42 }

השב עם כל 2xx status כדי לאשר. תגובה שאינה 2xx (או timeout) תפעיל ניסיון חוזר.

אימות חתימות

החתימה ב- X-SmartMoney-Signature היא תמצית hex של HMAC-SHA256 של גוף הבקשה. ה- מפתח HMAC הוא תמצית hex של SHA-256 של הסוד שרשמת (הסוד הגולמי שלך מאוחסן רק כמוצפן בצד שלנו). לאימות: הפיק את המפתח, חשב את ה-HMAC של הגוף הגולמי והשווה עם בדיקת זמן קבוע. דחה כל בקשה שנכשלת.

Python (מקבל Flask)
import hashlib, hmac from flask import Flask, request, abort app = Flask(__name__) MY_SECRET = "a-long-random-secret-16-plus-chars" # הערך שרשמת @app.post("/webhooks/smartmoney") def receive(): raw = request.get_data() # בתים מדויקים של הגוף sig = request.headers.get("X-SmartMoney-Signature", "") key = hashlib.sha256(MY_SECRET.encode()).hexdigest() # מפתח HMAC = sha256(secret) hex expected = hmac.new(key.encode(), raw, hashlib.sha256).hexdigest() if not hmac.compare_digest(expected, sig): abort(401) event = request.get_json() # ... פעל לפי event["event"], event["symbol"], event["composite"] ... return "", 200
Node.js (מקבל Express)
import crypto from "crypto"; import express from "express"; const app = express(); const MY_SECRET = "a-long-random-secret-16-plus-chars"; // לכידת הגוף הגולמי כך שבדיקת החתימה תשתמש בבתים המדויקים. app.post("/webhooks/smartmoney", express.raw({ type: "*/*" }), (req, res) => { const sig = req.get("X-SmartMoney-Signature") || ""; const key = crypto.createHash("sha256").update(MY_SECRET).digest("hex"); const expected = crypto.createHmac("sha256", key).update(req.body).digest("hex"); const ok = expected.length === sig.length && crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(sig)); if (!ok) return res.status(401).end(); const event = JSON.parse(req.body.toString()); // ... פעל לפי event ... res.status(200).end(); });
אמת כנגד הגוף הגולמי, הלא מנותח של הבקשה — סידור מחדש של JSON מנותח יכול לשנות את סדר הבתים או הרווחים ולשבור את הבדיקה.

ניסיונות חוזרים

אם נקודת הקצה שלך לא מחזירה 2xx (או מתוזמנת — זמן ההמתנה למשלוח הוא 10 שניות), Smart Money API ינסה שוב עד 3 פעמים עם השהייה מעריכית (בערך 1 שנייה, 4 שניות, ואז 16 שניות). הפוך את המטפל שלך לאידיומטי כך שניתן לעבד אירוע שנשלח מחדש בבטחה פעמיים.

Webhooks נכנסים (TradingView)

בנפרד, אתה יכול לשלוח נכנס התראה אלינו. POST /v1/tradingview/webhook מקבל התראת TradingView, מריץ אותה דרך /confirm, ומחזיר את האישור. מכיוון ש-TradingView לא יכול לשלוח כותרות מותאמות אישית, הוא מאמת דרך secret שדה בגוף ה-JSON (לא X-API-Key). שלח secret, symbol, ו direction (long/short); אופציונלי timeframe, strategy, ו price.

מוכן לחווט אותות בזמן אמת?

קבל את מפתח ה-API שלך
התחל בחינם — 100 קריאות/יום, ללא כרטיס

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

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

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

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