API 테스트 및 샌드박스 환경 가이드

Smart Money API의 포괄적인 샌드박스 환경으로 테스트를 마스터하세요. 현실적인 테스트 데이터, 결정론적 응답 및 실험을 위한 관대한 속도 제한을 사용하여 위험 없이 개발하세요.

2026년 3월 21일 발행 14분 읽기 개발

샌드박스 환경 개요

Smart Money API는 개발 및 테스트를 위한 완전한 기능의 샌드박스 환경을 제공합니다. 샌드박스는 프로덕션 API 구조를 반영하지만 합성 데이터와 관대한 속도 제한을 사용하여 라이브 전에 자신 있게 개발할 수 있습니다.

주요 특징:

  • 프로덕션과 동일 — 동일한 엔드포인트, 인증, 응답 형식
  • 테스트 데이터만 — 실제 계정이나 라이브 시장에 영향을 미치지 않음
  • 높은 속도 제한 — 프로덕션의 1,000회 대비 시간당 10,000회 요청
  • 결정론적 응답 — 재현 가능한 테스트를 위한 일관된 테스트 픽스처
  • 격리된 계정 — 프로덕션 사용자 데이터와 분리됨

모범 사례: 모든 개발, 테스트 및 스테이징은 샌드박스 환경을 사용해야 합니다. 철저한 샌드박스 검증 후에만 프로덕션을 사용하세요.

샌드박스 기능

현실적인 테스트 데이터

샌드박스에는 무작위로 변경되지 않는 현실적인 암호화폐 시장 데이터가 포함되어 있습니다:

  • 역사적 시장 데이터 (6개월간의 현실적인 OHLCV)
  • 일관된 이동 패턴을 가진 고정된 고래 지갑 주소
  • 시간당 재설정되는 안정적인 펀딩 비율
  • 에지 케이스 테스트를 위한 결정론적 청산 패턴

테스트 전용 기능

테스트 기능
// 결정론적 테스트 심볼
// 모든 테스트 심볼은 TEST_로 시작
TEST_BTC, TEST_ETH, TEST_SOL 등
// 시나리오 시뮬레이션을 위한 마법 타임스탬프
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // 고정된 테스트 데이터 반환
// 예외 처리 테스트를 위한 강제 오류
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

테스트 유틸리티

  • 데이터 재설정 — 모든 테스트 계정을 초기 상태로 재설정
  • 시간 제어 — 다양한 시장 조건 시뮬레이션
  • 오류 주입 — 특정 오류 응답 강제
  • 속도 제한 테스트 — 속도 제한 응답 트리거
30초 안에 API 키 받기

준비되었나요? 무료 API 키(일일 50회 호출, 카드 불필요)를 받고 라이브 고래, 펀딩 및 온체인 데이터를 가져오세요.

API 키 받기 →

테스트 자격 증명

테스트 API 키 받기

대시보드를 통해 테스트 계정을 생성하여 샌드박스 API 키를 생성하세요:

테스트 키 형식
// 테스트 키는 다른 접두사를 가짐
sk_test_1234567890abcdef // 테스트 API 키
sk_live_1234567890abcdef // 프로덕션 API 키
// 자동으로 적절한 환경으로 라우팅
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# 자동으로 샌드박스로 라우팅

미리 구성된 테스트 키

빠른 실험을 위해 이 공개 테스트 키를 사용하세요 (속도 제한):

권한 제한
sk_test_demo 모두 읽기 시간당 100회
sk_test_trader 읽기 + 알림 시간당 500회
sk_test_pro 전체 접근 시간당 5000회

프로덕션에서 테스트 키를 사용하지 마세요. 제한된 기능과 속도 제한이 있습니다.

테스트 데이터 및 픽스처

사용 가능한 테스트 심볼

샌드박스에는 현실적인 역사적 데이터를 가진 이러한 테스트 거래 쌍이 포함되어 있습니다:

테스트 심볼
// 암호화폐 쌍
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// 테스트 심볼 쿼리
GET /v1/symbols?test_only=true

테스트 고래 지갑

결정론적 동작을 가진 미리 구성된 테스트 지갑:

  • 누적 지갑 — 꾸준히 매수, 강세 테스트에 적합
  • 분배 지갑 — 꾸준히 매도, 약세 테스트에 적합
  • 오실레이터 지갑 — 번갈아가며 매수/매도, 범위 테스트에 적합
  • 변동성 지갑 — 스트레스 테스트를 위한 무작위 대규모 거래

테스트 데이터 재설정

테스트 데이터 재설정
// 모든 테스트 계정을 초기 상태로 재설정
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// 특정 리소스 재설정
POST /v1/test/reset?resource=whales
// 응답
{
"status": "reset_complete",
"timestamp": 1709980800000
}

샌드박스 엔드포인트

기본 URL

환경별 URL
// 샌드박스 (테스트 모드)
https://api-test.smartmoney.io/v1
// 또는 쿼리 파라미터 사용
https://api.smartmoneyapi.com/v1?environment=sandbox
// 프로덕션 (라이브 모드)
https://api.smartmoneyapi.com/v1

샌드박스 전용 엔드포인트

엔드포인트 목적
POST /test/reset 테스트 데이터를 초기 상태로 재설정
POST /test/inject-error 테스트를 위해 특정 오류 주입
POST /test/simulate-time 다양한 시장 조건 시뮬레이션
GET /test/status 샌드박스 환경 상태 확인

응답 모킹

테스트 오류 주입

예외 처리 테스트를 위해 특정 오류 응답 강제 발생:

오류 주입
// 속도 제한 처리 테스트
GET /v1/whales?X-Test-Error=rate_limit_exceeded
// 서비스 불가 테스트
GET /v1/whales?X-Test-Error=service_unavailable
// 인증 실패 테스트
GET /v1/whales?X-Test-Error=invalid_key
// 타임아웃 테스트
GET /v1/whales?X-Test-Error=timeout

사용 가능한 테스트 오류

오류 코드 HTTP 상태 사용 사례
invalid_key 401 인증 오류 처리
rate_limit_exceeded 429 백오프 로직 테스트
not_found 404 누락된 리소스 처리
service_unavailable 503 재시도 로직 테스트
timeout 504 타임아웃 처리

샌드박스 속도 제한

속도 제한 티어

환경 제한/시간 버스트 목적
샌드박스 10,000 500/분 개발 및 테스트
프로덕션 무료 1,000 50/분 취미 프로젝트
프로덕션 트레이더 10,000 400/분 프로페셔널 트레이딩
프로덕션 프로 50,000 1000/분 고빈도 시스템

속도 제한 처리 테스트

속도 제한 테스트
// 샌드박스에서 속도 제한 응답 트리거
curl -H "X-Test-Error: rate_limit_exceeded" \
https://api-test.smartmoney.io/v1/whales
// 응답에 재시도 헤더 포함
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709984400
Retry-After: 3600

테스트 전략

픽스처를 사용한 단위 테스트

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

통합 테스트

프로덕션 배포 전 샌드박스에서 전체 워크플로우 테스트:

  1. 샌드박스 자격 증명으로 스테이징에 배포
  2. 샌드박스에 대해 전체 테스트 스위트 실행
  3. 오류 주입으로 오류 처리 테스트
  4. 속도 제한 동작 확인
  5. 응답 시간 및 지연 시간 확인
  6. 그런 다음 프로덕션으로 승격

부하 테스트

Apache Bench로 부하 테스트
// 샌드박스는 고부하 테스트 허용
ab -n 5000 -c 100 \
-H "Authorization: Bearer sk_test_pro" \
https://api-test.smartmoney.io/v1/whales/TEST_BTC

CI/CD 통합

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/

환경 구성

환경 변수를 사용하여 샌드박스와 프로덕션 간 전환:

환경 설정
// .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

문제 해결

일반적인 문제

테스트 키가 작동하지 않음

문제: 테스트 키로 401 Unauthorized 오류 발생

해결 방법:

  • 키가 sk_test_로 시작하는지 확인 (sk_live_ 아님)
  • Authorization 헤더 형식 확인: "Bearer sk_test_xxx"
  • 테스트 엔드포인트 사용 확인: api-test.smartmoney.io
  • 테스트 키의 요청 한도 초과 가능성

데이터가 재설정되지 않음

문제: POST /test/reset 후 테스트 데이터가 재설정되지 않음

해결 방법:

  • 재설정이 최대 30초까지 소요될 수 있음
  • GET /test/status로 샌드박스 상태 확인
  • 올바른 테스트 API 키 사용 확인
  • 문제가 지속되면 지원팀에 문의

샌드박스에서 요청 한도 초과

문제: 샌드박스에서 요청 한도 초과 (발생하지 않아야 함)

해결 방법:

  • sk_test_pro 키 사용 확인 (10,000/시간)
  • X-RateLimit-Remaining 헤더 확인
  • 시간 경계까지 대기 또는 다른 테스트 계정 사용
  • 일시적인 요청 한도 증가를 위해 지원팀에 문의

오늘부터 테스트 시작

안전하고 격리된 개발을 위해 포괄적인 샌드박스 환경을 사용하세요. 결정론적 테스트 데이터, 높은 요청 한도, 프로덕션과 완벽한 기능 동일성.

테스트 자격 증명 받기
모든 플랜에 샌드박스 접근이 포함됩니다. 추가 비용 없음.

관련 자료

무료 시작 — 하루 50회 호출, 카드 불필요

한 API로 3개 거래소의 실시간 고래 흐름, 펀딩, 미결제약정 및 온체인 데이터를 확인하세요. 무료 티어, 신용카드 불필요, 언제든지 업그레이드 가능.

무료 시작 →
실시간 API 콘솔 사용해보기 → (계정 불필요)