অথেন্টিকেশন গাইড

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 টোকেন ব্যবহার করা

API কীগুলির মতোই Authorization হেডারে JWT টোকেন ব্যবহার করুন:

পাইথন
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 কী পান →