Qué son las famosas APIs
Cuando escuchaba la palabra API antes de hacerme computín lo encontraba lo más sofisticado del mundo. Hoy creo que la uso todos los días y me cuesta acordarme que no significa nada para la mayoría.
Explicarlo siempre es un dolor de cabeza. A mi juicio, el acrónimo API -que significa Application Programming Interface- no aclara nada.
Mi idea con este post es que en menos de 5 minutos puedas entender lo que es una API.
Neo aprendiendo Kung-Fu con la API de la Matrix
Los computadores son buenos para conversar
Mi celular está conversando con internet prácticamente todo el día. De manera incansable le está pidiendo datos de si va a estar soleado mañana, está preguntándole si me llegó un mensaje nuevo a Whatsapp a la vez que le avisa que quiero comprarme mi hamburguesa favorita por Uber Eats.
Esto no suena muy sorprendente ya que pasa todo el día pero la verdad es que nuestros celulares y computadores son mucho más tontos de lo que pensamos. Algo bien espectacular tiene que estar pasando para que puedan conversar y entenderse tan bien cada vez que lo hacen.
¿Por qué dos máquinas totalmente diferentes, creadas por personas diferentes, en lugares del mundo diferentes saben cómo dialogar entre ellas?
La verdad es que no saben cómo hacerlo. Dos programas no tienen idea de cómo conversar entre ellos por arte de magia.
Si pueden conversar es porque alguien les dijo exactamente cómo hacerlo y ahí es donde entran las famosas APIs.
Los restaurantes tienen APIs para personas
Ir a un restaurant es un proceso super estandarizado. Me siento en una mesa, me traen una carta y con esta le pido la comida al mozo.
Sin estos dos últimos elementos, sería muy frustrante salir a comer.
Me imagino que en algún minuto estas piezas no existían y los primeros dueños de restaurantes, cansados de no entenderse bien con los clientes tuvieron que definir bien estos dos conceptos:
- Carta: La carta te dice todo lo que ofrece el restaurante de una forma ordenada. La variedad de platos, los ingredientes que incluye cada uno, los puntos de cocción y los precios.
- Mozo: El mozo recibe toda la información que yo le doy y este la transforma en una instrucción para la cocina. Esconde todas las complejidades de lo que es preparar tu plato favorito. Se encarga de que tu pidas algo y te lo hace llegar. Sabe cómo hablar con la cocina, con la caja y cómo llevarte tu plato.
Dos programas que quieren conversar pasan por una complejidad parecida. Si uno quiere interactuar con otro, tiene que saber muy bien cómo preguntarle las cosas y qué esperar en cada respuesta.
Si no saben cómo conversar entre ellos es imposible que puedan interactuar.
En la analogía del restaurante, podríamos decir que:
- El menú es la documentación de la API: Todo el detalle preciso de lo que puedo esperar del programa, el formato de cómo tengo que pedir las cosas y la forma en que el programa responderá mis solicitudes.
- El mozo es la API misma: El canal que permite la interacción con el programa. Sabe recibir la instrucción y cómo transformarla en una acción dentro del otro programa.
La gracia es que si un programa expone una API, otro programa va a poder interactuar con este para pedirle cosas. Esta interacción de pedirse cosas en general se traduce en que un programa le pide a otro que haga una acción o que le entregue cierta información.
Una API no es más que una forma estandarizada para permitir que un programa acepte conversaciones de otro programa.
El poder de las APIs y Fintoc
La gracia es que las APIs permiten crear cosas nuevas a partir de software ya existente.
Si te pediste un Uber alguna vez, te podrás acordar que hay un mapa dentro de la app. Ese mapa es de Google. En lugar de que Uber haya tenido que crear sus propios mapas desde cero, Uber usa el mapa de Google en su aplicación (pagándole obviamente).
Mediante la API de Google Maps, la app de Uber puede hacer cosas interesante cómo dibujar una ruta, calcular distancias y mostrarte dónde viene tu conductor en el mapa. Un software usando a otro para darle más valor al primero.
La mayoría de las plataformas importantes tienen una API para que otros programas puedan acceder y podamos crear otras cosas sobre ellas. Hay una serie de modelos de negocios sobre estas.
Se pueden hacer hasta las cosas más rebuscadas.
Por ejemplo la API de Twitter, me permitiría hacer un programa que vaya descargando los tweets. Con esto podríamos hacer cosas como ver qué tanto se repite el nombre de un candidato presidencial entre el historial de tweets de la gente. También se podría analizar cómo hablan las personas acerca del nuevo iPhone para después hacer una mejor campaña de marketing con esa información.
En el mundo financiero, procesos como pedir un crédito, validar la renta para arrendar un departamento o incluso algo tan cotidiano como pagarse por transferencias entre amigos tienen demasiado roce. Estos problemas no se han solucionado bien por la falta de una API.
Ahora, qué tal si existiera una API que permitiera -con la autorización de las personas- conectarse a las cuentas bancarias de estas para ver los movimientos bancarios y mover plata entre cuentas?
Bueno eso es lo que hacemos en Fintoc. Como buenos computines, entendimos que para poder digitalizar esta industria y para que la gente pudiera crear nuevos programas y productos financieros era necesario una API bancaria y por eso hoy existe Fintoc.
Básicamente nos conectamos a todos los bancos y expusimos una API común que permite que otros programas puedan aprovechar esta infraestructura. Una conexión que te permite interactuar con cualquier banco. Con esto la gente puede crear nuevas empresas a partir de software, de la misma forma que Uber lo hace sobre Google.
Si eres desarrollador, puedes probar nuestra API hoy totalmente gratis. Y si te gustaría saber cómo Fintoc puede ayudarte a potenciar tu negocio (o el de un amigo), contacta a nuestro equipo de ventas acá y hablemos.