Kimlik Doğrulama Kılavuzu

API anahtarları, JWT token'ları ve OAuth 2.0 kullanarak Smart Money API ile kimlik doğrulama yapmayı öğrenin. Endüstri standartlarında kimlik doğrulama yöntemleri ve en iyi uygulamalarla entegrasyonlarınızı güvence altına alın.

Genel Bakış

Smart Money API, farklı kullanım senaryoları için çoklu kimlik doğrulama yöntemleri destekler. Entegrasyonunuza en uygun yöntemi seçin:

API Anahtarları (birincil): Anahtarınızı X-API-Key istek başlığında tüm REST API çağrıları için gönderin. Bu yöntem botlar ve sunucu-sunucu kullanımları için önerilir.
Oturum JWT (yedek): Tarayıcı/panel oturumları, bir oturum JWT ile Authorization: Bearerüzerinden kimlik doğrular ve 24 saat geçerlidir. Programatik istemciler X-API-Key.
OAuth 2.0: Çok kullanıcılı uygulamalar ve üçüncü parti entegrasyonları için kurumsal düzeyde kimlik doğrulama. Kullanıcılar uygulamanızın verilerine erişmesine izin verir.
Tüm API istekleri HTTPS üzerinden yapılmalıdır. Şifrelenmemiş HTTP istekleri reddedilir. Ayrıca, API anahtarlarını versiyon kontrol sistemlerine eklemeyin veya herkese açık şekilde paylaşmayın.

API Anahtarları

API anahtarları hesabınıza verilen benzersiz kimlik bilgileridir. Her anahtar tek bir izin ve kota setini temsil eder. Farklı uygulamalar veya ortamlar (geliştirme, hazırlık, üretim) için birden fazla anahtar oluşturabilirsiniz.

API Anahtarı Oluşturma

API anahtarlarını hesap konsolunuzdan oluşturun:

  1. Şuraya gidin: Smart Money Console
  2. Yan çubuktan "API Anahtarları"nı seçin
  3. "Yeni Anahtar Oluştur"a tıklayın
  4. Anahtar türünü seçin (Geliştirme, Hazırlık, Üretim)
  5. Oran sınırını ve özellikleri ayarlayın
  6. Anahtarı kopyalayın ve güvenli bir yerde saklayın
API anahtarınızı hemen kaydedin! Tekrar görüntüleyemezsiniz. Kaybederseniz yeni bir anahtar oluşturmanız gerekecektir.

Anahtar Formatı

API anahtarları standart bir formata sahiptir:

Anahtar Formatı
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b

Anahtar önekleri ortamı belirtir:

sk_live_ — Tam kota ile üretim anahtarları
sk_test_ — Azaltılmış kota ve geliştirme verileri ile test anahtarları
sk_dev_ — Sandbox verileri ile kişisel geliştirme anahtarları

X-API-Key Başlığı (birincil)

API anahtarınızı tüm API isteklerinde X-API-Key istek başlığında gönderin. Anahtarınızı asla bir URL'ye yerleştirmeyin.

HTTP Başlığı

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

cURL Örneği

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

Python Örneği

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 Kimlik Doğrulama

Uzun ömürlü oturumlar ve sunucu arası iletişim için API anahtarınızı bir JWT token ile değiştirin. JWT token'lar 24 saat geçerlidir ve API anahtarınızı uygulama kodunuzda saklama ihtiyacını azaltır.

JWT Token Alma

Bir token almak için API anahtarınızı JWT endpoint'ine POST edin:

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

JWT Yanıtı

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

JWT Token Kullanımı

JWT token'ını, API anahtarlarında olduğu gibi Authorization başlığında kullanın:

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, birden fazla kullanıcı hesabına erişmesi gereken uygulamalar içindir. Kullanıcılar, API anahtarlarını paylaşmadan uygulamanızın verilerine erişim izni verir.

OAuth 2.0 Akışı

Smart Money API, web uygulamaları için Authorization Code akışını destekler:

  1. Kullanıcı "Smart Money ile Bağlan" butonuna tıklar
  2. Tarayıcı yetkilendirme sayfasına yönlendirir
  3. Kullanıcı uygulamanıza izin verir
  4. Tarayıcı yetkilendirme kodu ile geri yönlendirir
  5. Backend'iniz kodu erişim token'ı ile değiştirir
  6. Artık kullanıcı adına verilerine erişebilirsiniz

Adım 1: Yetkilendirme İsteği

Kullanıcıyı yetkilendirme endpoint'ine yönlendirin:

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

Adım 2: Token Değişimi

Kullanıcı izin verdikten sonra, kodu bir erişim token'ı ile değiştirin:

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 Token Yanıtı

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

Güvenlik En İyi Uygulamaları

Anahtarları Güvenli Saklayın

API anahtarlarını asla versiyon kontrol sistemine eklemeyin, uygulamalarda sabit kodlamayın veya dokümantasyonda paylaşmayın. Ortam değişkenleri veya AWS Secrets Manager, HashiCorp Vault gibi güvenli anahtar yönetim servislerini kullanın.

Sadece HTTPS Kullanın

Tüm API istekleri HTTPS (TLS 1.2 veya üstü) kullanmalıdır. HTTP istekleri reddedilecektir. Bu, API anahtarınızın ve verilerinizin iletilirken şifrelenmesini sağlar.

Anahtar İzinlerini Sınırlandırın

Farklı uygulamalar ve ortamlar için ayrı API anahtarları oluşturun. Her anahtarın erişebileceği alanları sınırlamak için kapsamları kullanın. Geliştirme ortamlarında üretim anahtarlarını kullanmayın.

Anahtar Kullanımını İzleyin

Konsolunuzda düzenli olarak API kullanımını gözden geçirin. Olağandışı aktiviteler veya kota limitlerine yaklaşma durumları için uyarılar ayarlayın. Artık kullanmadığınız anahtarları silin.

Anahtar Döngüsü

API anahtarlarınızı düzenli olarak değiştirerek ele geçirilme riskini azaltın. Anahtarlarınızı her 90 günde bir değiştirmenizi öneririz:

  1. Konsolunuzda yeni bir API anahtarı oluşturun
  2. Uygulamalarınızı yeni anahtarı kullanacak şekilde güncelleyin
  3. Her şeyin doğru çalıştığını test edin
  4. Eski anahtarı konsolunuzdan silin

Kapsamlar & İzinler

API anahtarları oluştururken veya OAuth kullanırken, anahtarınızın hangi kaynaklara erişebileceğini belirtin:

Kapsam Açıklama Seviye
whale_positions Balina cüzdan pozisyonlarını oku Trader+
funding_rates Finansman oranı verilerini oku Free+
liquidations Likidasyon beslemelerini oku Free+
open_interest Açık pozisyon verilerini oku Trader+
confirmation_scores AI onay puanlarını oku Pro+
on_chain On-chain metrikleri oku Pro+

Kimlik Doğrulama Kod Örnekleri

Tam Python Entegrasyonu

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

Yardıma mı ihtiyacınız var?

Kimlik doğrulama konusunda yardıma ihtiyacınız varsa API belgelerimizi inceleyin veya destekle iletişime geçin.

API Referansı

İlk API Anahtarınızı Oluşturun

Smart Money API ile başlayın. Hesabınızı oluşturun ve kimlik doğrulama bilgilerinizi dakikalar içinde oluşturun.

Konsola Git
Ücretsiz başlayın — günde 100 çağrı, kart gerekmez

Bir API üzerinden 3 borsadan canlı balina akışı, finansman, açık pozisyon ve on-chain verileri alın. Ücretsiz katman, kredi kartı gerekmez, istediğiniz zaman yükseltin.

Ücretsiz başlayın →
Canlı API konsolunu deneyin → (hesap gerekmez)
API anahtarınızı 30 saniyede alın

Hazır mısınız? Ücretsiz bir API anahtarı alın (günde 100 çağrı, kart gerekmez) ve canlı balina, finansman ve on-chain verilerini çekmeye başlayın.

API anahtarınızı alın →