ការណែនាំអំពីការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ
សិក្សាពីរបៀបផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវជាមួយ Smart Money API ដោយប្រើគន្លឹះ API សញ្ញាសម្គាល់ JWT និង OAuth 2.0។ ធានាសុវត្ថិភាពអន្តរកម្មរបស់អ្នកជាមួយនឹងវិធីសាកសមនៃការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ និងការអនុវត្តល្អបំផុតតាមស្តង់ដារឧស្សាហកម្ម។
ទិដ្ឋភាពទូទៅ
Smart Money API គាំទ្រវិធីសាកសមច្រើនសម្រាប់ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវសម្រាប់ករណីប្រើប្រាស់ផ្សេងៗ។ ជ្រើសរើសវិធីសាកសមដែលសមនឹងការរួមបញ្ចូលរបស់អ្នក៖
គន្លឹះ API (ចម្បង)៖ ផ្ញើគន្លឹះរបស់អ្នកនៅក្នុង X-API-Key ក្បាលសំណើ REST API សម្រាប់ការហៅទាំងអស់។ នេះគឺជាវិធីសាកសមដែលណែនាំសម្រាប់បូត និងការប្រើប្រាស់ពីម៉ាស៊ីនមេទៅម៉ាស៊ីនមេ។
សញ្ញាសម្គាល់ JWT នៃវគ្គ (ជាជម្រើសបន្ទាប់បន្សំ)៖ វគ្គរបស់កម្មវិធីរុករក/ផ្ទាំងគ្រប់គ្រងផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវជាមួយសញ្ញាសម្គាល់ JWT នៃវគ្គតាមរយៈ Authorization: Bearerដែលមានសុពលភាពរយៈពេល ២៤ ម៉ោង។ អតិថិជនកម្មវិធីគួរតែចូលចិត្ត X-API-Key.
OAuth 2.0៖ ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវកម្រិតសហគ្រាសសម្រាប់កម្មវិធីដែលមានអ្នកប្រើប្រាស់ច្រើន និងការរួមបញ្ចូលភាគីទីបី។ អ្នកប្រើប្រាស់ផ្តល់សិទ្ធិអោយកម្មវិធីរបស់អ្នកដើម្បីចូលប្រើទិន្នន័យរបស់ពួកគេ។
ការស្នើសុំ 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_ — គន្លឹះអភិវឌ្ឍន៍ផ្ទាល់ខ្លួនដែលមានទិន្នន័យធារាសាស្ត្រ
ក្បាល X-API-Key (ចម្បង)
ផ្ញើគន្លឹះ API របស់អ្នកនៅក្នុង X-API-Key ក្បាលសំណើសម្រាប់ការស្នើសុំ API ទាំងអស់។ កុំដាក់គន្លឹះរបស់អ្នកនៅក្នុង URL។
ក្បាល 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"
គំរូ 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
សម្រាប់វគ្គដែលមានអាយុកាលវែង និងការទំនាក់ទំនងពីម៉ាស៊ីនមេទៅម៉ាស៊ីនមេ ផ្លាស់ប្តូរគន្លឹះ API របស់អ្នកជាមួយសញ្ញាសម្គាល់ JWT។ សញ្ញាសម្គាល់ JWT មានអាយុកាល ២៤ ម៉ោង និងកាត់បន្ថយតម្រូវការក្នុងការរក្សាទុកគន្លឹះ API របស់អ្នកនៅក្នុងកូដកម្មវិធី។
ការទទួលសញ្ញាសម្គាល់ JWT
POST គន្លឹះ API របស់អ្នកទៅកាន់ចំណុចបញ្ចប់ JWT ដើម្បីទទួលសញ្ញាសម្គាល់៖
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
ប្រើសញ្ញាសម្គាល់ 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 គាំទ្រលំហូរលេខកូដអនុញ្ញាតសម្រាប់កម្មវិធីវែប៖
- អ្នកប្រើប្រាស់ចុចប៊ូតុង "តភ្ជាប់ជាមួយ Smart Money"
- កម្មវិធីរុករកបញ្ជូនបន្តទៅទំព័រអនុញ្ញាត
- អ្នកប្រើប្រាស់ផ្តល់សិទ្ធិអោយកម្មវិធីរបស់អ្នក
- កម្មវិធីរុករកបញ្ជូនបន្តត្រឡប់មកវិញជាមួយលេខកូដអនុញ្ញាត
- ម៉ាស៊ីនមេរបស់អ្នកផ្លាស់ប្តូរលេខកូដជាមួយសញ្ញាសម្គាល់ចូលប្រើ
- ឥឡូវនេះអ្នកអាចចូលប្រើទិន្នន័យអ្នកប្រើប្រាស់ក្នុងនាមពួកគេ
ជំហានទី 1៖ ការស្នើសុំអនុញ្ញាត
បញ្ជូនបន្តអ្នកប្រើប្រាស់ទៅកាន់ចំណុចបញ្ចប់អនុញ្ញាត៖
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 -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
{
"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 របស់អ្នកជាទៀងទាត់ដើម្បីកាត់បន្ថយហានិភ័យនៃការលួច។ យើងណែនាំអោយប្តូរគន្លឹះរៀងរាល់ ៩០ ថ្ងៃ៖
- បង្កើតគន្លឹះ API ថ្មីនៅក្នុងកុងសូលរបស់អ្នក
- ធ្វើបច្ចុប្បន្នភាពកម្មវិធីរបស់អ្នកដើម្បីប្រើសោថ្មី
- សាកល្បងថាអ្វីៗដំណើរការយ៉ាងត្រឹមត្រូវ
- លុបសៅចាស់ពីកុងសូលរបស់អ្នក
វិសាលភាព និងការអនុញ្ញាត
នៅពេលបង្កើតសោ API ឬប្រើ OAuth សូមបញ្ជាក់ពីធនធានដែលសោរបស់អ្នកអាចចូលប្រើបាន៖
| វិសាលភាព |
ការពិពណ៌នា |
កំរិត |
| whale_positions |
អានទីតាំងកាបូបសាច់ប្រាក់របស់អ្នកលក់ដូរ (whale) |
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។ បង្កើតគណនីរបស់អ្នក និងបង្កើតពាក្យសម្ងាត់ផ្ទៀងផ្ទាត់ក្នុងរយៈពេលតែប៉ុន្មាននាទី។
ទៅកាន់កុងសូល