Цю сторінку перекладено автоматично. Оригінал англійською мовою є канонічним. Читати англійською →
Перейти к основному содержимому

Інцидентний посібник

Процедури реагування на типові проблеми.

Проблеми з'єднання​

Розрив WebSocket-з'єднання​

Симптоми: WebSocket-з'єднання втрачено, повідомлення не надходять

Дії:

  1. Реалізуйте автоматичне перепідключення з експоненційною затримкою
  2. Опитуйте REST-ендпоінти, щоб надолужити пропущені оновлення
  3. Повторно підпишіться на всі канали після перепідключення

Запобігання: Відстежуйте стан з'єднання та реалізуйте надійну логіку перепідключення

Тайм-аут API​

Симптоми: REST-запити завершуються тайм-аутом або повертають помилки 5xx

Дії:

  1. Повторюйте запити з експоненційною затримкою
  2. Перевірте ендпоінт стану: GET /health
  3. Зменшіть частоту запитів, якщо система перевантажена

Запобігання: Реалізуйте обмеження частоти запитів і запобіжники (circuit breakers)

Проблеми з ордерами​

Високий рівень відхилень​

Симптоми: Багато ордерів відхилено

Розслідування:

  1. Логуйте status і reason з кожної відповіді на ордер і кожного повідомлення WebSocket order_updates. GET /orders?wallet=... за замовчуванням повертає відкриті ордери й не містить причин відхилення
  2. Перевірте маржу: GET /portfolio?wallet=...
  3. Перевірте ліміти акаунта: GET /risk/limits?wallet=...
  4. Переконайтеся, що інструменти не мають минулої експірації: GET /instruments?currency=...

Дії:

  • Якщо проблеми з маржею: зменште розмір позиції або додайте забезпечення
  • Якщо проблеми з рівнем (tier): покривайте продажі довгими позиціями в інвентарі або зверніться до Hypercall щодо зміни рівня
  • Якщо інструмент експірував: використовуйте інші інструменти

Відсутні виконання​

Симптоми: Ордери виконано, але сповіщень про виконання немає

Розслідування:

  1. Перевірте виконання через GET /fills?wallet=...
  2. Переконайтеся в наявності підписки на канал WebSocket fills
  3. Перевірте стан WebSocket-з'єднання

Дії:

  • Повторно підпишіться на канал fills
  • Опитуйте REST-ендпоінт для отримання пропущених виконань
  • Звірте виконання зі статусом ордерів

Застарілий статус ордера​

Симптоми: Статус ордера в REST не збігається з WS

Розслідування:

  1. Перевірте стан WebSocket-з'єднання
  2. Переконайтеся, що кеш ордерів актуальний
  3. Порівняйте статус ордера в REST і WS

Дії:

  • Опитуйте REST після перепідключення WS, щоб надолужити пропущене
  • Використовуйте REST як джерело істини для звірки

Проблеми з MMP​

MMP спрацьовує занадто часто​

Симптоми: Багато ордерів скасовано MMP

Розслідування:

  1. Перевірте конфігурацію MMP підписаним запитом GET /mmp-config?wallet=...&currency=...
  2. Проаналізуйте патерни виконань і кумулятивні метрики
  3. Перевірте, чи не занизькі ліміти

Дії:

  • Збільште ліміти MMP (кількість, дельта, вега)
  • Збільште interval_ms, щоб дозволити більше виконань у вікні
  • Зменште частоту котирування

MMP не спрацьовує​

Симптоми: Виконання перевищують ліміти, але MMP не спрацьовує

Розслідування:

  1. Переконайтеся, що MMP увімкнено, підписаним запитом GET /mmp-config?wallet=...&currency=...
  2. Перевірте mmp_enabled=true в ордерах
  3. Переконайтеся, що валюта відповідає базовому активу ордера

Дії:

  • Увімкніть MMP в ордерах: mmp_enabled=true
  • Налаштуйте MMP для правильної валюти
  • За потреби скоригуйте ліміти

Підписані запити на читання MMP передають час закінчення дії та підпис GetMmpConfig у заголовках X-Hypercall-Expires-At-Ms і X-Hypercall-Signature.

Проблеми з маржею​

Недостатня маржа​

Симптоми: Ордери відхиляються з повідомленням "Insufficient margin"

Розслідування:

  1. Перевірте портфель: GET /portfolio?wallet=...
  2. Перегляньте розрахунок маржі
  3. Перевірте, який сценарій не проходить

Дії:

  • Зменште розмір позиції
  • Додайте забезпечення
  • Закрийте позиції, щоб звільнити маржу
  • Хеджуйте експозицію, щоб зменшити збиток у найгіршому сценарії

Відсутня спотова ціна​

Симптоми: Ордери відхиляються з причиною, що починається з "Missing spot price for underlying"

Розслідування:

  1. Перевірте index_price для базового активу в GET /markets
  2. Переконайтеся, що символ базового активу правильний
  3. Перевірте сторінку статусу на наявність інциденту з оракулом

Дії:

  • Дочекайтеся відновлення потоку спотових цін
  • Використайте інший базовий актив, якщо доступний
  • Зверніться до підтримки, якщо проблема не зникає

Системні проблеми​

Висока затримка​

Симптоми: Повільні відповіді API або затримки повідомлень WebSocket

Розслідування:

  1. Перевірте навантаження на систему
  2. Відстежуйте час відповіді
  3. Перевірте мережеве з'єднання

Дії:

  • Зменште частоту запитів
  • Реалізуйте обмеження частоти запитів
  • Зверніться до підтримки, якщо проблема не зникає

Обмеження частоти запитів​

Симптоми: Запити відхиляються або обмежуються

Поточний стан: Ліміти частоти запитів застосовуються для кожного гаманця окремо, з окремими лімітами за джерелом для скасувань, авторизації агентів, записів MMP і симуляцій ризику. Докладніше див. Ліміти частоти запитів.

Дії:

  • Перевірте заголовок Retry-After і зачекайте перед повторною спробою
  • Відстежуйте X-RateLimit-Remaining, щоб не досягати лімітів
  • За можливості використовуйте пакетні ендпоінти

Аварійні процедури​

Аварійний вимикач​

Негайні дії:

  1. Скасуйте всі ордери: DELETE /bulk_order або DELETE /bulk_order_cloid, до 50 ордерів на запит
  2. Від'єднайте WebSocket
  3. Зупиніть систему котирування

Відновлення:

  1. Переконайтеся, що всі ордери скасовано: GET /orders?wallet=...
  2. Перегляньте портфель: GET /portfolio?wallet=...
  3. Розслідуйте першопричину
  4. Відновіть котирування після усунення проблеми

Звірка даних​

Після інциденту:

  1. Опитайте REST-ендпоінти для отримання поточного стану
  2. Звірте ордери: GET /orders?wallet=...
  3. Звірте виконання: GET /fills?wallet=...
  4. Звірте портфель: GET /portfolio?wallet=...
  5. Відновіть підписки WebSocket

Ескалація​

Якщо проблема не зникає:

  1. Перегляньте відомі проблеми та повідомлення щодо стейджингу, надані разом із доступом
  2. Перегляньте Ранбуки для детальних процедур
  3. Зверніться до підтримки, вказавши:
    • Адресу гаманця
    • Повідомлення про помилки
    • Мітки часу
    • Кроки для відтворення