Webhook Implementálási Útmutató

Regisztráljon egy HTTPS URL-t és kapjon valós idejű, HMAC-aláírt eseményértesítéseket, amikor a smart-money jelek aktiválódnak — nincs lekérdezés. Ez az útmutató a regisztrációt, eseményszűrést, aláírás-ellenőrzést és az újrapróbálkozási viselkedést fedi le.

Áttekintés

A lekérdezés helyett /v1/confirm vagy a jel feed helyett regisztráljon egy webhookot, és a Smart Money API POST kéréssel küld egy eseményt az Ön végpontjára, amikor egy illeszkedő jel aktiválódik. Minden kézbesítés HMAC-SHA256 aláírással ellátott, így ellenőrizheti, hogy valóban tőlünk származik-e.

A kimenő webhookok a Pro és Enterprise csomagokban elérhetők.

Webhook Regisztrálása

POST kérés küldése a következőre /v1/webhooks az API kulccsal a X-API-Key fejlécben. A törzsnek négy mezőt kell tartalmaznia:

MezőTípusLeírás
urlstringHTTPS végpont az események fogadásához (el kell kezdődnie https://)
eventsarrayFogadni kívánt eseménynevek, pl. ["HIGH","MEDIUM","VETO"] vagy ["*"]
symbolsarraySzűrni kívánt szimbólumok, pl. ["BTC","ETH"] vagy ["*"]
secretstringAz Ön aláíró titka — legalább 16 karakter. Hash-elt formában tárolva; az eredeti értéket az Ön oldalán kell tárolni az aláírások ellenőrzéséhez.
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 regisztrálva. Tesztelés a POST /v1/webhooks/test végponttal" }

Esemény Szűrők

A kézbesítések akkor aktiválódnak, ha az esemény neve és szimbóluma megegyezik a regisztrációval. A tipikus eseménynevek a megerősítési megbízhatósági kategóriák — HIGH, MEDIUM, VETO — plusz általános SIGNAL események. Használjon ["*"] az összes esemény vagy összes szimbólum fogadásához.

Kézbesítés & Fejlécek

Minden kézbesítés egy HTTP POST kérés JSON törzzsel és a következő fejlécekkel:

FejlécÉrték
X-SmartMoney-EventAz esemény neve (pl. HIGH)
X-SmartMoney-SignatureHMAC-SHA256 hex digest a kérés törzséről (lásd alább)
Content-Typeapplication/json
User-AgentSmartMoneyAPI-Webhook/1.0
Példa payload
{ "event": "HIGH", "ts": "2026-07-01T18:22:05Z", "symbol": "BTC", "direction": "long", "confidence": "HIGH", "composite": 0.74, "webhook_id": 42 }

Válaszoljon bármilyen 2xx státusszal a nyugtázáshoz. Nem 2xx válasz (vagy időtúllépés) újrapróbálkozást vált ki.

Aláírások Ellenőrzése

Az aláírás a X-SmartMoney-Signature fejlécben egy HMAC-SHA256 hex digest a kérés törzséről. Az HMAC kulcs a regisztrált titok SHA-256 hex digestje (az Ön nyers titkát csak hash-elt formában tároljuk). Az ellenőrzéshez: származtassa a kulcsot, HMAC-olja a nyers törzset, és hasonlítsa össze konstans idővel. Utasítson el minden olyan kérést, amely nem felel meg.

Python (Flask fogadó)
import hashlib, hmac from flask import Flask, request, abort app = Flask(__name__) MY_SECRET = "a-long-random-secret-16-plus-chars" # a regisztrált érték @app.post("/webhooks/smartmoney") def receive(): raw = request.get_data() # a törzs pontos bájtjai sig = request.headers.get("X-SmartMoney-Signature", "") key = hashlib.sha256(MY_SECRET.encode()).hexdigest() # HMAC kulcs = 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() # ... reagáljon az event["event"], event["symbol"], event["composite"] eseményekre ... return "", 200
Node.js (Express fogadó)
import crypto from "crypto"; import express from "express"; const app = express(); const MY_SECRET = "a-long-random-secret-16-plus-chars"; // A nyers törzs rögzítése, hogy az aláírás ellenőrzés a pontos bájtokat használja. 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()); // ... reagáljon az eseményre ... res.status(200).end(); });
Ellenőrizze a nyers, feldolgozatlan kérés törzsét — a feldolgozott JSON újraszerializálása megváltoztathatja a bájt sorrendet vagy a szóközöket, és megtörheti az ellenőrzést.

Újrapróbálkozások

Ha a végpontja nem ad vissza 2xx státuszt (vagy időtúllép — a kézbesítési időtúllépés 10 másodperc), a Smart Money API legfeljebb 3-szor próbálkozik újra exponenciális visszatartással (kb. 1s, 4s, majd 16s). Tegye az eseménykezelőjét idempotenssé, hogy egy újraküldött esemény biztonságosan feldolgozható legyen kétszer.

Bejövő Webhookok (TradingView)

Külön küldhet egy bejövő figyelmeztetést nekünk. POST /v1/tradingview/webhook fogad egy TradingView figyelmeztetést, átfuttatja a /confirm-on, és visszaadja a megerősítést. Mivel a TradingView nem tud egyéni fejléceket küldeni, a hitelesítés a secret mezőn keresztül történik a JSON törzsben (nem X-API-Key). Küldje el secret, symbol, és direction (long/short); opcionálisan timeframe, strategy, és price.

Készen áll a valós idejű jelek beállítására?

Szerezze meg az API kulcsot
Ingyenes kezdés — 100 hívás/nap, kártya nélkül

Kapjon élő whale flow, funding, nyitott kamat és on-chain adatokat 3 tőzsdéről egy API-n keresztül. Ingyenes szint, nincs bankkártya kötelező, bármikor frissíthet.

Ingyenes kezdés →
Próbálja ki az élő API konzolt → (nincs fiók szükséges)
Szerezze meg az API kulcsot 30 másodperc alatt

Készen áll az építésre? Szerezzen egy ingyenes API kulcsot (100 hívás/nap, kártya nélkül), és kezdje el lekérni az élő whale, funding és on-chain adatokat.

Szerezze meg az API kulcsot →