Посібник з тестування 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/хв Розробка та тестування
Безкоштовний продуктивний 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. Розгорніть у 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 в реальному часі → (обліковий запис не потрібен)