Cómo una apuesta inocente terminó en nuestra propia API

Una tarde de viernes, de esas que parecen inofensivas y acaban liándola, estábamos en la cocina, entre el chisporroteo de la sartén y los avisos del horno, cuando sonó el teléfono. Nos llamó un compañero y amigo. Venía con esa voz de quien pregunta pero ya se huele la respuesta: se había apostado con su mujer a que no se podía sacar información de la centralita.

Mala suerte. Sí se podía. De hecho, ya habíamos rescatado esos datos antes y se los llegamos a enseñar en su día. La mala noticia se la dimos con ese tono entre amable y resignado, el de quien ya ha visto venir la jugada y no necesita decir 'te lo dije'. La apuesta tenía gracia, sí, pero el resultado estaba claro desde el primer pitido de llamada.

El caso es que tampoco hacía falta montar la NASA. Con un poco de interés y una tarde con ganas y sin distracciones, cualquier pseudo informático apañado habría podido sacarlos. Nosotros teníamos ya a mano herramientas como Metabase y Tableau, que usamos con frecuencia y que funcionan de maravilla. Pero hay que reconocerlo: para alguien que empieza de cero, no son precisamente amigables. Entre la curva de aprendizaje, los requisitos técnicos y alguna que otra licencia, es fácil que a la tercera pantalla uno tire la toalla. Así que se nos encendió la bombilla: ¿y si le hacíamos algo más a medida, algo directo sin complicaciones innecesarias? Un programilla en Python, sin florituras ni pirotecnia, que mostrase justo lo que quería ver. Nada de menús ni dashboards en 4K. Algo directo, como un posavasos bien hecho.

Así que con la idea rondando, abrimos Jupyter Notebooks —una libreta mágica donde escribes código y ves al instante si te ha salido bien... o si acabas con lágrimas— y empezamos a trastear. FastAPI fue el siguiente paso lógico: un fontanero digital que nos ayudaba a llevar los datos de un sitio a otro sin que se nos desparramaran por el pasillo.

No era la primera vez que nos metíamos en un jardín técnico, pero este tenía su encanto. Era uno de esos proyectos sin prisa ni plan maestro, solo ganas de probar cosas. Y como suele pasar, empiezas con una chorrada... y cuando te quieres dar cuenta, tienes algo que funciona, que sirve y que, para colmo, no da vergüenza ajena.

Mientras nos liábamos con pruebas y cables virtuales, en el lado más brillante del escaparate seguían brotando las propuestas formativas sobre ChatGPT para empresas. No era cosa de un día: llevaban tiempo apareciendo y, por lo que se ve, seguirán ahí. Estrategias fáciles, resultonas, vendidas en cápsulas de diez clics, dos prompts y una suscripción mensual. Y por supuesto, con su bonus descargable y certificado con bordes dorados. No fuera a faltar el lacito para envolver la magia.

Llevamos años trasteando con las tripas de la tecnología, intentando entender cómo funcionan las cosas antes de abrir la boca. Preferimos estar en segunda fila, donde se ve mejor el percal, resolviendo lo que se pueda y compartiendo lo que sabemos con quien le pueda servir. No nos verás en una charla motivacional ni haciendo el pino en TikTok mientras explicamos lo que aún estamos digiriendo.

Mientras tanto, hay quien parece vivir justo para lo contrario: para estar siempre en el centro del escenario, con perfil brillante, eslóganes redondos y una narrativa prefabricada sobre la transformación digital de todo. Rebotan de moda en moda como pelotas de yoga, sin importarles mucho si saben de lo que hablan, con tal de estar en la foto. A veces, ni eso importa, mientras suene bien y enganche a alguien.

Y entonces, como si alguien nos hubiese leído el pensamiento, empezaron a llegar los mensajes privados. Algunos compañeros, sabiendo que usábamos la API del programa de gestión, nos preguntaban si sabíamos algo de lo que estaba pasando, el coste fijo mensual había desaparecido del panel de control. En su lugar, aparecía un sistema de créditos por llamada (sí, como si fuera una cabina telefónica de los 90, pero sin el encanto).

La cosa no tardó en moverse al grupo general. Más gente se dio cuenta de que algo había cambiado, y empezaron las preguntas. Así que llamamos. Y otros también. Y todos recibimos más o menos la misma explicación: que ya no estaban cobrando ese acceso porque, técnicamente, no lo estaban usando para facturar. Pero para cuando nos quisimos dar cuenta, nosotros ya estábamos con VSCode abierto (nuestro taller de confianza: cómodo, fiable y con espacio para romper cosas sin avisar), Python en marcha y un “¿y si replicamos esto por nuestra cuenta?” flotando en el aire.

Lo que empezó con una pregunta casual terminó en muchas risas, un poco de orgullo técnico y, sobre todo, en una herramienta que resolvió problemas reales. Porque al final, lo realmente valioso no es que suene bonito, sino que sirva para algo.

Construimos algo que nos permitió salir del laberinto de los scripts imposibles y tomar el control de nuestros propios datos. No para colgar medallas en LinkedIn ni para dar charlas motivacionales, sino simplemente porque preferimos usar la tecnología para simplificarnos la vida.

Así que sí, aquella inocente apuesta acabó siendo la excusa perfecta para crear algo propio. Y ahora, cuando alguien pregunta si es posible sacar información de la centralita, respondemos con una sonrisa tranquila y un enlace a nuestra flamante API.


Glosario técnico actualizado

  • API (Application Programming Interface): Interfaz digital que permite que distintas aplicaciones hablen entre sí. Como un camarero atento que recibe tu pedido, lo interpreta y vuelve con lo que necesitas.
  • Endpoint: Cada función específica de una API, identificada por una dirección única. Como botones que hacen exactamente lo que prometen, ni más ni menos.
  • Swagger/OpenAPI: Documentación visual e interactiva que explica de forma clara y sencilla cómo utilizar cada función de una API. El manual que siempre deseaste tener.
  • FastAPI: Framework moderno para crear APIs de manera sencilla, rápida y eficiente, con documentación automática y soporte de datos en tiempo real. Básicamente, la mejor forma de montar una API sin perder los nervios.
  • VSCode (Visual Studio Code): Editor de código versátil y cómodo, nuestra herramienta preferida para escribir, romper y arreglar todo el código necesario.
  • Metabase/Tableau: Plataformas de visualización y análisis de datos, potentes y prácticas, aunque con cierta curva de aprendizaje inicial. Como un microscopio digital para los números que manejamos.
  • Jupyter Notebook: Entorno interactivo donde puedes escribir código, ejecutar pruebas y ver los resultados en tiempo real. La pizarra mágica de los programadores.
  • Scripts ofuscados: Código intencionalmente difícil de leer, entender y modificar, casi como jeroglíficos digitales. Algo que preferimos evitar.
  • Sistema de créditos por llamada: Método de tarificación que cobra en función del uso específico, como los antiguos teléfonos públicos que solo te permitían hablar si metías monedas. A día de hoy, parece más un castigo que una innovación.