Hướng dẫn Kiểm thử API và Môi trường Sandbox

Làm chủ kiểm thử với môi trường sandbox toàn diện của Smart Money API. Phát triển không rủi ro bằng cách sử dụng dữ liệu kiểm thử chân thực, phản hồi xác định và giới hạn tốc độ rộng rãi để thử nghiệm.

Đăng ngày 21 tháng 3 năm 2026 14 phút đọc Phát triển

Tổng quan Môi trường Sandbox

Smart Money API cung cấp môi trường sandbox đầy đủ tính năng để phát triển và kiểm thử. Sandbox phản ánh cấu trúc API sản xuất nhưng sử dụng dữ liệu tổng hợp và giới hạn tốc độ rộng rãi, cho phép bạn phát triển tự tin trước khi triển khai.

Đặc điểm chính:

  • Giống với Môi trường Sản xuất — Cùng điểm cuối, xác thực, định dạng phản hồi
  • Chỉ Dữ liệu Kiểm thử — Không ảnh hưởng đến tài khoản thật hoặc thị trường thực
  • Giới hạn Tốc độ Cao — 10.000 yêu cầu/giờ so với 1.000 trong môi trường sản xuất
  • Phản hồi Xác định — Dữ liệu kiểm thử nhất quán để kiểm thử có thể tái tạo
  • Tài khoản Cô lập — Tách biệt với dữ liệu người dùng sản xuất

Thực hành Tốt nhất: Tất cả quá trình phát triển, kiểm thử và staging nên sử dụng môi trường sandbox. Chỉ sử dụng môi trường sản xuất sau khi đã xác thực kỹ lưỡng trên sandbox.

Tính năng Sandbox

Dữ liệu Kiểm thử Chân thực

Sandbox chứa dữ liệu thị trường tiền điện tử chân thực không thay đổi ngẫu nhiên:

  • Dữ liệu thị trường lịch sử (6 tháng dữ liệu OHLCV chân thực)
  • Địa chỉ ví cá voi cố định với mô hình di chuyển nhất quán
  • Tỷ lệ tài trợ ổn định được đặt lại hàng giờ
  • Mô hình thanh lý xác định để kiểm thử các trường hợp biên

Tính năng Dành riêng cho Kiểm thử

Tính năng Kiểm thử
// Ký hiệu kiểm thử xác định
// Tất cả ký hiệu kiểm thử bắt đầu bằng TEST_
TEST_BTC, TEST_ETH, TEST_SOL, v.v.
// Mốc thời gian ảo để mô phỏng kịch bản
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // Trả về dữ liệu kiểm thử cố định
// Buộc lỗi để kiểm thử xử lý ngoại lệ
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

Tiện ích Kiểm thử

  • Đặt lại Dữ liệu — Đặt lại tất cả tài khoản kiểm thử về trạng thái ban đầu
  • Kiểm soát Thời gian — Mô phỏng các điều kiện thị trường khác nhau
  • Tiêm Lỗi — Buộc phản hồi lỗi cụ thể
  • Kiểm thử Giới hạn Tốc độ — Kích hoạt phản hồi giới hạn tốc độ
Nhận khóa API của bạn trong 30 giây

Sẵn sàng xây dựng? Lấy khóa API miễn phí (50 lần gọi/ngày, không cần thẻ) và bắt đầu truy cập dữ liệu cá voi, tài trợ và on-chain trực tiếp.

Nhận khóa API của bạn →

Thông tin Xác thực Kiểm thử

Lấy Khóa API Kiểm thử

Tạo tài khoản kiểm thử qua bảng điều khiển để tạo khóa API sandbox:

Định dạng Khóa Kiểm thử
// Khóa kiểm thử có tiền tố khác
sk_test_1234567890abcdef // Khóa API kiểm thử
sk_live_1234567890abcdef // Khóa API sản xuất
// Tự động định tuyến đến môi trường phù hợp
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# Tự động định tuyến đến sandbox

Khóa Kiểm thử Được Cấu hình Sẵn

Sử dụng các khóa kiểm thử công khai này để thử nghiệm nhanh (giới hạn tốc độ):

Khóa Quyền Giới hạn
sk_test_demo Đọc tất cả 100/giờ
sk_test_trader Đọc + cảnh báo 500/giờ
sk_test_pro Truy cập đầy đủ 5000/giờ

Không bao giờ sử dụng khóa kiểm thử trong môi trường sản xuất. Chúng có chức năng và giới hạn tốc độ hạn chế.

Dữ liệu và Mẫu Kiểm thử

Ký hiệu Kiểm thử Có sẵn

Sandbox bao gồm các cặp giao dịch kiểm thử sau với dữ liệu lịch sử chân thực:

Ký hiệu Kiểm thử
// Cặp tiền điện tử
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// Truy vấn ký hiệu kiểm thử
GET /v1/symbols?test_only=true

Ví Cá voi Kiểm thử

Ví kiểm thử được cấu hình sẵn với hành vi xác định:

  • Ví Tích lũy — Liên tục mua, phù hợp để kiểm thử tăng giá
  • Ví Phân phối — Liên tục bán, phù hợp để kiểm thử giảm giá
  • Ví Dao động — Luân phiên mua/bán, phù hợp để kiểm thử trong phạm vi
  • Ví Biến động — Giao dịch lớn ngẫu nhiên để kiểm thử áp lực

Đặt lại Dữ liệu Kiểm thử

Đặt lại Dữ liệu Kiểm thử
// Đặt lại tất cả tài khoản kiểm thử về trạng thái ban đầu
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// Đặt lại tài nguyên cụ thể
POST /v1/test/reset?resource=whales
// Phản hồi
{
"status": "reset_complete",
"timestamp": 1709980800000
}

Các Điểm Cuối Sandbox

URL Cơ Sở

URL Môi Trường
// Sandbox (chế độ thử nghiệm)
https://api-test.smartmoney.io/v1
// Hoặc sử dụng tham số truy vấn
https://api.smartmoneyapi.com/v1?environment=sandbox
// Production (chế độ live)
https://api.smartmoneyapi.com/v1

Các Điểm Cuối Chỉ Dành Cho Sandbox

Điểm Cuối Mục Đích
POST /test/reset Đặt lại dữ liệu thử nghiệm về trạng thái ban đầu
POST /test/inject-error Tiêm lỗi cụ thể để thử nghiệm
POST /test/simulate-time Mô phỏng các điều kiện thị trường khác nhau
GET /test/status Kiểm tra tình trạng môi trường sandbox

Mô Phỏng Phản Hồi

Tiêm Lỗi Thử Nghiệm

Buộc các phản hồi lỗi cụ thể để thử nghiệm xử lý ngoại lệ:

Tiêm Lỗi
// Kiểm tra xử lý giới hạn tốc độ
GET /v1/whales?X-Test-Error=rate_limit_exceeded
// Kiểm tra dịch vụ không khả dụng
GET /v1/whales?X-Test-Error=service_unavailable
// Kiểm tra lỗi xác thực
GET /v1/whales?X-Test-Error=invalid_key
// Kiểm tra thời gian chờ
GET /v1/whales?X-Test-Error=timeout

Các Lỗi Thử Nghiệm Có Sẵn

Mã Lỗi Trạng Thái HTTP Trường Hợp Sử Dụng
invalid_key 401 Xử lý lỗi xác thực
rate_limit_exceeded 429 Kiểm tra logic backoff
not_found 404 Xử lý tài nguyên thiếu
service_unavailable 503 Kiểm tra logic thử lại
timeout 504 Xử lý thời gian chờ

Giới Hạn Tốc Độ Sandbox

Các Mức Giới Hạn Tốc Độ

Môi Trường Giới Hạn/Giờ Burst Mục Đích
Sandbox 10,000 500/phút Phát triển & thử nghiệm
Production Free 1,000 50/phút Dự án cá nhân
Production Trader 10,000 400/phút Giao dịch chuyên nghiệp
Production Pro 50,000 1000/phút Hệ thống tần suất cao

Kiểm Tra Xử Lý Giới Hạn Tốc Độ

Kiểm Tra Giới Hạn Tốc Độ
// Kích hoạt phản hồi giới hạn tốc độ trong sandbox
curl -H "X-Test-Error: rate_limit_exceeded" \
https://api-test.smartmoney.io/v1/whales
// Phản hồi bao gồm các tiêu đề thử lại
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709984400
Retry-After: 3600

Chiến Lược Thử Nghiệm

Kiểm Thử Đơn Vị với Dữ Liệu Giả

Kiểm Thử Đơn Vị 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())

Kiểm Thử Tích Hợp

Kiểm tra quy trình đầy đủ trong sandbox trước khi triển khai production:

  1. Triển khai lên staging với thông tin đăng nhập sandbox
  2. Chạy bộ thử nghiệm đầy đủ trên sandbox
  3. Kiểm tra xử lý lỗi bằng cách tiêm lỗi
  4. Xác minh hành vi giới hạn tốc độ
  5. Kiểm tra thời gian phản hồi và độ trễ
  6. Chỉ sau đó mới chuyển lên production

Kiểm Tra Tải

Kiểm Tra Tải với Apache Bench
// Sandbox cho phép kiểm tra tải cao
ab -n 5000 -c 100 \
-H "Authorization: Bearer sk_test_pro" \
https://api-test.smartmoney.io/v1/whales/TEST_BTC

Tích Hợp CI/CD

Ví Dụ 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/

Cấu Hình Môi Trường

Sử dụng biến môi trường để chuyển đổi giữa sandbox và production:

Thiết lập Môi trường
// .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

Khắc phục Sự cố

Các Vấn đề Thường Gặp

Khóa Test Không Hoạt động

Vấn đề: Nhận lỗi 401 Unauthorized với khóa test

Giải pháp:

  • Kiểm tra khóa bắt đầu bằng sk_test_ (không phải sk_live_)
  • Kiểm tra định dạng header Authorization: "Bearer sk_test_xxx"
  • Đảm bảo sử dụng endpoint test: api-test.smartmoney.io
  • Khóa test có thể đã vượt quá giới hạn rate limit

Dữ liệu Không Được Đặt lại

Vấn đề: Dữ liệu test không đặt lại sau POST /test/reset

Giải pháp:

  • Quá trình đặt lại có thể mất đến 30 giây để áp dụng
  • Kiểm tra trạng thái sandbox với GET /test/status
  • Xác nhận sử dụng đúng khóa test API
  • Liên hệ hỗ trợ nếu vấn đề tiếp diễn

Giới hạn Tốc độ trong Sandbox

Vấn đề: Đạt giới hạn rate limit trong sandbox (không nên xảy ra)

Giải pháp:

  • Xác nhận sử dụng khóa sk_test_pro (10,000/giờ)
  • Kiểm tra header X-RateLimit-Remaining
  • Chờ đến giờ tiếp theo hoặc sử dụng tài khoản test khác
  • Liên hệ hỗ trợ để tăng giới hạn rate limit tạm thời

Bắt đầu Kiểm tra Hôm nay

Sử dụng môi trường sandbox toàn diện của chúng tôi để phát triển an toàn, biệt lập. Dữ liệu test xác định, giới hạn rate limit cao và đầy đủ tính năng tương đồng với production.

Nhận Thông tin Đăng nhập Test
Tất cả các gói đều bao gồm quyền truy cập sandbox. Không phát sinh chi phí.

Tài nguyên Liên quan

Bắt đầu miễn phí — 50 lần gọi/ngày, không cần thẻ

Nhận dòng tiền cá mập, funding, open interest và dữ liệu on-chain từ 3 sàn giao dịch từ một API duy nhất. Gói miễn phí, không cần thẻ tín dụng, nâng cấp bất cứ lúc nào.

Bắt đầu miễn phí →
Dùng thử bảng điều khiển API trực tiếp → (không cần tài khoản)