Průvodce autentizací

Naučte se, jak se autentizovat pomocí Smart Money API využitím API klíčů, JWT tokenů a OAuth 2.0. Zabezpečte své integrace pomocí standardních autentizačních metod a osvědčených postupů.

Přehled

Smart Money API podporuje více autentizačních metod pro různé případy použití. Vyberte metodu, která nejlépe vyhovuje vaší integraci:

API klíče (primární): Odešlete svůj klíč v X-API-Key hlavičce požadavku pro všechna REST API volání. Toto je doporučená metoda pro boty a server-to-server použití.
Session JWT (záložní): Prohlížeč/dashboardové session se autentizují pomocí session JWT přes Authorization: Bearer, platný 24 hodin. Programoví klienti by měli preferovat X-API-Key.
OAuth 2.0: Podniková autentizace pro víceuživatelské aplikace a integrace třetích stran. Uživatelé autorizují vaši aplikaci pro přístup k jejich datům.
Všechny API požadavky musí být prováděny přes HTTPS. Nešifrované HTTP požadavky budou odmítnuty. Dále nikdy neukládejte API klíče do verzovacího systému ani je nesdílejte veřejně.

API klíče

API klíče jsou unikátní přihlašovací údaje vydané pro váš účet. Každý klíč reprezentuje jednu sadu oprávnění a kvót. Můžete generovat více klíčů pro různé aplikace nebo prostředí (vývoj, staging, produkce).

Generování API klíče

Generujte API klíče z vaší konzole účtu:

  1. Přejděte do Smart Money Console
  2. V postranním panelu vyberte "API klíče"
  3. Klikněte na "Generovat nový klíč"
  4. Zvolte typ klíče (Vývoj, Staging, Produkce)
  5. Nastavte limit rychlosti a funkce
  6. Zkopírujte a uložte klíč bezpečně
Uložte si API klíč okamžitě! Nebudete ho moci znovu zobrazit. Pokud ho ztratíte, budete muset vygenerovat nový klíč.

Formát klíče

API klíče následují standardní formát:

Formát klíče
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b

Předpony klíčů označují prostředí:

sk_live_ — Produkční klíče s plnou kvótou
sk_test_ — Testovací klíče se sníženou kvótou a vývojovými daty
sk_dev_ — Osobní vývojové klíče se sandbox daty

X-API-Key hlavička (primární)

Odešlete svůj API klíč v X-API-Key hlavičce požadavku pro všechna API volání. Nikdy neumisťujte klíč do URL.

HTTP hlavička

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

cURL příklad

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

Python příklad

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

JWT Token autentizace

Pro dlouhodobé session a server-to-server komunikaci vyměňte svůj API klíč za JWT token. JWT tokeny platí 24 hodin a snižují potřebu ukládání API klíče v aplikaci.

Získání JWT tokenu

POSTem odešlete svůj API klíč na JWT endpoint pro získání tokenu:

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

JWT odpověď

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

Použití JWT tokenu

Použijte JWT token v Authorization hlavičce stejně jako API klíče:

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 je pro aplikace, které potřebují přístup k více uživatelským účtům. Uživatelé udělí vaší aplikaci oprávnění k přístupu k jejich datům bez sdílení jejich API klíčů.

OAuth 2.0 tok

Smart Money API podporuje Authorization Code tok pro webové aplikace:

  1. Uživatel klikne na tlačítko "Připojit se Smart Money"
  2. Prohlížeč přesměruje na autorizační stránku
  3. Uživatel udělí oprávnění vaší aplikaci
  4. Prohlížeč přesměruje zpět s autorizačním kódem
  5. Vaše backendová část vymění kód za přístupový token
  6. Nyní můžete přistupovat k uživatelským datům jejich jménem

Krok 1: Autorizační požadavek

Přesměrujte uživatele na autorizační endpoint:

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

Krok 2: Výměna tokenu

Poté, co uživatel udělí oprávnění, vyměňte kód za přístupový token:

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"

OAuth odpověď tokenu

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

Bezpečnostní doporučení

Ukládejte klíče bezpečně

Nikdy neukládejte API klíče do verzovacího systému, nehardcodujte je v aplikacích ani je nesdílejte v dokumentaci. Používejte proměnné prostředí nebo bezpečné služby pro správu klíčů jako AWS Secrets Manager, HashiCorp Vault nebo podobné.

Používejte pouze HTTPS

Všechny API požadavky musí používat HTTPS (TLS 1.2 nebo vyšší). HTTP požadavky budou odmítnuty. Toto zajišťuje, že váš API klíč a data jsou šifrována při přenosu.

Omezte oprávnění klíčů

Vytvářejte samostatné API klíče pro různé aplikace a prostředí. Používejte rozsahy pro omezení toho, co každý klíč může přistupovat. Nepoužívejte produkční klíče ve vývoji.

Sledujte využití klíčů

Pravidelně kontrolujte využití API ve vaší konzoli. Nastavte upozornění na neobvyklou aktivitu nebo blížící se limity kvót. Odstraňujte klíče, které již nepoužíváte.

Rotace klíčů

Pravidelně rotujte své API klíče pro snížení rizika kompromitace. Doporučujeme rotovat klíče každých 90 dní:

  1. Vygenerujte nový API klíč ve vaší konzoli
  2. Aktualizujte své aplikace, aby používaly nový klíč
  3. Otestujte, zda vše funguje správně
  4. Odstraňte starý klíč z vaší konzole

Rozsahy a oprávnění

Při vytváření API klíčů nebo používání OAuth specifikujte, ke kterým zdrojům má váš klíč přístup:

Rozsah Popis Úroveň
whale_positions Čtení pozic velrybích peněženek Trader+
funding_rates Čtení dat o funding rate Free+
liquidations Čtení feedů o likvidacích Free+
open_interest Čtení dat o open interest Trader+
confirmation_scores Čtení AI confirmation scores Pro+
on_chain Čtení on-chain metrik Pro+

Příklady autentizačních kódů

Kompletní integrace v Pythonu

Python
import requests from typing import Optional, Dict from datetime import datetime, timedelta class SmartMoneyAuth: """Zpracovává všechny metody autentizace pro 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: """Získání nebo obnovení JWT tokenu""" 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: """Získání hlaviček pro Bearer token""" return { "Authorization": f"Bearer {self.api_key}", "Content-Type": "application/json" } def headers_jwt(self) -> Dict: """Získání hlaviček pro 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: """Vytvoření autentizovaného požadavku""" 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() # Použití auth = SmartMoneyAuth("sk_live_abc123xyz789") # Metoda Bearer token whales = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT") # Metoda JWT (automatické obnovování) whales_jwt = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT", use_jwt=True) print(f"Nalezeno {whales['data']['total']} velrybích pozic")

Potřebujete pomoc?

Projděte si naši dokumentaci API nebo kontaktujte podporu, pokud potřebujete pomoc s autentizací.

Reference API

Vygenerujte svůj první API klíč

Začněte se Smart Money API. Vytvořte si účet a vygenerujte autentizační údaje během několika minut.

Přejít do konzole
Začněte zdarma — 100 volání denně, bez karty

Získejte živá data o toku velryb, funding rate, open interest a on-chain datech z 3 burz prostřednictvím jednoho API. Volná úroveň, bez kreditní karty, upgrade kdykoliv.

Začněte zdarma →
Vyzkoušejte živou API konzoli → (účet není potřeba)
Získejte svůj API klíč za 30 sekund

Připraveni stavět? Získejte zdarma API klíč (100 volání denně, bez karty) a začněte stahovat živá data o velrybách, funding rate a on-chain datech.

Získejte svůj API klíč →