Регламент реагирования на инциденты
Порядок действий при типовых проблемах.
Проблемы с подключением
Обрыв WebSocket
Симптомы: соединение WebSocket потеряно, сообщения не поступают
Действия:
- Реализуйте автоматическое переподключение с экспоненциальной задержкой
- Опрашивайте REST-эндпоинты, чтобы получить пропущенные обновления
- После переподключения заново подпишитесь на все каналы
Профилактика: отслеживайте состояние соединения и реализуйте надёжную логику переподключения
Таймаут API
Симптомы: REST-запросы завершаются по таймауту или возвращают ошибки 5xx
Действия:
- Повторяйте запросы с экспоненциальной задержкой
- Проверьте эндпоинт состояния:
GET /health - Снизьте частоту запросов, если система перегружена
Профилактика: реализуйте ограничение частоты запросов и предохранители (circuit breakers)
Проблемы с заявками
Высокая доля отклонённых заявок
Симптомы: многие заявки отклоняются
Диагностика:
- Логируйте
statusиreasonиз каждого ответа на заявку и каждого сообщения WebSocketorder_updates.GET /orders?wallet=...по умолчанию возвращает открытые заявки и не содержит причин отклонения - Проверьте маржу:
GET /portfolio?wallet=... - Проверьте лимиты аккаунта:
GET /risk/limits?wallet=... - Убедитесь, что у инструментов не наступила экспирация:
GET /instruments?currency=...
Действия:
- Если проблема в марже: уменьшите размер позиции или внесите дополнительное обеспечение
- Если проблема в уровне доступа (tier): покрывайте продажи длинными позициями из портфеля или обратитесь в Hypercall для смены уровня
- Если наступила экспирация: используйте другие инструменты
Пропущенные исполнения
Симптомы: заявки исполнены, но уведомления об исполнении не приходят
Диагностика:
- Проверьте исполнения через
GET /fills?wallet=... - Убедитесь в наличии подписки на канал WebSocket
fills - Проверьте состояние соединения WebSocket
Действия:
- Заново подпишитесь на канал
fills - Опросите REST-эндпоинт, чтобы получить пропущенные исполнения
- Сверьте исполнения со статусами заявок
Устаревший статус заявки
Симптомы: статус заявки в REST не совпадает с WS
Диагностика:
- Проверьте состояние соединения WebSocket
- Убедитесь, что кэш заявок актуален
- Сравните статусы заявки в REST и WS
Действия:
- После переподключения WS опросите REST, чтобы получить пропущенное
- При сверке считайте REST источником истины
Проблемы с MMP
MMP срабатывает слишком часто
Симптомы: многие заявки отменяются механизмом MMP
Диагностика:
- Проверьте конфигурацию MMP подписанным запросом
GET /mmp-config?wallet=...¤cy=... - Проанализируйте структуру исполнений и накопленные метрики
- Проверьте, не занижены ли лимиты
Действия:
- Увеличьте лимиты MMP (объём, дельта, вега)
- Увеличьте
interval_ms, чтобы в окно помещалось больше исполнений - Снизьте частоту котирования
MMP не срабатывает
Симптомы: исполнения превышают лимиты, но MMP не срабатывает
Диагностика:
- Убедитесь, что MMP включён, подписанным запросом
GET /mmp-config?wallet=...¤cy=... - Проверьте, что в заявках указано
mmp_enabled=true - Убедитесь, что валюта совпадает с базовым активом заявки
Действия:
- Включите MMP в заявках:
mmp_enabled=true - Настройте MMP для нужной валюты
- При необходимости скорректируйте лимиты
Подписанные запросы на чтение MMP передают срок действия и подпись GetMmpConfig в заголовках
X-Hypercall-Expires-At-Ms и X-Hypercall-Signature.
Проблемы с маржой
Недостаточно маржи
Симптомы: заявки отклоняются с причиной "Insufficient margin"
Диагностика:
- Проверьте портфель:
GET /portfolio?wallet=... - Проанализируйте расчёт маржи
- Определите, какой сценарий не проходит
Действия:
- Уменьшите размер позиции
- Внесите дополнительное обеспечение
- Закройте позиции, чтобы высвободить маржу
- Захеджируйте экспозицию, чтобы снизить убыток в худшем сценарии
Отсутствует спотовая цена
Симптомы: заявки отклоняются с причиной, начинающейся с "Missing spot price for underlying"
Диагностика:
- Проверьте
index_priceдля базового актива вGET /markets - Убедитесь, что тикер базового актива указан верно
- Проверьте страницу статуса на наличие инцидента с оракулом
Действия:
- Дождитесь восстановления потока спотовых цен
- По возможности используйте другой базовый актив
- Если проблема сохраняется, обратитесь в поддержку
Системные проблемы
Высокая задержка
Симптомы: медленные ответы API или задержки сообщений WebSocket
Диагностика:
- Проверьте нагрузку на систему
- Отслеживайте время ответа
- Проверьте сетевое подключение
Действия:
- Снизьте частоту запросов
- Реализуйте ограничение частоты запросов
- Если проблема сохраняется, обратитесь в поддержку
Ограничение частоты запросов
Симптомы: запросы отклоняются или замедляются
Текущая ситуация: лимиты частоты применяются к каждому кошельку, с отдельными лимитами по источнику для отмен, авторизации агентов, записи MMP и симуляций риска. Подробнее см. Лимиты частоты запросов.
Действия:
- Проверяйте заголовок
Retry-Afterи выжидайте перед повтором - Отслеживайте
X-RateLimit-Remaining, чтобы не упираться в лимиты - По возможности используйте пакетные эндпоинты
Экстренные процедуры
Аварийная остановка (kill switch)
Немедленные действия:
- Отмените все заявки:
DELETE /bulk_orderилиDELETE /bulk_order_cloid, до 50 заявок за запрос - Отключите WebSocket
- Остановите систему котирования
Восстановление:
- Убедитесь, что все заявки отменены:
GET /orders?wallet=... - Проверьте портфель:
GET /portfolio?wallet=... - Выясните первопричину
- Возобновите котирование после устранения проблемы
Сверка данных
После инцидента:
- Опросите REST-эндпоинты, чтобы получить текущее состояние
- Сверьте заявки:
GET /orders?wallet=... - Сверьте исполнения:
GET /fills?wallet=... - Сверьте портфель:
GET /portfolio?wallet=... - Возобновите подписки WebSocket
Эскалация
Если проблема сохраняется:
- Изучите известные проблемы и уведомления о стейджинге, полученные вместе с доступом
- Ознакомьтесь с подробными процедурами в разделе Ранбуки
- Обратитесь в поддержку, указав:
- Адрес кошелька
- Сообщения об ошибках
- Временные метки
- Шаги для воспроизведения