Hitelesítési útmutató
Ismerje meg, hogyan hitelesítheti magát a Smart Money API-val API kulcsok, JWT tokenek és OAuth 2.0 használatával. Biztosítsa integrációit iparági szabványnak megfelelő hitelesítési módszerekkel és ajánlott eljárásokkal.
Áttekintés
A Smart Money API többféle hitelesítési módszert támogat különböző használati esetekhez. Válassza ki azt a módszert, amely legjobban illeszkedik integrációjához:
API kulcsok (elsődleges): Küldje el kulcsát a X-API-Key kérés fejlécében minden REST API hívásnál. Ez az ajánlott módszer botok és szerverek közötti használatra.
Session JWT (tartalék): Böngésző/dashboard munkamenetek hitelesítése session JWT token segítségével a Authorization: Bearerfejlécben, amely 24 óráig érvényes. Programozott klienseknek inkább az X-API-Key.
OAuth 2.0: Vállalati szintű hitelesítés többfelhasználós alkalmazásokhoz és harmadik féltől származó integrációkhoz. A felhasználók engedélyezik alkalmazásuk számára az adataikhoz való hozzáférést.
Minden API kérést HTTPS-en keresztül kell intézni. A titkosítatlan HTTP kérések el lesznek utasítva. Ezenkívül soha ne commitoljon API kulcsokat verziókövetésbe vagy ossza meg őket nyilvánosan.
API kulcsok
Az API kulcsok egyedi hitelesítő adatok, amelyeket fiókjához állítanak ki. Minden kulcs egyetlen engedélykészletet és kvótát képvisel. Több kulcsot is generálhat különböző alkalmazásokhoz vagy környezetekhez (fejlesztés, tesztelés, éles).
API kulcs generálása
Generáljon API kulcsokat a fiók konzoljából:
- Navigáljon a Smart Money Console
- Válassza ki az "API Keys" lehetőséget az oldalsávból
- Kattintson a "Generate New Key" gombra
- Válassza ki a kulcs típusát (Fejlesztés, Tesztelés, Éles)
- Állítsa be a sávszélesség-korlátot és a funkciókat
- Másolja és tárolja biztonságosan a kulcsot
Mentse el az API kulcsát azonnal! Később nem fogja tudni újra megtekinteni. Ha elveszti, új kulcsot kell generálnia.
Kulcs formátum
Az API kulcsok szabványos formátumot követnek:
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z
sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f
sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b
A kulcs előtagok jelzik a környezetet:
sk_live_ — Éles kulcsok teljes kvótával
sk_test_ — Tesztelési kulcsok csökkentett kvótával és fejlesztési adatokkal
sk_dev_ — Személyes fejlesztési kulcsok sandbox adatokkal
X-API-Key fejléc (elsődleges)
Küldje el API kulcsát a X-API-Key kérés fejlécében minden API kérésnél. Soha ne helyezze kulcsát egy URL-be.
HTTP fejléc
GET /v1/whales/events HTTP/1.1
Host: api.smartmoneyapi.com
X-API-Key: sm_your_key
Content-Type: application/json
cURL példa
curl -X GET https://api.smartmoneyapi.com/v1/whales/events \
-H "X-API-Key: sm_your_key" \
-H "Content-Type: application/json"
Python példa
import requests
api_key = "sm_your_key"
headers = {
"X-API-Key": api_key,
"Content-Type": "application/json"
}
response = requests.get(
"https://api.smartmoneyapi.com/v1/whales/events",
headers=headers
)
data = response.json()
JWT token hitelesítés
Hosszú élettartamú munkamenetekhez és szerverek közötti kommunikációhoz cserélje le API kulcsát egy JWT tokenre. A JWT tokenek 24 óráig érvényesek, és csökkentik az API kulcs alkalmazáskódban történő tárolásának szükségességét.
JWT token lekérése
POST küldje el API kulcsát a JWT végpontra token lekéréséhez:
curl -X POST https://api.smartmoneyapi.com/auth/jwt \
-H "Content-Type: application/json" \
-d '{
"api_key": "sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m"
}'
JWT válasz
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires_in": 86400,
"token_type": "Bearer"
}
JWT token használata
Használja a JWT tokent az Authorization fejlécben, pontosan úgy, mint az API kulcsokat:
import requests
import json
from datetime import datetime, timedelta
class JWTAuth:
def __init__(self, api_key):
self.api_key = api_key
self.token = None
self.token_expires = None
def get_valid_token(self):
# Ellenőrizze, hogy az aktuális token még érvényes-e
if self.token and self.token_expires > datetime.now():
return self.token
# Új token lekérése
response = requests.post(
"https://api.smartmoneyapi.com/auth/jwt",
json={"api_key": self.api_key}
)
data = response.json()
self.token = data["token"]
self.token_expires = datetime.now() + timedelta(seconds=data["expires_in"])
return self.token
def request(self, method, url, **kwargs):
token = self.get_valid_token()
headers = kwargs.get("headers", {})
headers["Authorization"] = f"Bearer {token}"
kwargs["headers"] = headers
return requests.request(method, url, **kwargs)
# Használat
auth = JWTAuth("sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m")
response = auth.request(
"GET",
"https://api.smartmoneyapi.com/v1/whales/events"
)
print(response.json())
OAuth 2.0
Az OAuth 2.0 azoknak az alkalmazásoknak szól, amelyeknek több felhasználói fiókhoz kell hozzáférniük. A felhasználók engedélyezik alkalmazásuk számára az adataikhoz való hozzáférést anélkül, hogy megosztanák API kulcsaikat.
OAuth 2.0 folyamat
A Smart Money API támogatja az Authorization Code folyamatot webalkalmazásokhoz:
- A felhasználó rákattint a "Connect with Smart Money" gombra
- A böngésző átirányít az engedélyezési oldalra
- A felhasználó engedélyezi alkalmazásának az adataihoz való hozzáférést
- A böngésző visszairányít egy engedélyezési kóddal
- A háttérrendszer cseréli le a kódot hozzáférési tokenre
- Most már hozzáférhet a felhasználó adataihoz az ő nevében
1. lépés: Engedélyezési kérés
Irányítsa át a felhasználót az engedélyezési végpontra:
https://auth.smartmoneyapi.com/authorize?
client_id=YOUR_CLIENT_ID&
redirect_uri=https://yourapp.com/callback&
response_type=code&
scope=whale_positions+funding_rates+liquidations&
state=random_state_string
2. lépés: Token csere
Miután a felhasználó engedélyezte, cserélje le a kódot hozzáférési tokenre:
curl -X POST https://auth.smartmoneyapi.com/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&code=AUTH_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=https://yourapp.com/callback"
OAuth token válasz
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "rt_1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p",
"scope": "whale_positions funding_rates liquidations"
}
Biztonsági ajánlott eljárások
Kulcsok biztonságos tárolása
Soha ne commitoljon API kulcsokat verziókövetésbe, ne kódolja be őket alkalmazásokba, vagy ossza meg őket dokumentációban. Használjon környezeti változókat vagy biztonságos kulcskezelő szolgáltatásokat, mint például az AWS Secrets Manager, HashiCorp Vault vagy hasonlók.
Csak HTTPS használata
Minden API kérésnek HTTPS-t (TLS 1.2 vagy magasabb) kell használnia. A HTTP kérések el lesznek utasítva. Ez biztosítja, hogy API kulcsa és adatai titkosítva legyenek az átvitel során.
Kulcs engedélyek korlátozása
Hozzon létre külön API kulcsokat különböző alkalmazásokhoz és környezetekhez. Használjon hatásköröket annak korlátozására, hogy minden kulcs milyen adatokhoz férhet hozzá. Ne használjon éles kulcsokat fejlesztés során.
Kulcs használat figyelése
Rendszeresen ellenőrizze API használatát a konzoljában. Állítson be riasztásokat szokatlan tevékenységekre vagy kvóták közelítésére. Törölje azokat a kulcsokat, amelyeket már nem használ.
Kulcs rotáció
Rendszeresen forgassa le API kulcsait a veszélyeztetés kockázatának csökkentése érdekében. Javasoljuk, hogy 90 naponként forgassa le a kulcsokat:
- Generáljon egy új API kulcsot a konzoljában
- Frissítse alkalmazásait az új kulcs használatára
- Tesztelje, hogy minden megfelelően működik-e
- Törölje a régi kulcsot a konzoljából
Hatáskörök és engedélyek
API kulcsok létrehozásakor vagy OAuth használatakor adja meg, hogy a kulcs mely erőforrásokhoz férhet hozzá:
| Hatáskör |
Leírás |
Szint |
| whale_positions |
Bálnák pénztárca pozícióinak olvasása |
Trader+ |
| funding_rates |
Finanszírozási ráta adatok olvasása |
Ingyenes+ |
| liquidations |
Likvidációs feedek olvasása |
Ingyenes+ |
| open_interest |
Nyitott kamatadatok olvasása |
Trader+ |
| confirmation_scores |
AI megerősítési pontszámok olvasása |
Pro+ |
| on_chain |
Láncon lévő metrikák olvasása |
Pro+ |
Hitelesítési kód példák
Teljes Python integráció
import requests
from typing import Optional, Dict
from datetime import datetime, timedelta
class SmartMoneyAuth:
"""Handles all authentication methods for Smart Money API"""
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = "https://api.smartmoneyapi.com"
self.jwt_token = None
self.jwt_expires = None
def get_jwt_token(self) -> str:
"""Get or refresh JWT token"""
if self.jwt_token and self.jwt_expires > datetime.now():
return self.jwt_token
response = requests.post(
f"{self.base_url}/auth/jwt",
json={"api_key": self.api_key}
)
data = response.json()
self.jwt_token = data["token"]
self.jwt_expires = datetime.now() + timedelta(seconds=data["expires_in"] - 300)
return self.jwt_token
def headers_bearer(self) -> Dict:
"""Get headers for Bearer token auth"""
return {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
def headers_jwt(self) -> Dict:
"""Get headers for JWT auth"""
token = self.get_jwt_token()
return {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
def request(self, method: str, endpoint: str, use_jwt: bool = False, **kwargs) -> Dict:
"""Make authenticated request"""
headers = self.headers_jwt() if use_jwt else self.headers_bearer()
response = requests.request(
method,
f"{self.base_url}{endpoint}",
headers=headers,
**kwargs
)
return response.json()
# Usage
auth = SmartMoneyAuth("sk_live_abc123xyz789")
# Bearer token method
whales = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT")
# JWT method (auto-refreshing)
whales_jwt = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT", use_jwt=True)
print(f"Found {whales['data']['total']} whale positions")
Segítségre van szüksége?
Tekintse át API dokumentációnkat vagy lépjen kapcsolatba ügyfélszolgálatunkkal, ha segítségre van szüksége a hitelesítéssel kapcsolatban.
API referencia
Hozza létre első API kulcsát
Kezdje el a Smart Money API használatát. Hozzon létre fiókot és generáljon hitelesítési adatokat percek alatt.
Ugrás a Konzolhoz