Οδηγός Επαλήθευσης
Μάθετε πώς να επαληθεύετε με το Smart Money API χρησιμοποιώντας κλειδιά API, JWT tokens και OAuth 2.0. Ασφαλίστε τις ενσωματώσεις σας με μεθόδους επαλήθευσης και βέλτιστες πρακτικές βιομηχανίας.
Επισκόπηση
Το Smart Money API υποστηρίζει πολλαπλές μεθόδους επαλήθευσης για διαφορετικές περιπτώσεις χρήσης. Επιλέξτε τη μέθοδο που ταιριάζει καλύτερα στην ενσωμάτωσή σας:
Κλειδιά API (πρωταρχική): Στείλτε το κλειδί σας στο X-API-Key request header για όλες τις κλήσεις REST API. Αυτή είναι η συνιστώμενη μέθοδος για bots και χρήση server-to-server.
Session JWT (εφεδρική): Οι συνεδρίες του browser/dashboard επαληθεύονται με ένα session JWT μέσω Authorization: Bearer, ισχύει για 24 ώρες. Οι προγραμματιστικοί πελάτες θα πρέπει να προτιμούν το X-API-Key.
OAuth 2.0: Επαλήθευση επιπέδου enterprise για εφαρμογές πολλαπλών χρηστών και ενσωματώσεις τρίτων. Οι χρήστες εξουσιοδοτούν την εφαρμογή σας να έχει πρόσβαση στα δεδομένα τους.
Όλες οι αιτήσεις API πρέπει να γίνονται μέσω HTTPS. Οι αιτήσεις HTTP χωρίς κρυπτογράφηση θα απορριφθούν. Επιπλέον, μην αποθηκεύετε ποτέ τα κλειδιά API στον έλεγχο έκδοσης ή τα μοιράζεστε δημόσια.
Κλειδιά API
Τα κλειδιά API είναι μοναδικά διαπιστευτήρια που εκδίδονται στον λογαριασμό σας. Κάθε κλειδί αντιπροσωπεύει ένα μοναδικό σύνολο δικαιωμάτων και ορίων. Μπορείτε να δημιουργήσετε πολλαπλά κλειδιά για διαφορετικές εφαρμογές ή περιβάλλοντα (ανάπτυξη, δοκιμή, παραγωγή).
Δημιουργία ενός Κλειδιού API
Δημιουργήστε κλειδιά API από την κονσόλα του λογαριασμού σας:
- Πλοηγηθείτε στο Smart Money Console
- Επιλέξτε "Κλειδιά API" από την πλαϊνή γραμμή
- Κάντε κλικ στο "Δημιουργία Νέου Κλειδιού"
- Επιλέξτε τον τύπο κλειδιού (Ανάπτυξη, Δοκιμή, Παραγωγή)
- Ορίστε το όριο ρυθμού και τις δυνατότητες
- Αντιγράψτε και αποθηκεύστε το κλειδί με ασφάλεια
Αποθηκεύστε το κλειδί API σας αμέσως! Δεν θα μπορείτε να το δείτε ξανά. Αν το χάσετε, θα χρειαστεί να δημιουργήσετε ένα νέο κλειδί.
Μορφή Κλειδιού
Τα κλειδιά API ακολουθούν μια τυπική μορφή:
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z
sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f
sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b
Τα προθέματα των κλειδιών υποδεικνύουν το περιβάλλον:
sk_live_ — Κλειδιά παραγωγής με πλήρες όριο
sk_test_ — Κλειδιά δοκιμής με μειωμένο όριο και δεδομένα ανάπτυξης
sk_dev_ — Προσωπικά κλειδιά ανάπτυξης με δεδομένα sandbox
X-API-Key Header (πρωταρχική)
Στείλτε το κλειδί API σας στο X-API-Key request header για όλες τις αιτήσεις API. Μην τοποθετείτε ποτέ το κλειδί σας σε μια διεύθυνση URL.
HTTP Header
GET /v1/whales/events HTTP/1.1
Host: api.smartmoneyapi.com
X-API-Key: sm_your_key
Content-Type: application/json
cURL Παράδειγμα
curl -X GET https://api.smartmoneyapi.com/v1/whales/events \
-H "X-API-Key: sm_your_key" \
-H "Content-Type: application/json"
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
Για μακροχρόνιες συνεδρίες και επικοινωνία server-to-server, ανταλλάξτε το κλειδί API σας με ένα JWT token. Τα JWT tokens διαρκούν 24 ώρες και μειώνουν την ανάγκη να αποθηκεύετε το κλειδί API στον κώδικα της εφαρμογής.
Λήψη ενός JWT Token
POST το κλειδί API σας στο JWT endpoint για να λάβετε ένα token:
curl -X POST https://api.smartmoneyapi.com/auth/jwt \
-H "Content-Type: application/json" \
-d '{
"api_key": "sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m"
}'
Απάντηση JWT
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires_in": 86400,
"token_type": "Bearer"
}
Χρήση JWT Token
Χρησιμοποιήστε το JWT token στο Authorization header όπως τα κλειδιά API:
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 είναι για εφαρμογές που χρειάζονται πρόσβαση σε πολλαπλούς λογαριασμούς χρηστών. Οι χρήστες δίνουν στην εφαρμογή σας άδεια πρόσβασης στα δεδομένα τους χωρίς να μοιράζονται τα κλειδιά API τους.
Ροή OAuth 2.0
Το Smart Money API υποστηρίζει τη ροή Authorization Code για εφαρμογές web:
- Ο χρήστης κάνει κλικ στο κουμπί "Σύνδεση με Smart Money"
- Το browser ανακατευθύνει στη σελίδα εξουσιοδότησης
- Ο χρήστης δίνει άδεια στην εφαρμογή σας
- Το browser ανακατευθύνει πίσω με έναν κωδικό εξουσιοδότησης
- Το backend σας ανταλλάσσει τον κωδικό για ένα access token
- Μπορείτε τώρα να έχετε πρόσβαση στα δεδομένα του χρήστη εκ μέρους του
Βήμα 1: Αίτηση Εξουσιοδότησης
Ανακατευθύνετε τον χρήστη στο endpoint εξουσιοδότησης:
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: Ανταλλαγή Token
Αφού ο χρήστης δώσει άδεια, ανταλλάξτε τον κωδικό για ένα access token:
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
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "rt_1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p",
"scope": "whale_positions funding_rates liquidations"
}
Βέλτιστες Πρακτικές Ασφαλείας
Αποθηκεύστε τα Κλειδιά με Ασφάλεια
Μην αποθηκεύετε ποτέ τα κλειδιά API στον έλεγχο έκδοσης, τα κωδικοποιείτε σε εφαρμογές ή τα μοιράζεστε σε τεκμηρίωση. Χρησιμοποιήστε μεταβλητές περιβάλλοντος ή υπηρεσίες διαχείρισης κλειδιών όπως AWS Secrets Manager, HashiCorp Vault ή παρόμοιες.
Χρησιμοποιήστε Μόνο HTTPS
Όλες οι αιτήσεις API πρέπει να χρησιμοποιούν HTTPS (TLS 1.2 ή νεότερη). Οι αιτήσεις HTTP θα απορριφθούν. Αυτό διασφαλίζει ότι το κλειδί API και τα δεδομένα σας είναι κρυπτογραφημένα κατά τη μεταφορά.
Περιορίστε τα Δικαιώματα των Κλειδιών
Δημιουργήστε ξεχωριστά κλειδιά API για διαφορετικές εφαρμογές και περιβάλλοντα. Χρησιμοποιήστε εύρη για να περιορίσετε τι μπορεί να έχει πρόσβαση κάθε κλειδί. Μην χρησιμοποιείτε κλειδιά παραγωγής στην ανάπτυξη.
Παρακολούθηση Χρήσης Κλειδιών
Ελέγξτε τακτικά τη χρήση API στην κονσόλα σας. Ρυθμίστε ειδοποιήσεις για ασυνήθιστη δραστηριότητα ή όρια που πλησιάζουν. Διαγράψτε κλειδιά που δεν χρησιμοποιείτε πλέον.
Περιστροφή Κλειδιών
Περιστρέφετε τακτικά τα κλειδιά API σας για να μειώσετε τον κίνδυνο παραβίασης. Συνιστούμε να περιστρέφετε τα κλειδιά κάθε 90 ημέρες:
- Δημιουργήστε ένα νέο κλειδί API στην κονσόλα σας
- Ενημερώστε τις εφαρμογές σας για να χρησιμοποιούν το νέο κλειδί
- Δοκιμάστε ότι όλα λειτουργούν σωστά
- Διαγράψτε το παλιό κλειδί από την κονσόλα σας
Εύρος & Δικαιώματα
Κατά τη δημιουργία κλειδιών API ή τη χρήση OAuth, καθορίστε ποιους πόρους μπορεί να προσπελάσει το κλειδί σας:
| Εύρος |
Περιγραφή |
Επίπεδο |
| whale_positions |
Ανάγνωση θέσεων πορτοφολιών φαλαινών |
Trader+ |
| funding_rates |
Ανάγνωση δεδομένων επιτοκίων χρηματοδότησης |
Free+ |
| liquidations |
Ανάγνωση ροών εκκαθαρίσεων |
Free+ |
| open_interest |
Ανάγνωση δεδομένων ανοικτού ενδιαφέροντος |
Trader+ |
| confirmation_scores |
Ανάγνωση βαθμολογιών επιβεβαίωσης AI |
Pro+ |
| on_chain |
Ανάγνωση μετρικών on-chain |
Pro+ |
Παραδείγματα Κώδικα Πιστοποίησης
Πλήρης Ενσωμάτωση Python
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")
Χρειάζεστε βοήθεια;
Εξετάστε την τεκμηρίωση του API ή επικοινωνήστε με την υποστήριξη εάν χρειάζεστε βοήθεια με την πιστοποίηση.
Αναφορά API
Δημιουργήστε το πρώτο σας κλειδί API
Ξεκινήστε με το Smart Money API. Δημιουργήστε τον λογαριασμό σας και δημιουργήστε διαπιστευτήρια πιστοποίησης σε λίγα λεπτά.
Μετάβαση στην Κονσόλα