APIテストとサンドボックス環境ガイド

Smart Money APIの包括的なサンドボックス環境でテストをマスターしましょう。現実的なテストデータ、確定応答、実験用の寛容なレート制限を使用してリスクなく開発できます。

公開日: 2026年3月21日 読了時間14分 開発

サンドボックス環境概要

Smart Money APIは開発とテストのためのフル機能のサンドボックス環境を提供します。サンドボックスは本番APIの構造を模倣していますが、合成データと寛容なレート制限を使用しており、公開前に自信を持って開発できます。

主な特徴:

  • 本番環境と同一 — 同じエンドポイント、認証、レスポンス形式
  • テストデータのみ — 実際のアカウントやライブ市場に影響なし
  • 高いレート制限 — 本番1,000回/時間に対し10,000回/時間
  • 確定応答 — 再現可能なテストのための一貫したテストフィクスチャ
  • 隔離されたアカウント — 本番ユーザーデータから分離

ベストプラクティス: すべての開発、テスト、ステージングはサンドボックス環境を使用してください。本番環境はサンドボックスでの徹底的な検証後にのみ使用します。

サンドボックスの特徴

現実的なテストデータ

サンドボックスにはランダムに変化しない現実的な暗号通貨市場データが含まれます:

  • 過去の市場データ(6ヶ月分の現実的なOHLCV)
  • 一貫した動きパターンを持つ固定のクジラウォレットアドレス
  • 1時間ごとにリセットされる安定した資金調達率
  • エッジケーステストのための確定清算パターン

テスト専用機能

テスト機能
// 確定テストシンボル
// すべてのテストシンボルは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キー(1日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ヘッダーを確認
  • 1時間の区切りを待つか別のテストアカウントを使用
  • 一時的なレート制限緩和のためサポートに連絡

今日からテストを開始

安全で隔離された開発環境として包括的なサンドボックスをご利用ください。確定性のあるテストデータ、高いレート制限、本番環境との完全な機能パリティを提供します。

テスト認証情報を取得
すべてのプランにサンドボックスアクセスが含まれます。追加費用はかかりません。

関連リソース

無料で開始 — 1日50回、カード不要

3取引所のホエールフロー、資金調達、オープンインタレスト、オンチェーンデータを1つのAPIで取得。無料枠、クレジットカード不要、いつでもアップグレード可能。

無料で開始 →
ライブAPIコンソールを試す → (アカウント不要)