تصدیق گائیڈ

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 درخواستوں کے لیے اپنی API کلید کو X-API-Key درخواست ہیڈر میں بھیجیں۔ اپنی کلید کو کبھی بھی 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 کلید کو JWT اینڈ پوائنٹ پر 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): # چیک کریں کہ موجودہ ٹوکن اب بھی درست ہے if self.token and self.token_expires > datetime.now(): return self.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) # استعمال 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 کلید حاصل کریں →