ຄູ່ມືການປະຕິບັດ Webhook

ລົງທະບຽນ URL ແບບ HTTPS ແລະ ຮັບການສົ່ງເຫດການແບບ Real-Time ທີ່ຖືກລົງນາມໂດຍ HMAC ເມື່ອສັນຍານ Smart Money ເກີດຂຶ້ນ — ບໍ່ຕ້ອງ polling. ຄູ່ມືນີ້ຄຸ້ມຄອງການລົງທະບຽນ, ການກັ່ນຕອງເຫດການ, ການຢືນຢັນລາຍເຊັນ, ແລະ ພຶດຕິກຳການລອງໃໝ່.

ພາບລວມ

ແທນທີ່ຈະ polling /v1/confirm ຫຼື ຟີດສັນຍານ, ລົງທະບຽນ webhook ແລະ Smart Money API ຈະ POST ເຫດການໄປຫາ endpoint ຂອງທ່ານໃນທັນທີທີ່ສັນຍານທີ່ກົງກັນເກີດຂຶ້ນ. ທຸກໆການສົ່ງຈະຖືກລົງນາມໂດຍ HMAC-SHA256 ເພື່ອໃຫ້ທ່ານສາມາດຢືນຢັນວ່າມັນມາຈາກເຮົາຈິງ.

Webhooks ຂາເອົາເປັນມີໃຫ້ໃນແຜນ Pro ແລະ Enterprise.

ລົງທະບຽນ Webhook

POST ໄປຫາ /v1/webhooks ພ້ອມກັບ API key ຂອງທ່ານໃນ X-API-Key ຫົວຂໍ້. ຕ້ອງມີສີ່ຟິວດ້ານໃນ body:

ຟິວປະເພດຄຳອະທິບາຍ
urlstringEndpoint HTTPS ເພື່ອຮັບເຫດການ (ຕ້ອງເລີ່ມຕົ້ນດ້ວຍ https://)
eventsarrayຊື່ເຫດການທີ່ຈະຮັບ, ຕົວຢ່າງ ["HIGH","MEDIUM","VETO"] ຫຼື ["*"]
symbolsarrayສັນຍາລັກທີ່ຈະກັ່ນຕອງ, ຕົວຢ່າງ ["BTC","ETH"] ຫຼື ["*"]
secretstringລະຫັດລັບການລົງນາມຂອງທ່ານ — ຢ່າງໜ້ອຍ 16 ຕົວອັກສອນ. ຈະຖືກເກັບໄວ້ໃນຮູບແບບ hashed; ເກັບຄ່າດັ້ງເດີມໄວ້ທາງຝ່າຍທ່ານເພື່ອຢືນຢັນລາຍເຊັນ.
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 . ໃຊ້ ["*"] ເພື່ອຮັບເຫດການທັງໝົດຫຼືສັນຍາລັກທັງໝົດ.

ການສົ່ງ & ຫົວຂໍ້

ແຕ່ລະຄັ້ງສົ່ງແມ່ນ HTTP POST ພ້ອມກັບ body ແບບ JSON ແລະຫົວຂໍ້ເຫຼົ່ານີ້:

HeaderValue
X-SmartMoney-Eventຊື່ຂອງເຫດການ (ຕົວຢ່າງ HIGH)
X-SmartMoney-SignatureHMAC-SHA256 hex digest ຂອງຮ່າງຂໍ້ຄວາມ (ເບິ່ງຂ້າງລຸ່ມ)
Content-Typeapplication/json
User-AgentSmartMoneyAPI-Webhook/1.0
ຕົວຢ່າງ payload
{ "event": "HIGH", "ts": "2026-07-01T18:22:05Z", "symbol": "BTC", "direction": "long", "confidence": "HIGH", "composite": 0.74, "webhook_id": 42 }

ຕອບກັບດ້ວຍສະຖານະໃດ 2xx ການຕອບສະຫນອງທີ່ບໍ່ແມ່ນ 2xx (ຫຼືການຫວ່າງເວລາ) ຈະເຮັດໃຫ້ມີການລອງໃໝ້ອີກຄັ້ງ.

ການກວດສອບລາຍເຊັນ

ລາຍເຊັນໃນ X-SmartMoney-Signature ແມ່ນ HMAC-SHA256 hex digest ຂອງຮ່າງຂໍ້ຄວາມ. ຄີ HMAC ແມ່ນ SHA-256 hex digest ຂອງຄວາມລັບທີ່ທ່ານລົງທະບຽນ (ຄວາມລັບດິບຂອງທ່ານຈະຖືກເກັບໄວ້ເປັນຮາຊ໌ເທົ່ານັ້ນໃນຝ່າຍຂອງພວກເຮົາ). ເພື່ອກວດສອບ: ສ້າງຄີ, HMAC ຮ່າງຂໍ້ຄວາມດິບ, ແລະປຽບທຽບດ້ວຍການກວດສອບເວລາຄົງທີ່. ປະຕິເສດການຮ້ອງຂໍໃດໆທີ່ລົ້ມເຫລວ.

Python (Flask receiver)
import hashlib, hmac from flask import Flask, request, abort app = Flask(__name__) MY_SECRET = "a-long-random-secret-16-plus-chars" # the value you registered @app.post("/webhooks/smartmoney") def receive(): raw = request.get_data() # exact bytes of the body sig = request.headers.get("X-SmartMoney-Signature", "") key = hashlib.sha256(MY_SECRET.encode()).hexdigest() # HMAC key = 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() # ... act on event["event"], event["symbol"], event["composite"] ... return "", 200
Node.js (Express receiver)
import crypto from "crypto"; import express from "express"; const app = express(); const MY_SECRET = "a-long-random-secret-16-plus-chars"; // Capture the raw body so the signature check uses the exact bytes. 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()); // ... act on event ... res.status(200).end(); });
ກວດສອບກັບ ຮ່າງຂໍ້ຄວາມດິບ, ບໍ່ໄດ້ຖືກຈັດລຽງ ການຈັດລຽງ JSON ໃໝ້ອາດຈະປ່ຽນລຳດັບບາຍຫຼືຊ່ອງຫວ່າງ ແລະ ເຮັດໃຫ້ການກວດສອບລົ້ມເຫລວ.

ການລອງໃໝ້

ຖ້າ endpoint ຂອງທ່ານບໍ່ຕອບສະຫນອງດ້ວຍ 2xx (ຫຼືຫວ່າງເວລາ — ເວລາສົ່ງແມ່ນ 10s), Smart Money API ຈະລອງໃໝ້ອີກສູງສຸດ 3 ຄັ້ງດ້ວຍ exponential backoff (ປະມານ 1s, 4s, ຈາກນັ້ນ 16s). ເຮັດໃຫ້ handler ຂອງທ່ານເປັນ idempotent ເພື່ອໃຫ້ການສົ່ງໃໝ້ອີກຄັ້ງປອດໄພທີ່ຈະປະມວນຜົນສອງຄັ້ງ.

Inbound Webhooks (TradingView)

ຕ່າງຫາກ, ທ່ານສາມາດສົ່ງ inbound ການແຈ້ງເຕືອນມາຫາພວກເຮົາ. POST /v1/tradingview/webhook ຮັບການແຈ້ງເຕືອນຈາກ TradingView, ປະມວນຜົນຜ່ານ /confirm, ແລະ ສົ່ງການຢືນຢັນກັບມາ. ເນື່ອງຈາກ TradingView ບໍ່ສາມາດສົ່ງ header ທີ່ກຳນົດເອງ, ມັນຈະກວດສອບຜ່ານ secret ຟິວໃນຮ່າງຂໍ້ຄວາມ JSON (ບໍ່ແມ່ນ X-API-Key). ສົ່ງ secret, symbol, ແລະ direction (long/short); ທາງເລືອກ timeframe, strategy, ແລະ price.

ພ້ອມທີ່ຈະເຊື່ອມຕໍ່ສັນຍານເວລາຈິງ?

ເອົາຄີ API ຂອງທ່ານ
ເລີ່ມຟຣີ — 100 ຄຳຮ້ອງ/ມື້, ບໍ່ຕ້ອງໃຊ້ບັດ

ເອົາຂໍ້ມູນການໄຫຼຂອງ whale, funding, open interest ແລະ on-chain ຈາກ 3 ແລກປ່ຽນຈາກ API ດຽວ. ຊັ້ນຟຣີ, ບໍ່ຕ້ອງໃຊ້ບັດເຄຣດິດ, ອັບເກຣດໄດ້ທຸກເວລາ.

ເລີ່ມຟຣີ →
ລອງໃຊ້ console API ສົດ → (ບໍ່ຕ້ອງໃຊ້ບັນຊີ)
ເອົາຄີ API ຂອງທ່ານໃນ 30 ວິນາທີ

ພ້ອມທີ່ຈະສ້າງ? ເອົາຄີ API ຟຣີ (100 ຄຳຮ້ອງ/ມື້, ບໍ່ຕ້ອງໃຊ້ບັດ) ແລະ ເລີ່ມດຶງຂໍ້ມູນ whale, funding ແລະ on-chain ສົດ.

ເອົາຄີ API ຂອງທ່ານ →