API-testning och Sandbox-miljö Guide

Bemästra testning med Smart Money API:s omfattande sandbox-miljö. Utveckla riskfritt med realistiska testdata, deterministiska svar och generösa anropsgränser för experiment.

Publicerad 21 mars 2026 14 min läsning Utveckling

Översikt över Sandbox-miljö

Smart Money API erbjuder en fullfjädrad sandbox-miljö för utveckling och testning. Sandboxen speglar produktions-API:ets struktur men använder syntetiska data och generösa anropsgränser, vilket gör att du kan utveckla med säkerhet innan du går live.

Nyckelegenskaper:

  • Identisk med produktion — Samma ändpunkter, autentisering, svarsformat
  • Endast testdata — Påverkar aldrig riktiga konton eller livemarknader
  • Höga anropsgränser — 10 000 förfrågningar/timme jämfört med 1 000 i produktion
  • Deterministiska svar — Konsekventa testfixturer för repeterbara tester
  • Isolerade konton — Separat från produktionsanvändardata

Bästa praxis: All utveckling, testning och mellanlagring bör använda sandbox-miljön. Använd endast produktion efter noggrann sandbox-validering.

Sandbox-funktioner

Realistiska testdata

Sandbox innehåller realistiska kryptovalutamarknadsdata som inte ändras slumpmässigt:

  • Historiska marknadsdata (6 månader av realistiska OHLCV)
  • Fastställda valletadresser för stora innehavare med konsekventa rörelsemönster
  • Stabila finansieringsräntor som återställs varje timme
  • Deterministiska likvidationsmönster för att testa edge cases

Test-specifika funktioner

Testfunktioner
// Deterministiska testsymboler
// Alla testsymboler börjar med TEST_
TEST_BTC, TEST_ETH, TEST_SOL, etc.
// Magiska tidsstämplar för att simulera scenarier
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // Returnerar fast testdata
// Framtvinga fel för testning av undantagshantering
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

Testverktyg

  • Dataåterställning — Återställ alla testkonton till ursprungligt tillstånd
  • Tidskontroll — Simulera olika marknadsförhållanden
  • Felinsprutning — Framtvinga specifika felsvar
  • Testning av anropsgränser — Utlös svar på anropsgränser
Få din API-nyckel på 30 sekunder

Redo att bygga? Hämta en gratis API-nyckel (200 anrop/dag, inget kort behövs) och börja hämta live-data om stora innehavare, finansiering och on-chain-data.

Hämta din API-nyckel →

Testuppgifter

Skaffa test-API-nycklar

Skapa ett testkonto via instrumentpanelen för att generera sandbox-API-nycklar:

Testnyckelformat
// Testnycklar har annat prefix
sk_test_1234567890abcdef // Test-API-nyckel
sk_live_1234567890abcdef // Produktions-API-nyckel
// Dirigeras automatiskt till rätt miljö
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# Dirigeras automatiskt till sandbox

Förkonfigurerade testnycklar

Använd dessa offentliga testnycklar för snabb experimentering (begränsad frekvens):

Nyckel Behörigheter Gräns
sk_test_demo Läs alla 100/timme
sk_test_trader Läs + varningar 500/timme
sk_test_pro Full tillgång 5000/timme

Använd aldrig testnycklar i produktion. De har begränsad funktionalitet och anropsgränser.

Testdata och fixturer

Tillgängliga testsymboler

Sandbox innehåller dessa testhandelspar med realistisk historisk data:

Testsymboler
// Kryptovalutapar
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// Fråga efter testsymboler
GET /v1/symbols?test_only=true

Testade plånböcker för stora innehavare

Förkonfigurerade testplånböcker med deterministiskt beteende:

  • Ackumuleringsplånbok — Köper konsekvent, bra för hausseartade tester
  • Distributionsplånbok — Säljer konsekvent, bra för baisseartade tester
  • Oscillerande plånbok — Växlar mellan köp och försäljning, bra för test i begränsade intervall
  • Volatilitetsplånbok — Slumpmässiga stora transaktioner för stresstestning

Återställning av testdata

Återställ testdata
// Återställ alla testkonton till ursprungligt tillstånd
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// Återställ specifik resurs
POST /v1/test/reset?resource=whales
// Svar
{
"status": "reset_complete",
"timestamp": 1709980800000
}

Sandbox-slutpunkter

Bas-URL:er

Miljö-URL:er
// Sandbox (testläge)
https://api-test.smartmoney.io/v1
// Eller använd frågeparameter
https://api.smartmoneyapi.com/v1?environment=sandbox
// Produktion (live-läge)
https://api.smartmoneyapi.com/v1

Endast Sandbox-slutpunkter

Slutpunkt Syfte
POST /test/reset Återställ testdata till ursprungligt tillstånd
POST /test/inject-error Injectera specifikt fel för testning
POST /test/simulate-time Simulera olika marknadsförhållanden
GET /test/status Kontrollera sandbox-miljöns hälsa

Responsmockning

Injectera testfel

Tvinga fram specifika felresponser för testning av undantagshantering:

Fel-injektion
// Testa hantering av hastighetsbegränsning
GET /v1/whales?X-Test-Error=rate_limit_exceeded
// Testa otillgänglighet för tjänsten
GET /v1/whales?X-Test-Error=service_unavailable
// Testa autentiseringsfel
GET /v1/whales?X-Test-Error=invalid_key
// Testa timeout
GET /v1/whales?X-Test-Error=timeout

Tillgängliga testfel

Felkod HTTP-status Användningsfall
invalid_key 401 Hantering av autentiseringsfel
rate_limit_exceeded 429 Testning av backoff-logik
not_found 404 Hantering av saknad resurs
service_unavailable 503 Testning av återförsökslogik
timeout 504 Hantering av timeout

Sandbox-hastighetsbegränsningar

Hastighetsbegränsningsnivåer

Miljö Gräns/Timme Burst Syfte
Sandbox 10,000 500/min Utveckling & testning
Produktion Gratis 1,000 50/min Hobbyprojekt
Produktion Trader 10,000 400/min Professionell handel
Produktion Pro 50,000 1000/min Högfrekventa system

Testning av hastighetsbegränsningshantering

Testning av hastighetsbegränsning
// Utlös hastighetsbegränsningsrespons i sandbox
curl -H "X-Test-Error: rate_limit_exceeded" \
https://api-test.smartmoney.io/v1/whales
// Respons inkluderar återförsökshuvuden
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709984400
Retry-After: 3600

Teststrategier

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

Integrationstestning

Testa hela arbetsflödet i sandbox före produktionsdistribution:

  1. Distribuera till staging med sandbox-autentiseringsuppgifter
  2. Kör fullständig testsvit mot sandbox
  3. Testa felhantering med felinjektion
  4. Verifiera beteende för hastighetsbegränsning
  5. Kontrollera svarstid och latens
  6. Endast då promovera till produktion

Belastningstestning

Belastningstest med Apache Bench
// Sandbox tillåter hög belastningstestning
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 Exempel

.github/workflows/test.yml
name: API-tester
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/

Miljökonfiguration

Använd miljövariabler för att växla mellan sandbox och produktion:

Miljöinställningar
// .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

Felsökning

Vanliga problem

Testnyckel fungerar inte

Problem: Får 401 Unauthorized med testnyckel

Lösningar:

  • Kontrollera att nyckeln börjar med sk_test_ (inte sk_live_)
  • Kontrollera Authorization-huvudets format: "Bearer sk_test_xxx"
  • Se till att du använder teständpunkten: api-test.smartmoney.io
  • Testnyckeln kan ha överskridit sin hastighetsgräns

Data återställs inte

Problem: Testdata återställs inte efter POST /test/reset

Lösningar:

  • Återställning kan ta upp till 30 sekunder att sprida
  • Kontrollera sandbox-status med GET /test/status
  • Verifiera att du använder rätt test-API-nyckel
  • Kontakta support om problemet kvarstår

Hastighetsbegränsningar i Sandbox

Problem: Träffar hastighetsbegränsningar i sandbox (borde inte hända)

Lösningar:

  • Verifiera att du använder sk_test_pro-nyckel (10 000/timme)
  • Kontrollera X-RateLimit-Remaining-huvudet
  • Vänta på timgränsen eller använd ett annat testkonto
  • Kontakta support för tillfällig ökning av hastighetsgränsen

Börja testa idag

Använd vår omfattande sandbox-miljö för säker, isolerad utveckling. Deterministiska testdata, höga hastighetsgränser och fullständig funktionsparitet med produktion.

Hämta testuppgifter
Alla planer inkluderar tillgång till sandbox. Inga extra kostnader.

Relaterade resurser

Starta gratis — 200 anrop/dag, inget kort

Få live whale flow, finansiering, öppet intresse och on-chain-data från 3 börser via ett API. Gratis nivå, inget kreditkort, uppgradera när som helst.

Starta gratis →
Prova live API-konsolen → (inget konto behövs)