2. APIs y protocolos de comunicación: REST, FIX y WebSocket
Nivel 13: Conectar con Brokers Reales
Las APIs (Application Programming Interfaces) y los protocolos de comunicación son la pieza que permite que dos programas hablen entre sí. Definen un conjunto de reglas y convenciones para construir aplicaciones e interactuar con ellas. En trading hay tres tecnologías que te vas a encontrar una y otra vez: REST, FIX y WebSocket.
REST API
REST (Representational State Transfer) es una arquitectura basada en estándares web que utiliza HTTP. Es *sin estado* y emplea los métodos HTTP clásicos: GET, POST, PUT y DELETE. Se usa masivamente para crear interfaces con bases de datos y servicios de backend, y es la forma habitual de enviar órdenes a un exchange de criptomonedas o a un bróker moderno.
Sus dos ideas clave son:
- Sin estado: cada petición HTTP del cliente al servidor debe contener toda la información necesaria para entenderla y procesarla. El servidor no recuerda nada de la petición anterior. Esto tiene una consecuencia práctica muy concreta que verás en el módulo siguiente: cada petición debe ir autenticada y firmada por separado, no existe un inicio de sesión que quede abierto.
- Interfaz uniforme: un conjunto estándar de reglas para crear APIs, lo que simplifica la arquitectura y hace que aprender una API REST te sirva para aprender la siguiente.
En la práctica, con REST tú preguntas. Si quieres saber el precio, lo pides. Si quieres saberlo continuamente, tienes que preguntarlo una y otra vez: eso se llama *polling*, y choca de frente con los límites de peticiones (rate limits) que todo exchange impone.
FIX API Protocol 4.2
FIX (Financial Information eXchange) es un protocolo de comunicación diseñado específicamente para el intercambio en tiempo real de información sobre transacciones de valores financieros. Se usa de forma generalizada en la industria financiera, sobre todo en plataformas de trading, para comunicar órdenes y ejecuciones.
Sus dos ideas clave son:
- Comunicación en tiempo real: permite una comunicación rápida y eficiente, algo crucial en transacciones financieras.
- Estandarizado: garantiza que entidades financieras distintas puedan comunicarse entre sí de forma consistente y fiable.
FIX no es HTTP. Trabaja con sesiones persistentes, mensajes formados por pares etiqueta-valor y números de secuencia que permiten detectar y recuperar mensajes perdidos. Es el estándar del mundo institucional, y también el más pesado de implementar. La versión 4.2 sigue siendo muy común pese a su antigüedad, precisamente porque el ecosistema entero la soporta.
WebSocket
WebSocket es un protocolo de comunicación que proporciona canales *full-duplex* sobre una única conexión TCP. Se usa en aplicaciones que necesitan comunicación bidireccional en tiempo real.
Sus dos ideas clave son:
- Conexión persistente: a diferencia de HTTP, WebSocket permite un flujo continuo de datos manteniendo la conexión abierta entre cliente y servidor.
- Tiempo real: ideal para aplicaciones que requieren actualizaciones e interacciones inmediatas.
En trading, la división típica es esta: WebSocket para recibir datos, REST para enviar órdenes. Te suscribes por WebSocket al libro de órdenes y a las ejecuciones, y el servidor te empuja cada cambio sin que preguntes; cuando decides operar, lanzas una petición REST firmada. Esa combinación te da datos en tiempo real sin agotar los límites de peticiones, y una confirmación clara y auditable de cada orden enviada.