Panduan Pengujian API dan Lingkungan Sandbox

Kuasai pengujian dengan lingkungan sandbox komprehensif Smart Money API. Kembangkan tanpa risiko menggunakan data uji realistis, respons deterministik, dan batas laju yang murah hati untuk eksperimen.

Diterbitkan 21 Maret 2026 14 menit baca Pengembangan

Ikhtisar Lingkungan Sandbox

Smart Money API menyediakan lingkungan sandbox lengkap untuk pengembangan dan pengujian. Sandbox mencerminkan struktur API produksi tetapi menggunakan data sintetis dan batas laju yang murah hati, memungkinkan Anda mengembangkan dengan percaya diri sebelum diluncurkan.

Karakteristik utama:

  • Identik dengan Produksi — Endpoint, autentikasi, format respons yang sama
  • Hanya Data Uji — Tidak pernah memengaruhi akun nyata atau pasar langsung
  • Batas Laju Tinggi — 10.000 permintaan/jam vs 1.000 di produksi
  • Respons Deterministik — Data uji konsisten untuk pengujian yang dapat direproduksi
  • Akun Terisolasi — Terpisah dari data pengguna produksi

Praktik Terbaik: Semua pengembangan, pengujian, dan staging harus menggunakan lingkungan sandbox. Gunakan produksi hanya setelah validasi sandbox yang menyeluruh.

Fitur Sandbox

Data Uji Realistis

Sandbox berisi data pasar kripto realistis yang tidak berubah secara acak:

  • Data pasar historis (6 bulan OHLCV realistis)
  • Alamat dompet paus tetap dengan pola pergerakan konsisten
  • Tingkat pendanaan stabil yang direset setiap jam
  • Pola likuidasi deterministik untuk menguji kasus tepi

Fitur Khusus Pengujian

Fitur Uji
// Simbol uji deterministik
// Semua simbol uji diawali dengan TEST_
TEST_BTC, TEST_ETH, TEST_SOL, dst.
// Stempel waktu ajaib untuk mensimulasikan skenario
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // Mengembalikan data uji tetap
// Paksa kesalahan untuk pengujian penanganan pengecualian
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

Utilitas Uji

  • Reset Data — Setel ulang semua akun uji ke keadaan awal
  • Kontrol Waktu — Simulasikan kondisi pasar yang berbeda
  • Suntik Kesalahan — Paksa respons kesalahan tertentu
  • Pengujian Batas Laju — Picu respons batas laju
Dapatkan kunci API dalam 30 detik

Siap membangun? Dapatkan kunci API gratis (50 panggilan/hari, tanpa kartu) dan mulai menarik data paus, pendanaan, dan on-chain langsung.

Dapatkan kunci API →

Kredensial Pengujian

Mendapatkan Kunci API Uji

Buat akun uji melalui dashboard untuk menghasilkan kunci API sandbox:

Format Kunci Uji
// Kunci uji memiliki awalan berbeda
sk_test_1234567890abcdef // Kunci API uji
sk_live_1234567890abcdef // Kunci API produksi
// Secara otomatis mengarahkan ke lingkungan yang sesuai
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# Mengarahkan ke sandbox secara otomatis

Kunci Uji yang Dikonfigurasi Sebelumnya

Gunakan kunci uji publik ini untuk eksperimen cepat (dibatasi laju):

Kunci Izin Batas
sk_test_demo Baca semua 100/jam
sk_test_trader Baca + peringatan 500/jam
sk_test_pro Akses penuh 5000/jam

Jangan pernah menggunakan kunci uji di produksi. Mereka memiliki fungsionalitas dan batas laju yang terbatas.

Data dan Perlengkapan Uji

Simbol Uji yang Tersedia

Sandbox mencakup pasangan perdagangan uji berikut dengan data historis realistis:

Simbol Uji
// Pasangan kripto
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// Kueri simbol uji
GET /v1/symbols?test_only=true

Dompet Paus Uji

Dompet uji yang dikonfigurasi sebelumnya dengan perilaku deterministik:

  • Dompet Akumulator — Konsisten membeli, baik untuk pengujian bullish
  • Dompet Distributor — Konsisten menjual, baik untuk pengujian bearish
  • Dompet Osilator — Bergantian beli/jual, baik untuk pengujian terikat rentang
  • Dompet Volatilitas — Transaksi besar acak untuk pengujian stres

Mereset Data Uji

Reset Data Uji
// Setel ulang semua akun uji ke keadaan awal
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// Reset sumber daya tertentu
POST /v1/test/reset?resource=whales
// Respons
{
"status": "reset_complete",
"timestamp": 1709980800000
}

Sandbox Endpoints

Base URLs

Environment URLs
// Sandbox (test mode)
https://api-test.smartmoney.io/v1
// Or use query parameter
https://api.smartmoneyapi.com/v1?environment=sandbox
// Production (live mode)
https://api.smartmoneyapi.com/v1

Sandbox-Only Endpoints

Endpoint Purpose
POST /test/reset Reset data uji ke keadaan awal
POST /test/inject-error Suntikkan kesalahan spesifik untuk pengujian
POST /test/simulate-time Simulasikan kondisi pasar yang berbeda
GET /test/status Periksa kesehatan lingkungan sandbox

Response Mocking

Injecting Test Errors

Paksa respons kesalahan spesifik untuk pengujian penanganan pengecualian:

Error Injection
// Test rate limit handling
GET /v1/whales?X-Test-Error=rate_limit_exceeded
// Test service unavailability
GET /v1/whales?X-Test-Error=service_unavailable
// Test authentication failure
GET /v1/whales?X-Test-Error=invalid_key
// Test timeout
GET /v1/whales?X-Test-Error=timeout

Available Test Errors

Error Code HTTP Status Use Case
invalid_key 401 Auth error handling
rate_limit_exceeded 429 Backoff logic testing
not_found 404 Missing resource handling
service_unavailable 503 Retry logic testing
timeout 504 Timeout handling

Sandbox Rate Limits

Rate Limit Tiers

Environment Limit/Hour Burst Purpose
Sandbox 10,000 500/min Development & testing
Production Free 1,000 50/min Hobby projects
Production Trader 10,000 400/min Professional trading
Production Pro 50,000 1000/min High-frequency systems

Testing Rate Limit Handling

Rate Limit Testing
// Trigger rate limit response in sandbox
curl -H "X-Test-Error: rate_limit_exceeded" \
https://api-test.smartmoney.io/v1/whales
// Response includes retry headers
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709984400
Retry-After: 3600

Testing Strategies

Unit Testing with Fixtures

Python Unit Test
import unittest
import requests
class TestSmartMoneyAPI(unittest.TestCase):
def setUp(self):
self.api_key = 'sk_test_demo'
self.base_url = 'https://api-test.smartmoney.io/v1'
def test_whale_tracking(self):
response = requests.get(
f'{self.base_url}/whales/TEST_BTC',
headers={'Authorization': f'Bearer {self.api_key}'}
)
self.assertEqual(response.status_code, 200)
self.assertIn('whales', response.json())

Integration Testing

Test full workflow in sandbox before production deployment:

  1. Deploy to staging with sandbox credentials
  2. Run full test suite against sandbox
  3. Test error handling with error injection
  4. Verify rate limiting behavior
  5. Check response time and latency
  6. Only then promote to production

Load Testing

Load Test with Apache Bench
// Sandbox allows high load testing
ab -n 5000 -c 100 \
-H "Authorization: Bearer sk_test_pro" \
https://api-test.smartmoney.io/v1/whales/TEST_BTC

CI/CD Integration

GitHub Actions Example

.github/workflows/test.yml
name: API Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: pip install requests pytest
- env:
SMARTMONEY_API_KEY: ${{ secrets.TEST_API_KEY }}
SMARTMONEY_ENV: sandbox
run: pytest tests/

Environment Configuration

Gunakan variabel lingkungan untuk beralih antara sandbox dan produksi:

Penyiapan Lingkungan
// .env.sandbox
SMARTMONEY_API_KEY=sk_test_demo
SMARTMONEY_API_URL=https://api-test.smartmoney.io/v1
SMARTMONEY_ENV=sandbox
// .env.production
SMARTMONEY_API_KEY=sk_live_xxxx
SMARTMONEY_API_URL=https://api.smartmoneyapi.com/v1
SMARTMONEY_ENV=production

Pemecahan Masalah

Masalah Umum

Kunci Tes Tidak Berfungsi

Masalah: Mendapatkan 401 Tidak Sah dengan kunci tes

Solusi:

  • Verifikasi kunci dimulai dengan sk_test_ (bukan sk_live_)
  • Periksa format header Otorisasi: "Bearer sk_test_xxx"
  • Pastikan menggunakan endpoint tes: api-test.smartmoney.io
  • Kunci tes mungkin telah melebihi batas rate

Data Tidak Mereset

Masalah: Data tes tidak mereset setelah POST /test/reset

Solusi:

  • Reset mungkin memakan waktu hingga 30 detik untuk dipropagasi
  • Periksa status sandbox dengan GET /test/status
  • Verifikasi menggunakan kunci API tes yang benar
  • Hubungi dukungan jika masalah berlanjut

Batas Rate di Sandbox

Masalah: Mencapai batas rate di sandbox (seharusnya tidak terjadi)

Solusi:

  • Verifikasi menggunakan kunci sk_test_pro (10.000/jam)
  • Periksa header X-RateLimit-Remaining
  • Tunggu batas jam atau gunakan akun tes berbeda
  • Hubungi dukungan untuk peningkatan batas rate sementara

Mulai Pengujian Hari Ini

Gunakan lingkungan sandbox komprehensif kami untuk pengembangan yang aman dan terisolasi. Data tes deterministik, batas rate tinggi, dan paritas fitur lengkap dengan produksi.

Dapatkan Kredensial Tes
Semua paket termasuk akses sandbox. Tanpa biaya tambahan.

Sumber Daya Terkait

Mulai gratis — 50 panggilan/hari, tanpa kartu

Dapatkan aliran paus, pendanaan, open interest, dan data on-chain dari 3 bursa dari satu API. Tingkat gratis, tanpa kartu kredit, upgrade kapan saja.

Mulai gratis →
Coba konsol API langsung → (tidak perlu akun)