API Testing at Sandbox Environment Guide

Masterin ang pagte-test gamit ang komprehensibong sandbox environment ng Smart Money API. Mag-develop nang walang risk gamit ang makatotohanang test data, deterministic na mga response, at malalaking rate limit para sa eksperimentasyon.

Na-publish noong Marso 21, 2026 14 minutong babasahin Pag-develop

Pangkalahatang-ideya ng Sandbox Environment

Nagbibigay ang Smart Money API ng full-featured na sandbox environment para sa pag-develop at pagte-test. Ang sandbox ay salamin ng production API structure ngunit gumagamit ng synthetic data at malalaking rate limit, na nagbibigay-daan sa iyong mag-develop nang may kumpiyansa bago mag-live.

Mga pangunahing katangian:

  • Kapareho ng Production — Parehong mga endpoint, authentication, format ng response
  • Test Data Lamang — Hindi nakakaapekto sa totoong mga account o live na merkado
  • Mataas na Rate Limits — 10,000 request/oras kumpara sa 1,000 sa production
  • Deterministic na mga Response — Pare-parehong test fixtures para sa reproducible na pagte-test
  • Isolated na mga Account — Hiwalay sa production user data

Best Practice: Ang lahat ng pag-develop, pagte-test, at staging ay dapat gumamit ng sandbox environment. Gamitin lamang ang production pagkatapos ng masusing pag-validate sa sandbox.

Mga Tampok ng Sandbox

Makatotohanang Test Data

Ang sandbox ay naglalaman ng makatotohanang cryptocurrency market data na hindi nagbabago nang random:

  • Historical market data (6 na buwan ng makatotohanang OHLCV)
  • Mga fixed na whale wallet address na may pare-parehong galaw
  • Stable na funding rates na nagre-reset kada oras
  • Deterministic na liquidation patterns para sa pagte-test ng edge cases

Mga Tampok para sa Pagte-test

Test Features
// Deterministic test symbols
// Lahat ng test symbol ay nagsisimula sa TEST_
TEST_BTC, TEST_ETH, TEST_SOL, atbp.
// Magic timestamps para sa pag-simulate ng mga scenario
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // Nagbabalik ng fixed test data
// Pwersahin ang mga error para sa pagte-test ng exception handling
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

Mga Test Utility

  • Pag-reset ng Data — I-reset ang lahat ng test account sa initial state
  • Kontrol sa Oras — I-simulate ang iba't ibang market condition
  • Error Injection — Pwersahin ang mga specific na error response
  • Pagte-test ng Rate Limit — I-trigger ang mga rate limit response
Kunin ang iyong API key sa loob ng 30 segundo

Handa nang mag-build? Kumuha ng libreng API key (50 tawag/araw, walang card) at simulan nang kumuha ng live whale, funding, at on-chain data.

Kunin ang iyong API key →

Mga Test Credential

Pagkuha ng Test API Keys

Gumawa ng test account sa dashboard para makagawa ng sandbox API keys:

Format ng Test Key
// Ang test keys ay may ibang prefix
sk_test_1234567890abcdef // Test API key
sk_live_1234567890abcdef // Production API key
// Awtomatikong nagro-route sa angkop na environment
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# Nagro-route sa sandbox nang awtomatiko

Mga Pre-Configured na Test Key

Gamitin ang mga public test key na ito para sa mabilis na eksperimentasyon (may rate limit):

Key Mga Permiso Limit
sk_test_demo Basahin lahat 100/oras
sk_test_trader Basahin + alerts 500/oras
sk_test_pro Buong access 5000/oras

Huwag gamitin ang test keys sa production. May limitado silang functionality at rate limits.

Test Data at Fixtures

Mga Available na Test Symbol

Kasama sa sandbox ang mga test trading pair na ito na may makatotohanang historical data:

Mga Test Symbol
// Cryptocurrency pairs
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// I-query ang mga test symbol
GET /v1/symbols?test_only=true

Mga Test Whale Wallet

Mga pre-configured na test wallet na may deterministic na behavior:

  • Accumulator Wallet — Patuloy na bumibili, maganda para sa bullish testing
  • Distributor Wallet — Patuloy na nagbebenta, maganda para sa bearish testing
  • Oscillator Wallet — Halinhinang bumibili/nagbebenta, maganda para sa range-bound testing
  • Volatility Wallet — Random na malalaking transaksyon para sa stress testing

Pag-reset ng Test Data

I-reset ang Test Data
// I-reset ang lahat ng test account sa initial state
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// I-reset ang specific na resource
POST /v1/test/reset?resource=whales
// Response
{
"status": "reset_complete",
"timestamp": 1709980800000
}

Sandbox Endpoints

Base URLs

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

Sandbox-Only Endpoints

Endpoint Layunin
POST /test/reset I-reset ang test data sa unang estado
POST /test/inject-error Mag-inject ng partikular na error para sa pag-test
POST /test/simulate-time I-simulate ang iba't ibang kondisyon ng merkado
GET /test/status Suriin ang kalusugan ng sandbox environment

Response Mocking

Pag-inject ng Test Errors

Pilitin ang partikular na error response para sa pag-test ng exception handling:

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 Layunin
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

Gamitin ang mga environment variable para magpalit sa pagitan ng sandbox at production:

Pag-setup ng Environment
// .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

Pagtroubleshoot

Mga Karaniwang Isyu

Hindi Gumagana ang Test Key

Problema: Nakukuha ang 401 Unauthorized gamit ang test key

Mga Solusyon:

  • Tiyaking nagsisimula ang key sa sk_test_ (hindi sk_live_)
  • Suriin ang format ng Authorization header: "Bearer sk_test_xxx"
  • Siguraduhing gumagamit ng test endpoint: api-test.smartmoney.io
  • Ang test key ay maaaring na-exceed na ang rate limit

Hindi Na-rereset ang Data

Problema: Hindi na-rereset ang test data pagkatapos ng POST /test/reset

Mga Solusyon:

  • Ang reset ay maaaring tumagal ng hanggang 30 segundo para ma-propagate
  • Suriin ang status ng sandbox gamit ang GET /test/status
  • Tiyaking gumagamit ng tamang test API key
  • Makipag-ugnayan sa suporta kung patuloy pa rin

Mga Rate Limit sa Sandbox

Problema: Na-hit ang rate limits sa sandbox (hindi dapat mangyari ito)

Mga Solusyon:

  • Tiyaking gumagamit ng sk_test_pro key (10,000/hour)
  • Suriin ang X-RateLimit-Remaining header
  • Maghintay sa hour boundary o gumamit ng ibang test account
  • Makipag-ugnayan sa suporta para sa pansamantalang pagtaas ng rate limit

Magsimulang Mag-test Ngayon

Gamitin ang aming komprehensibong sandbox environment para sa ligtas, nakahiwalay na development. Deterministikong test data, mataas na rate limits, at kumpletong feature parity sa production.

Kumuha ng Test Credentials
Lahat ng plano ay may kasamang access sa sandbox. Walang karagdagang bayad.

Mga Kaugnay na Resource

Magsimula nang libre — 200 calls/day, walang card

Kumuha ng live whale flow, funding, open interest at on-chain data sa 3 exchanges mula sa iisang API. Libreng tier, walang credit card, mag-upgrade anumang oras.

Magsimula nang libre →
Subukan ang live API console → (hindi kailangan ng account)