Ghid pentru Testarea API și Mediu Sandbox

Stăpânește testarea cu mediul sandbox cuprinzător al Smart Money API. Dezvoltă fără risc folosind date de test realiste, răspunsuri deterministe și limite de rată generoase pentru experimentare.

Publicat pe 21 martie 2026 14 min de citit Dezvoltare

Prezentare generală a Mediului Sandbox

Smart Money API oferă un mediu sandbox complet pentru dezvoltare și testare. Sandbox-ul reflectă structura API-ului de producție, dar utilizează date sintetice și limite de rată generoase, permițându-vă să dezvoltați cu încredere înainte de a trece în producție.

Caracteristici cheie:

  • Identic cu Producția — Aceleași endpoint-uri, autentificare, format de răspuns
  • Doar Date de Test — Nu afectează conturile reale sau piețele live
  • Limite de Rată Mari — 10.000 cereri/oră față de 1.000 în producție
  • Răspunsuri Deterministe — Fișiere de test consistente pentru testare reproducibilă
  • Conturi Izolate — Separate de datele utilizatorilor din producție

Best Practice: Toate dezvoltările, testele și mediile de staging ar trebui să folosească mediul sandbox. Folosiți producția doar după validarea amănunțită în sandbox.

Caracteristici Sandbox

Date de Test Realiste

Sandbox-ul conține date de piață realiste pentru criptomonede care nu se schimbă aleatoriu:

  • Date de piață istorice (6 luni de date OHLCV realiste)
  • Adrese de portofel fixe pentru „balene” cu modele de mișcare consistente
  • Rate de finanțare stabile care se resetează la fiecare oră
  • Modele de lichidare deterministe pentru testarea cazurilor limită

Caracteristici Specifice Testelor

Caracteristici de Test
// Simboluri de test deterministe
// Toate simbolurile de test încep cu TEST_
TEST_BTC, TEST_ETH, TEST_SOL, etc.
// Timestamp-uri magice pentru simularea scenariilor
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // Returnează date de test fixe
// Forțează erori pentru testarea gestionării excepțiilor
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

Utilitare de Test

  • Resetare Date — Resetează toate conturile de test la starea inițială
  • Controlul Timpului — Simulează diferite condiții de piață
  • Injectare Erori — Forțează răspunsuri de eroare specifice
  • Testarea Limitelor de Rată — Declanșează răspunsuri la limita de rată
Obține cheia ta API în 30 de secunde

Gata de construit? Obține o cheie API gratuită (50 de apeluri/zi, fără card) și începe să extragi date live despre „balene”, finanțare și on-chain.

Obține cheia ta API →

Credențiale de Test

Obținerea Cheilor API de Test

Creează un cont de test prin panoul de control pentru a genera chei API sandbox:

Formatul Cheii de Test
// Cheile de test au un prefix diferit
sk_test_1234567890abcdef // Cheie API de test
sk_live_1234567890abcdef // Cheie API de producție
// Direcționează automat către mediul corespunzător
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# Direcționează automat către sandbox

Chei de Test Preconfigurate

Folosește aceste chei de test publice pentru experimentare rapidă (cu limită de rată):

Cheie Permisiuni Limită
sk_test_demo Citire totală 100/oră
sk_test_trader Citire + alerte 500/oră
sk_test_pro Acces complet 5000/oră

Nu folosi niciodată chei de test în producție. Acestea au funcționalitate limitată și limite de rată.

Date și Fișiere de Test

Simboluri de Test Disponibile

Sandbox-ul include aceste perechi de tranzacționare de test cu date istorice realiste:

Simboluri de Test
// Perechi de criptomonede
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// Interogare simboluri de test
GET /v1/symbols?test_only=true

Portofele de Test pentru „Balene”

Portofele de test preconfigurate cu comportament determinist:

  • Portofel Acumulator — Cumpără constant, bun pentru testarea optimistă
  • Portofel Distribuitor — Vinde constant, bun pentru testarea pesimistă
  • Portofel Oscilator — Alternează cumpărare/vânzare, bun pentru testarea în interval
  • Portofel Volatilitate — Tranzacții mari aleatorii pentru testarea de stres

Resetarea Datelor de Test

Resetare Date de Test
// Resetează toate conturile de test la starea inițială
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// Resetează o resursă specifică
POST /v1/test/reset?resource=whales
// Răspuns
{
"status": "reset_complete",
"timestamp": 1709980800000
}

Puncte de acces Sandbox

URL-uri de bază

URL-uri pentru medii
// Sandbox (mod de testare)
https://api-test.smartmoney.io/v1
// Sau folosește parametrul de interogare
https://api.smartmoneyapi.com/v1?environment=sandbox
// Producție (mod live)
https://api.smartmoneyapi.com/v1

Puncte de acces exclusive Sandbox

Punct de acces Scop
POST /test/reset Resetează datele de test la starea inițială
POST /test/inject-error Injectează o eroare specifică pentru testare
POST /test/simulate-time Simulează diferite condiții de piață
GET /test/status Verifică starea mediului Sandbox

Simularea răspunsurilor

Injectarea erorilor de test

Forțează răspunsuri cu erori specifice pentru testarea gestionării excepțiilor:

Injectarea erorilor
// Testează gestionarea limitării ratei
GET /v1/whales?X-Test-Error=rate_limit_exceeded
// Testează indisponibilitatea serviciului
GET /v1/whales?X-Test-Error=service_unavailable
// Testează eșecul autentificării
GET /v1/whales?X-Test-Error=invalid_key
// Testează timeout-ul
GET /v1/whales?X-Test-Error=timeout

Erori de test disponibile

Cod de eroare Stare HTTP Caz de utilizare
invalid_key 401 Gestionarea erorilor de autentificare
rate_limit_exceeded 429 Testarea logicii de backoff
not_found 404 Gestionarea resurselor lipsă
service_unavailable 503 Testarea logicii de reîncercare
timeout 504 Gestionarea timeout-urilor

Limite de rată în Sandbox

Niveluri de limită de rată

Mediu Limită/oră Burst Scop
Sandbox 10,000 500/min Dezvoltare și testare
Producție Gratuit 1,000 50/min Proiecte hobby
Producție Trader 10,000 400/min Tranzacționare profesională
Producție Pro 50,000 1000/min Sisteme cu frecvență înaltă

Testarea gestionării limitelor de rată

Testarea limitelor de rată
// Declanșează răspunsul la limita de rată în Sandbox
curl -H "X-Test-Error: rate_limit_exceeded" \
https://api-test.smartmoney.io/v1/whales
// Răspunsul include antete pentru reîncercare
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709984400
Retry-After: 3600

Strategii de testare

Testarea unitară cu fixture-uri

Test unitar Python
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())

Testare de integrare

Testează fluxul complet în Sandbox înainte de implementarea în producție:

  1. Implementează în staging cu credențiale Sandbox
  2. Rulează întregul set de teste împotriva Sandbox
  3. Testează gestionarea erorilor cu injectarea de erori
  4. Verifică comportamentul la limitarea ratei
  5. Verifică timpul de răspuns și latența
  6. Abia apoi promovează în producție

Testare de încărcare

Test de încărcare cu Apache Bench
// Sandbox permite testarea la încărcare mare
ab -n 5000 -c 100 \
-H "Authorization: Bearer sk_test_pro" \
https://api-test.smartmoney.io/v1/whales/TEST_BTC

Integrare CI/CD

Exemplu GitHub Actions

.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/

Configurarea mediului

Folosește variabilele de mediu pentru a comuta între mediul de testare (sandbox) și producție:

Configurarea Mediului
// .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

Depanare

Probleme Comune

Cheia de Test Nu Funcționează

Problemă: Primești eroarea 401 Neautorizat cu cheia de test

Soluții:

  • Verifică dacă cheia începe cu sk_test_ (nu sk_live_)
  • Verifică formatul antetului Authorization: "Bearer sk_test_xxx"
  • Asigură-te că folosești endpoint-ul de test: api-test.smartmoney.io
  • Cheia de test poate fi depășită la nivelul limitelor de rată

Datele Nu Se Resetează

Problemă: Datele de test nu se resetează după POST /test/reset

Soluții:

  • Resetarea poate dura până la 30 de secunde pentru a fi propagată
  • Verifică starea sandbox-ului cu GET /test/status
  • Verifică dacă folosești cheia de test corectă
  • Contactează suportul dacă problema persistă

Limite de Rată în Sandbox

Problemă: Depășirea limitelor de rată în sandbox (nu ar trebui să se întâmple)

Soluții:

  • Verifică dacă folosești cheia sk_test_pro (10.000/oră)
  • Verifică antetul X-RateLimit-Remaining
  • Așteaptă limita orară sau folosește un alt cont de test
  • Contactează suportul pentru o creștere temporară a limitei de rată

Începe Testarea Astăzi

Folosește mediul nostru complet de sandbox pentru dezvoltare sigură și izolată. Date de test deterministe, limite de rată ridicate și funcționalități complete identice cu cele din producție.

Obține Credențiale de Test
Toate planurile includ acces la sandbox. Fără costuri suplimentare.

Resurse Asociate

Începe gratuit — 50 de apeluri/zi, fără card

Obține date live despre fluxul balenelor, finanțare, interes deschis și on-chain de la 3 exchange-uri dintr-un singur API. Nivel gratuit, fără card de credit, poți face upgrade oricând.

Începe gratuit →
Încearcă consola live API → (nu este necesar cont)