Panduan Pengesahan

Pelajari cara mengesahkan dengan Smart Money API menggunakan kunci API, token JWT, dan OAuth 2.0. Selamatkan integrasi anda dengan kaedah pengesahan standard industri dan amalan terbaik.

Gambaran Keseluruhan

Smart Money API menyokong pelbagai kaedah pengesahan untuk kes penggunaan yang berbeza. Pilih kaedah yang paling sesuai dengan integrasi anda:

Kunci API (utama): Hantar kunci anda dalam X-API-Key header permintaan untuk semua panggilan API REST. Ini adalah kaedah yang disyorkan untuk bot dan penggunaan server-ke-server.
Sesi JWT (sandaran): Sesi pelayar/dashboard disahkan dengan JWT sesi melalui Authorization: Bearer, sah selama 24 jam. Pelanggan berprogram harus mengutamakan X-API-Key.
OAuth 2.0: Pengesahan gred perusahaan untuk aplikasi berbilang pengguna dan integrasi pihak ketiga. Pengguna membenarkan apl anda mengakses data mereka.
Semua permintaan API mesti dibuat melalui HTTPS. Permintaan HTTP tidak disulitkan akan ditolak. Selain itu, jangan sekali-kali menyimpan kunci API dalam kawalan versi atau berkongsinya secara terbuka.

Kunci API

Kunci API adalah kelayakan unik yang dikeluarkan untuk akaun anda. Setiap kunci mewakili satu set kebenaran dan kuota. Anda boleh menjana berbilang kunci untuk aplikasi atau persekitaran yang berbeza (pembangunan, pentas, pengeluaran).

Menjana Kunci API

Jana kunci API dari konsol akaun anda:

  1. Navigasi ke Smart Money Console
  2. Pilih "Kunci API" dari bar sisi
  3. Klik "Jana Kunci Baru"
  4. Pilih jenis kunci (Pembangunan, Pentas, Pengeluaran)
  5. Tetapkan had kadar dan ciri
  6. Salin dan simpan kunci dengan selamat
Simpan kunci API anda dengan segera! Anda tidak akan dapat melihatnya lagi. Jika anda kehilangannya, anda perlu menjana kunci baru.

Format Kunci

Kunci API mengikuti format standard:

Format Kunci
sk_live_4e3e4d0f1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z sk_test_8f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f sk_dev_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b

Awalan kunci menunjukkan persekitaran:

sk_live_ — Kunci pengeluaran dengan kuota penuh
sk_test_ — Kunci ujian dengan kuota dikurangkan dan data pembangunan
sk_dev_ — Kunci pembangunan peribadi dengan data kotak pasir

Header X-API-Key (utama)

Hantar kunci API anda dalam X-API-Key header permintaan untuk semua permintaan API. Jangan sekali-kali meletakkan kunci anda dalam URL.

Header HTTP

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

Contoh cURL

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

Contoh Python

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

Pengesahan Token JWT

Untuk sesi jangka panjang dan komunikasi server-ke-server, tukar kunci API anda dengan token JWT. Token JWT bertahan selama 24 jam dan mengurangkan keperluan untuk menyimpan kunci API dalam kod aplikasi.

Mendapatkan Token JWT

POST kunci API anda ke titik akhir JWT untuk mendapatkan token:

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

Respons JWT

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

Menggunakan Token JWT

Gunakan token JWT dalam header Authorization seperti kunci API:

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 adalah untuk aplikasi yang perlu mengakses berbilang akaun pengguna. Pengguna memberikan kebenaran kepada apl anda untuk mengakses data mereka tanpa berkongsi kunci API mereka.

Aliran OAuth 2.0

Smart Money API menyokong aliran Kod Pengesahan untuk aplikasi web:

  1. Pengguna klik butang "Sambung dengan Smart Money"
  2. Pelayar mengalihkan ke halaman pengesahan
  3. Pengguna memberikan kebenaran kepada apl anda
  4. Pelayar mengalihkan semula dengan kod pengesahan
  5. Backend anda menukar kod untuk token akses
  6. Anda kini boleh mengakses data pengguna bagi pihak mereka

Langkah 1: Permintaan Pengesahan

Alihkan pengguna ke titik akhir pengesahan:

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

Langkah 2: Pertukaran Token

Selepas pengguna memberikan kebenaran, tukar kod untuk token akses:

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"

Respons Token OAuth

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

Amalan Keselamatan Terbaik

Simpan Kunci dengan Selamat

Jangan sekali-kali menyimpan kunci API dalam kawalan versi, mengodkannya dalam aplikasi, atau berkongsinya dalam dokumentasi. Gunakan pembolehubah persekitaran atau perkhidmatan pengurusan kunci yang selamat seperti AWS Secrets Manager, HashiCorp Vault, atau yang serupa.

Gunakan HTTPS Sahaja

Semua permintaan API mesti menggunakan HTTPS (TLS 1.2 atau lebih tinggi). Permintaan HTTP akan ditolak. Ini memastikan kunci API dan data anda disulitkan dalam transit.

Hadkan Kebenaran Kunci

Buat kunci API berasingan untuk aplikasi dan persekitaran yang berbeza. Gunakan skop untuk mengehadkan apa yang boleh diakses oleh setiap kunci. Jangan gunakan kunci pengeluaran dalam pembangunan.

Pantau Penggunaan Kunci

Semak penggunaan API secara berkala dalam konsol anda. Tetapkan amaran untuk aktiviti luar biasa atau kuota yang menghampiri had. Padam kunci yang tidak lagi anda gunakan.

Putaran Kunci

Putar kunci API anda secara berkala untuk mengurangkan risiko kompromi. Kami mengesyorkan memutar kunci setiap 90 hari:

  1. Jana kunci API baru dalam konsol anda
  2. Kemas kini aplikasi anda untuk menggunakan kunci baru
  3. Uji bahawa semuanya berfungsi dengan betul
  4. Padam kunci lama dari konsol anda

Skop & Kebenaran

Apabila mencipta kunci API atau menggunakan OAuth, nyatakan sumber mana yang boleh diakses oleh kunci anda:

Skop Penerangan Tier
whale_positions Baca posisi dompet ikan paus Trader+
funding_rates Baca data kadar pembiayaan Free+
liquidations Baca suapan peleraian Free+
open_interest Baca data minat terbuka Trader+
confirmation_scores Baca skor pengesahan AI Pro+
on_chain Baca metrik on-chain Pro+

Contoh Kod Pengesahan

Integrasi Python Lengkap

Python
import requests from typing import Optional, Dict from datetime import datetime, timedelta class SmartMoneyAuth: """Mengendalikan semua kaedah pengesahan untuk 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: """Dapatkan atau segar semula token JWT""" 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: """Dapatkan header untuk pengesahan token Bearer""" return { "Authorization": f"Bearer {self.api_key}", "Content-Type": "application/json" } def headers_jwt(self) -> Dict: """Dapatkan header untuk pengesahan JWT""" 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: """Buat permintaan yang disahkan""" 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() # Penggunaan auth = SmartMoneyAuth("sk_live_abc123xyz789") # Kaedah token Bearer whales = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT") # Kaedah JWT (penyegaran automatik) whales_jwt = auth.request("GET", "/v1/whales/events?symbol=BTCUSDT", use_jwt=True) print(f"Ditemui {whales['data']['total']} posisi ikan paus")

Perlukan Bantuan?

Semak dokumentasi API kami atau hubungi sokongan jika anda memerlukan bantuan dengan pengesahan.

Rujukan API

Hasilkan Kunci API Pertama Anda

Mulakan dengan Smart Money API. Cipta akaun anda dan hasilkan kelayakan pengesahan dalam beberapa minit.

Pergi ke Konsol
Mulakan percuma — 100 panggilan/hari, tiada kad

Dapatkan aliran ikan paus langsung, pembiayaan, minat terbuka dan data on-chain merentasi 3 pertukaran dari satu API. Tier percuma, tiada kad kredit, naik taraf bila-bila masa.

Mulakan percuma →
Cuba konsol API langsung → (tiada akaun diperlukan)
Dapatkan kunci API dalam 30 saat

Sedia untuk membina? Dapatkan kunci API percuma (100 panggilan/hari, tiada kad) dan mula menarik data ikan paus, pembiayaan dan on-chain langsung.

Dapatkan kunci API anda →