प्रमाणीकरण गाइड

सीखें कि कैसे API कुंजी, JWT टोकन, और OAuth 2.0 का उपयोग करके Smart Money API के साथ प्रमाणीकरण करें। उद्योग-मानक प्रमाणीकरण विधियों और सर्वोत्तम प्रथाओं के साथ अपने एकीकरण को सुरक्षित करें।

अवलोकन

Smart Money API विभिन्न उपयोग मामलों के लिए कई प्रमाणीकरण विधियों का समर्थन करता है। अपने एकीकरण के लिए सबसे उपयुक्त विधि चुनें:

API कुंजी (प्राथमिक): अपनी कुंजी को X-API-Key अनुरोध हेडर में सभी REST API कॉल के लिए भेजें। यह बॉट्स और सर्वर-टू-सर्वर उपयोग के लिए अनुशंसित विधि है।
सत्र JWT (फॉलबैक): ब्राउज़र/डैशबोर्ड सत्र एक सत्र JWT के माध्यम से प्रमाणीकरण करते हैं Authorization: Bearer, जो 24 घंटे के लिए मान्य होता है। प्रोग्रामेटिक क्लाइंट्स को X-API-Key.
OAuth 2.0: मल्टी-यूज़र एप्लिकेशन और तृतीय-पक्ष एकीकरण के लिए एंटरप्राइज़-ग्रेड प्रमाणीकरण। उपयोगकर्ता आपके ऐप को उनके डेटा तक पहुंचने की अनुमति देते हैं।
सभी API अनुरोध HTTPS पर किए जाने चाहिए। अनएन्क्रिप्टेड HTTP अनुरोध अस्वीकार कर दिए जाएंगे। इसके अलावा, कभी भी API कुंजी को वर्जन कंट्रोल में कमिट न करें या उन्हें सार्वजनिक रूप से साझा न करें।

API कुंजी

API कुंजी आपके खाते के लिए जारी की गई अद्वितीय क्रेडेंशियल हैं। प्रत्येक कुंजी एकल अनुमति और कोटा सेट का प्रतिनिधित्व करती है। आप विभिन्न एप्लिकेशन या वातावरण (विकास, स्टेजिंग, प्रोडक्शन) के लिए कई कुंजी उत्पन्न कर सकते हैं।

API कुंजी उत्पन्न करना

अपने खाते कंसोल से API कुंजी उत्पन्न करें:

  1. नेविगेट करें Smart Money Console
  2. साइडबार से "API कुंजी" चुनें
  3. "नई कुंजी उत्पन्न करें" पर क्लिक करें
  4. कुंजी प्रकार चुनें (विकास, स्टेजिंग, प्रोडक्शन)
  5. दर सीमा और सुविधाएं सेट करें
  6. कुंजी को सुरक्षित रूप से कॉपी और स्टोर करें
अपनी API कुंजी को तुरंत सहेजें! आप इसे फिर से देखने में सक्षम नहीं होंगे। यदि आप इसे खो देते हैं, तो आपको एक नई कुंजी उत्पन्न करनी होगी।

कुंजी प्रारूप

API कुंजी एक मानक प्रारूप का पालन करती हैं:

कुंजी प्रारूप
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b

कुंजी उपसर्ग वातावरण को इंगित करते हैं:

sk_live_ — पूर्ण कोटा के साथ प्रोडक्शन कुंजी
sk_test_ — कम कोटा और विकास डेटा के साथ परीक्षण कुंजी
sk_dev_ — सैंडबॉक्स डेटा के साथ व्यक्तिगत विकास कुंजी

X-API-Key हेडर (प्राथमिक)

अपनी API कुंजी को X-API-Key अनुरोध हेडर में सभी API अनुरोधों के लिए भेजें। कभी भी अपनी कुंजी को URL में न रखें।

HTTP हेडर

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

पायथन उदाहरण

पायथन
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 टोकन प्रमाणीकरण

लंबे समय तक चलने वाले सत्र और सर्वर-टू-सर्वर संचार के लिए, अपनी API कुंजी को JWT टोकन के लिए एक्सचेंज करें। JWT टोकन 24 घंटे तक चलते हैं और एप्लिकेशन कोड में अपनी API कुंजी को स्टोर करने की आवश्यकता को कम करते हैं।

JWT टोकन प्राप्त करना

JWT एंडपॉइंट पर अपनी API कुंजी को POST करें टोकन प्राप्त करने के लिए:

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

JWT प्रतिक्रिया

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

JWT टोकन का उपयोग करना

JWT टोकन का उपयोग Authorization हेडर में 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 फ्लो का समर्थन करता है:

  1. उपयोगकर्ता "Smart Money के साथ कनेक्ट करें" बटन पर क्लिक करता है
  2. ब्राउज़र अधिकारीकरण पेज पर रीडायरेक्ट करता है
  3. उपयोगकर्ता आपके एप्लिकेशन को अनुमति देता है
  4. ब्राउज़र अधिकारीकरण कोड के साथ वापस रीडायरेक्ट करता है
  5. आपका बैकएंड कोड को एक्सेस टोकन के लिए एक्सचेंज करता है
  6. अब आप उपयोगकर्ता के डेटा तक उनकी ओर से पहुंच सकते हैं

चरण 1: अधिकारीकरण अनुरोध

उपयोगकर्ता को अधिकारीकरण एंडपॉइंट पर रीडायरेक्ट करें:

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

चरण 2: टोकन एक्सचेंज

उपयोगकर्ता द्वारा अनुमति देने के बाद, कोड को एक्सेस टोकन के लिए एक्सचेंज करें:

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 टोकन प्रतिक्रिया

JSON
{ "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 दिनों में कुंजी रोटेशन की सलाह देते हैं:

  1. अपने कंसोल में एक नई API कुंजी उत्पन्न करें
  2. अपने एप्लिकेशन को नए की का उपयोग करने के लिए अपडेट करें
  3. टेस्ट करें कि सब कुछ सही तरीके से काम करता है
  4. अपने कंसोल से पुराने की को डिलीट करें

स्कोप्स और परमिशन्स

API की बनाते समय या OAuth का उपयोग करते समय, निर्दिष्ट करें कि आपका की किन संसाधनों तक पहुंच सकता है:

स्कोप विवरण टियर
whale_positions व्हेल वॉलेट पोजीशन पढ़ें Trader+
funding_rates फंडिंग रेट डेटा पढ़ें Free+
liquidations लिक्विडेशन फीड्स पढ़ें Free+
open_interest ओपन इंटरेस्ट डेटा पढ़ें Trader+
confirmation_scores AI कन्फर्मेशन स्कोर पढ़ें Pro+
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 के साथ शुरुआत करें। मिनटों में अपना अकाउंट बनाएं और ऑथेंटिकेशन क्रेडेंशियल्स जनरेट करें।

कंसोल पर जाएं
मुफ्त शुरू करें — 100 कॉल/दिन, कोई कार्ड नहीं

एक API से 3 एक्सचेंजों पर लाइव व्हेल फ्लो, फंडिंग, ओपन इंटरेस्ट और ऑन-चेन डेटा प्राप्त करें। मुफ्त टियर, कोई क्रेडिट कार्ड नहीं, कभी भी अपग्रेड करें।

मुफ्त शुरू करें →
लाइव API कंसोल आज़माएं → (कोई अकाउंट नहीं चाहिए)
30 सेकंड में अपना API की प्राप्त करें

बिल्ड करने के लिए तैयार? एक मुफ्त API की प्राप्त करें (100 कॉल/दिन, कोई कार्ड नहीं) और लाइव व्हेल, फंडिंग और ऑन-चेन डेटा प्राप्त करना शुरू करें।

अपना API की प्राप्त करें →