Руководство по тестированию API и песочнице

Освойте тестирование с помощью полноценной песочницы Smart Money API. Разрабатывайте без риска, используя реалистичные тестовые данные, детерминированные ответы и щедрые лимиты запросов для экспериментов.

Опубликовано 21 марта 2026 14 мин. чтения Разработка

Обзор песочницы

Smart Money API предоставляет полнофункциональную песочницу для разработки и тестирования. Песочница повторяет структуру рабочего API, но использует синтетические данные и щедрые лимиты запросов, позволяя уверенно разрабатывать перед запуском.

Ключевые особенности:

  • Идентично рабочей версии — Те же эндпоинты, аутентификация, формат ответов
  • Только тестовые данные — Не влияет на реальные аккаунты или рынки
  • Высокие лимиты запросов — 10 000 запросов/час против 1 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

Тестовые инструменты

  • Сброс данных — Сбросить все тестовые аккаунты в исходное состояние
  • Управление временем — Симулировать различные рыночные условия
  • Инъекция ошибок — Принудительно вызывать определенные ошибки
  • Тестирование лимитов — Вызывать ответы при превышении лимитов
Получите API-ключ за 30 секунд

Готовы разрабатывать? Получите бесплатный 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/мин Разработка и тестирование
Production Free 1,000 50/мин Хобби-проекты
Production Trader 10,000 400/мин Профессиональный трейдинг
Production Pro 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 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())

Интеграционное тестирование

Протестируйте полный рабочий процесс в песочнице перед развертыванием в продакшене:

  1. Разверните на staging с тестовыми учетными данными
  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 вызовов/день, без карты

Получайте данные о крупных сделках, фандинге, открытом интересе и ончейн-данных с 3 бирж через один API. Бесплатный тариф, без кредитной карты, можно обновить в любое время.

Начать бесплатно →
Попробуйте консоль API в реальном времени → (аккаунт не требуется)