Manual de respuesta a incidentes
Procedimientos de respuesta para problemas comunes.
Problemas de conexión
Desconexión de WebSocket
Síntomas: Se pierde la conexión WebSocket, no se reciben mensajes
Acciones:
- Implemente reconexión automática con backoff exponencial
- Consulte los endpoints REST para recuperar las actualizaciones perdidas
- Vuelva a suscribirse a todos los canales tras la reconexión
Prevención: Monitorice el estado de la conexión e implemente una lógica de reconexión robusta
Timeout de la API
Síntomas: Las solicitudes REST agotan el tiempo de espera o devuelven errores 5xx
Acciones:
- Reintente con backoff exponencial
- Compruebe el endpoint de estado:
GET /health - Reduzca la tasa de solicitudes si el sistema está sobrecargado
Prevención: Implemente limitación de solicitudes (throttling) y circuit breakers
Problemas con órdenes
Alta tasa de rechazo
Síntomas: Muchas órdenes rechazadas
Investigación:
- Registre
statusyreasonde cada respuesta de orden y de cada mensaje WebSocketorder_updates.GET /orders?wallet=...devuelve por defecto las órdenes abiertas y no incluye los motivos de rechazo - Revise el margen:
GET /portfolio?wallet=... - Compruebe los límites de la cuenta:
GET /risk/limits?wallet=... - Verifique que los instrumentos no hayan vencido:
GET /instruments?currency=...
Acciones:
- Si hay problemas de margen: reduzca el tamaño de la posición o añada colateral
- Si hay problemas de nivel (tier): cubra las ventas con inventario en posición larga, o contacte con Hypercall para solicitar un cambio de nivel
- Si el instrumento ha vencido: use otros instrumentos
Fills no recibidos
Síntomas: Órdenes ejecutadas pero sin notificaciones de fill
Investigación:
- Consulte
GET /fills?wallet=...para ver los fills - Verifique la suscripción al canal
fillsdel WebSocket - Compruebe el estado de la conexión WebSocket
Acciones:
- Vuelva a suscribirse al canal
fills - Consulte el endpoint REST para obtener los fills perdidos
- Concilie los fills con el estado de las órdenes
Estado de orden desactualizado
Síntomas: El estado de la orden en REST no coincide con el de WS
Investigación:
- Compruebe el estado de la conexión WebSocket
- Verifique que la caché de órdenes esté actualizada
- Compare el estado de la orden en REST y en WS
Acciones:
- Consulte REST tras la reconexión de WS para ponerse al día
- Use REST como fuente de verdad para la conciliación
Problemas con MMP
MMP se activa con demasiada frecuencia
Síntomas: Muchas órdenes canceladas por MMP
Investigación:
- Compruebe la configuración de MMP con un
GET /mmp-config?wallet=...¤cy=...firmado - Revise los patrones de fills y las métricas acumuladas
- Compruebe si los límites son demasiado bajos
Acciones:
- Aumente los límites de MMP (qty, delta, vega)
- Aumente
interval_mspara permitir más fills en la ventana - Reduzca la frecuencia de cotización
MMP no se activa
Síntomas: Los fills superan los límites pero MMP no se activa
Investigación:
- Verifique que MMP esté habilitado con un
GET /mmp-config?wallet=...¤cy=...firmado - Compruebe
mmp_enabled=trueen las órdenes - Verifique que la moneda coincida con el activo subyacente de la orden
Acciones:
- Habilite MMP en las órdenes:
mmp_enabled=true - Configure MMP para la moneda correcta
- Ajuste los límites si es necesario
Las lecturas firmadas de MMP envían el vencimiento y la firma de GetMmpConfig en los
encabezados X-Hypercall-Expires-At-Ms y X-Hypercall-Signature.
Problemas de margen
Margen insuficiente
Síntomas: Órdenes rechazadas con "Insufficient margin"
Investigación:
- Compruebe el portafolio:
GET /portfolio?wallet=... - Revise el cálculo del margen
- Compruebe qué escenario está fallando
Acciones:
- Reduzca el tamaño de la posición
- Añada colateral
- Cierre posiciones para liberar margen
- Cubra la exposición para reducir la pérdida en el peor escenario
Precio spot no disponible
Síntomas: Órdenes rechazadas con un motivo que comienza por "Missing spot price for underlying"
Investigación:
- Compruebe
index_pricedel activo subyacente enGET /markets - Verifique que el símbolo del activo subyacente sea correcto
- Consulte la página de estado por si hay un incidente del oráculo
Acciones:
- Espere a que se recupere el feed de precio spot
- Use otro activo subyacente si está disponible
- Contacte con soporte si el problema persiste
Problemas del sistema
Alta latencia
Síntomas: Respuestas lentas de la API o retrasos en los mensajes WebSocket
Investigación:
- Compruebe la carga del sistema
- Monitorice los tiempos de respuesta
- Compruebe la conectividad de red
Acciones:
- Reduzca la tasa de solicitudes
- Implemente limitación de solicitudes (throttling)
- Contacte con soporte si el problema persiste
Limitación de tasa
Síntomas: Solicitudes rechazadas o limitadas
Actual: Los límites de tasa se aplican por wallet, con límites separados por origen para cancelaciones, autorización de agentes, escrituras de MMP y simulaciones de riesgo. Consulte Límites de tasa para más detalles.
Acciones:
- Revise el encabezado
Retry-Aftery espere antes de reintentar - Monitorice
X-RateLimit-Remainingpara no alcanzar los límites - Use endpoints masivos (bulk) cuando sea posible
Procedimientos de emergencia
Kill switch
Acciones inmediatas:
- Cancele todas las órdenes:
DELETE /bulk_orderoDELETE /bulk_order_cloid, hasta 50 órdenes por solicitud - Desconecte el WebSocket
- Detenga el sistema de cotización
Recuperación:
- Verifique que todas las órdenes se hayan cancelado:
GET /orders?wallet=... - Revise el portafolio:
GET /portfolio?wallet=... - Investigue la causa raíz
- Reanude la cotización una vez resuelto el problema
Conciliación de datos
Tras un incidente:
- Consulte los endpoints REST para obtener el estado actual
- Concilie las órdenes:
GET /orders?wallet=... - Concilie los fills:
GET /fills?wallet=... - Concilie el portafolio:
GET /portfolio?wallet=... - Reanude las suscripciones WebSocket
Escalado
Si el problema persiste:
- Revise los problemas conocidos y los avisos de staging proporcionados con el acceso
- Consulte los Runbooks para ver procedimientos detallados
- Contacte con soporte indicando:
- Dirección de la wallet
- Mensajes de error
- Marcas de tiempo
- Pasos para reproducir el problema