Bibliotecas cliente
finlight publica ocho bibliotecas cliente oficiales. Cada una envuelve la misma superficie REST, WebSocket y de webhooks documentada en el resto de estas páginas, así que puedes elegir la que encaje con tu stack en lugar de escribir las llamadas HTTP a mano.
| Lenguaje | Paquete | Requiere | Streaming |
|---|---|---|---|
| TypeScript / JavaScript | finlight-client (npm) | Node.js | Sí |
| Python | finlight-client (PyPI) | Python 3.7+ | Sí |
| Go | github.com/callbk/finlight-client-go | Go 1.23+ | Sí |
| .NET / C# | Finlight.Client (NuGet) | .NET 8+ | Sí |
| Java / Kotlin | me.finlight:finlight-client (Maven) | Java 17+ | Sí |
| PHP | finlight/client (Packagist) | PHP 8.1+ | No |
| Ruby | finlight-client (RubyGems) | Ruby 3.2+ | Sí |
| Rust | finlight-client (crates.io) | Rust 1.85+ | Sí |
Qué te ofrece cada cliente
Las bibliotecas se han construido siguiendo la misma especificación, así que cambiar de lenguaje no cambia los conceptos con los que trabajas:
- REST: buscar artículos, obtener un artículo concreto por su enlace y listar las fuentes disponibles — consulta Endpoints.
- Streaming en tiempo real: tanto el feed WebSocket mejorado como el feed en bruto, expuestos como el tipo de stream idiomático del lenguaje (iteradores asíncronos, canales,
Streams). Las reconexiones, el keepalive ping/pong y la rotación proactiva de la conexión se gestionan por ti — consulta Fundamentos de WebSocket. - Resiliencia: reintentos con retroceso exponencial ante respuestas
429y5xx, de modo que los fallos transitorios y los límites de velocidad no aparezcan como errores en tu código. - Verificación de webhooks: comprobación de firmas HMAC-SHA256 con protección contra repetición, acorde con Autenticación de webhooks.
- Autenticación: pasas tu clave de API al constructor y el cliente la envía como la cabecera
X-API-KEYen cada solicitud.
La única excepción deliberada es el cliente de PHP, que no implementa streaming por WebSocket — el modelo de solicitud/respuesta de PHP encaja mal con una conexión de larga duración. Usa webhooks para la entrega push a una aplicación PHP.
Nada en las bibliotecas es privilegiado: todo lo que hacen está disponible mediante HTTP y WebSocket sin más, así que cURL o cualquier cliente HTTP sigue siendo una opción totalmente admitida.
Instalación
Cada cliente lee tu clave de API desde el constructor y la envía como la cabecera X-API-KEY. Consigue una clave en el panel de finlight.
Instalación
# npm — también publicado en JSR como @finlight/client
npm install finlight-client
Si compilas con Maven en lugar de Gradle, declara la misma coordenada:
<dependency>
<groupId>me.finlight</groupId>
<artifactId>finlight-client</artifactId>
<version>0.1.0</version>
</dependency>
Repositorios de código
Cada cliente se desarrolla de forma abierta bajo la licencia MIT. Las incidencias y los pull requests son bienvenidos.
- TypeScript / JavaScript — jubeiargh/finlight-client
- Python — jubeiargh/finlight-client-py
- Go — callbk/finlight-client-go
- .NET / C# — callbk/finlight-client-dotnet
- Java / Kotlin — callbk/finlight-client-java
- PHP — callbk/finlight-client-php
- Ruby — callbk/finlight-client-ruby
- Rust — callbk/finlight-client-rust
¿Qué sigue?
- Haz tu primera llamada con el Inicio rápido
- Explora la referencia completa de endpoints REST
- Aprende la sintaxis de consulta en Construcción avanzada de consultas
- Transmite artículos en tiempo real con el Inicio rápido de WebSocket
- Recibe artículos por push mediante Webhooks
- ¿Has encontrado un error o echas en falta un lenguaje? Escríbenos a través de Soporte