Ghid de Autentificare

Aflați cum să vă autentificați cu Smart Money API folosind chei API, token-uri JWT și OAuth 2.0. Securizați-vă integrările cu metode de autentificare standard și practici recomandate.

Prezentare generală

Smart Money API acceptă mai multe metode de autentificare pentru diferite cazuri de utilizare. Alegeți metoda care se potrivește cel mai bine integrării dumneavoastră:

Chei API (primar): Trimiteți cheia în antetul X-API-Key pentru toate apelurile API REST. Aceasta este metoda recomandată pentru boturi și utilizare server-to-server.
Sesiune JWT (de rezervă): Sesiunile din browser/tablou de bord se autentifică cu un JWT de sesiune prin Authorization: Bearer, valabil pentru 24 de ore. Clienții programatici ar trebui să prefere X-API-Key.
OAuth 2.0: Autentificare de nivel enterprise pentru aplicații multi-utilizator și integrări terțe. Utilizatorii autorizează aplicația dumneavoastră să acceseze datele lor.
Toate cererile API trebuie să fie făcute prin HTTPS. Cererile HTTP necriptate vor fi respinse. În plus, nu comiteți niciodată cheile API în controlul versiunilor și nu le partajați public.

Chei API

Cheile API sunt credențiale unice emise pentru contul dumneavoastră. Fiecare cheie reprezintă un singur set de permisiuni și cote. Puteți genera mai multe chei pentru diferite aplicații sau medii (dezvoltare, staging, producție).

Generarea unei chei API

Generați chei API din consola contului dumneavoastră:

  1. Navigați la Smart Money Console
  2. Selectați "Chei API" din bara laterală
  3. Faceți clic pe "Generați cheie nouă"
  4. Alegeți tipul cheii (Dezvoltare, Staging, Producție)
  5. Setați limita de rată și funcțiile
  6. Copiați și stocați cheia în siguranță
Salvați cheia API imediat! Nu o veți mai putea vizualiza din nou. Dacă o pierdeți, va trebui să generați o cheie nouă.

Formatul cheii

Cheile API urmează un format standard:

Formatul cheii
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b

Prefixele cheilor indică mediul:

sk_live_ — Chei de producție cu cotă completă
sk_test_ — Chei de testare cu cotă redusă și date de dezvoltare
sk_dev_ — Chei de dezvoltare personală cu date sandbox

Antet X-API-Key (primar)

Trimiteți cheia API în antetul X-API-Key pentru toate cererile API. Nu plasați niciodată cheia într-un URL.

Antet HTTP

HTTP
GET /v1/whales/events HTTP/1.1 Host: api.smartmoneyapi.com X-API-Key: sm_your_key Content-Type: application/json

Exemplu cURL

Shell
curl -X GET https://api.smartmoneyapi.com/v1/whales/events \ -H "X-API-Key: sm_your_key" \ -H "Content-Type: application/json"

Exemplu Python

Python
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()

Autentificare cu token JWT

Pentru sesiuni de lungă durată și comunicare server-to-server, schimbați cheia API cu un token JWT. Token-urile JWT durează 24 de ore și reduc necesitatea de a stoca cheia API în codul aplicației.

Obținerea unui token JWT

Trimiteți cheia API prin POST la endpoint-ul JWT pentru a obține un token:

cURL
curl -X POST https://api.smartmoneyapi.com/auth/jwt \ -H "Content-Type: application/json" \ -d '{ "api_key": "sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m" }'

Răspuns JWT

JSON
{ "success": true, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "expires_in": 86400, "token_type": "Bearer" }

Utilizarea token-ului JWT

Utilizați token-ul JWT în antetul Authorization la fel ca cheile API:

Python
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): # Check if current token is still valid if self.token and self.token_expires > datetime.now(): return self.token # Get new token 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) # Usage auth = JWTAuth("sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m") response = auth.request( "GET", "https://api.smartmoneyapi.com/v1/whales/events" ) print(response.json())

OAuth 2.0

OAuth 2.0 este pentru aplicații care trebuie să acceseze mai multe conturi de utilizator. Utilizatorii acordă aplicației dumneavoastră permisiunea de a accesa datele lor fără a partaja cheile API.

Flux OAuth 2.0

Smart Money API acceptă fluxul Authorization Code pentru aplicații web:

  1. Utilizatorul face clic pe butonul "Conectează-te cu Smart Money"
  2. Browserul redirecționează către pagina de autorizare
  3. Utilizatorul acordă permisiunea aplicației dumneavoastră
  4. Browserul redirecționează înapoi cu un cod de autorizare
  5. Backend-ul dumneavoastră schimbă codul pentru un token de acces
  6. Acum puteți accesa datele utilizatorului în numele lor

Pasul 1: Cerere de autorizare

Redirecționați utilizatorul către endpoint-ul de autorizare:

URL
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

Pasul 2: Schimb de token

După ce utilizatorul acordă permisiunea, schimbați codul pentru un token de acces:

cURL
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"

Răspuns OAuth Token

JSON
{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "rt_1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p", "scope": "whale_positions funding_rates liquidations" }

Practici de securitate recomandate

Stocați cheile în siguranță

Nu comiteți niciodată cheile API în controlul versiunilor, nu le hardcodați în aplicații sau nu le partajați în documentație. Utilizați variabile de mediu sau servicii de gestionare a cheilor securizate precum AWS Secrets Manager, HashiCorp Vault sau similar.

Utilizați doar HTTPS

Toate cererile API trebuie să folosească HTTPS (TLS 1.2 sau mai mare). Cererile HTTP vor fi respinse. Acest lucru asigură că cheia API și datele dumneavoastră sunt criptate în tranzit.

Limitați permisiunile cheilor

Creați chei API separate pentru diferite aplicații și medii. Utilizați domenii de aplicare pentru a limita ce poate accesa fiecare cheie. Nu utilizați chei de producție în dezvoltare.

Monitorizați utilizarea cheilor

Revizuiți în mod regulat utilizarea API în consola dumneavoastră. Configurați alerte pentru activitate neobișnuită sau când cota se apropie de limite. Ștergeți cheile pe care nu le mai utilizați.

Rotația cheilor

Rotați-vă cheile API în mod regulat pentru a reduce riscul de compromitere. Recomandăm rotirea cheilor la fiecare 90 de zile:

  1. Generați o cheie API nouă în consola dumneavoastră
  2. Actualizați aplicațiile pentru a utiliza noua cheie
  3. Testați dacă totul funcționează corect
  4. Ștergeți cheia veche din consolă

Domenii de aplicare și permisiuni

Când creați chei API sau utilizați OAuth, specificați ce resurse poate accesa cheia dumneavoastră:

Domeniu de aplicare Descriere Nivel
whale_positions Citirea pozițiilor portofelului balenelor Trader+
funding_rates Citirea datelor despre ratele de finanțare Free+
liquidations Citirea fluxurilor de lichidare Free+
open_interest Citirea datelor despre interesul deschis Trader+
confirmation_scores Citirea scorurilor de confirmare AI Pro+
on_chain Citirea metricilor on-chain Pro+

Exemple de cod de autentificare

Integrare completă Python

Python
import requests from typing import Optional, Dict from datetime import datetime, timedelta class SmartMoneyAuth: """Gestionează toate metodele de autentificare pentru 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: """Obțineți sau reîmprospătați tokenul JWT""" 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: """Obțineți antete pentru autentificarea cu token Bearer""" return { "Authorization": f"Bearer {self.api_key}", "Content-Type": "application/json" } def headers_jwt(self) -> Dict: """Obțineți antete pentru autentificarea cu JWT""" 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: """Efectuați o cerere autentificată""" 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() # Utilizare auth = SmartMoneyAuth("sk_live_abc123xyz789") # Metoda token Bearer whales = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT") # Metoda JWT (reîmprospătare automată) whales_jwt = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT", use_jwt=True) print(f"Found {whales['data']['total']} whale positions")

Aveți nevoie de ajutor?

Consultați documentația noastră API sau contactați asistența dacă aveți nevoie de ajutor cu autentificarea.

Referință API

Generați prima cheie API

Începeți cu Smart Money API. Creați-vă contul și generați credențiale de autentificare în câteva minute.

Accesați Consola
Începeți gratuit — 50 de apeluri/zi, fără card

Obțineți fluxul balenelor în timp real, finanțare, interes deschis și date on-chain de pe 3 exchange-uri dintr-un singur API. Nivel gratuit, fără card de credit, puteți face upgrade oricând.

Începeți gratuit →
Încercați consola API live → (nu este necesar cont)
Obțineți cheia API în 30 de secunde

Sunteți gata să construiți? Obțineți o cheie API gratuită (50 de apeluri/zi, fără card) și începeți să preluați date live despre balene, finanțare și on-chain.

Obțineți cheia API →