¿Qué es una API?

¿Qué es una API? ¿Cómo la puedes utilizar en tu emprendimiento? ¿Cómo la puedes utilizar en tu día a día?

Introducción

Hola, muy buenas noches a todos. Mi nombre es Ignacio Alonso y el día de hoy les voy a hablar un poco sobre API’s.

Mi objetivo con esta charla es que se lleven una idea clara de lo que son las API’s, cómo las pueden utilizar en sus emprendimientos y qué pueden hacer con ellas para mejorar su productividad.

¿Qué es una API?

Para empezar, podemos aclarar que una API por sus siglas en ingles significa Application Programming Interface y para entender este término mejor podemos traducir y leer las siglas al revés:

Una API es una interfáz usada por programas para interactuar con una aplicación.

Analogía del teléfono

Como esta charla está enfocada a principiantes y siempre es mejor entender algo con una analogía vamos a tratar de ver estos ejemplos así.

teléfono

Digamos que por ejemplo, nuestros teléfonos son las aplicaciones y para interactuar con ellas usamos el teclado como interfáz (de usuario) en este caso específico.

Sin embargo para una API las interfaces son usadas por robots, código o programas no por humanos directamente.

robots no humanos

En este caso los programadores son los que escriben el código para que su aplicación o programa interactúe directamente con la API.

Podríamos decir entonces que la programación usando API’s muchas veces es “plomería” en donde conectamos diferentes servicios que exponen algo y hacemos un producto nuevo con todas esas tuberías conectadas.

Las API’s exponen algo que es útil

¿Qué expone esta API?

enchufe

Este enchufe está exponiendo corriente eléctrica en este caso cuando un desarrollador quiere utilizarla no inventa una nueva manera de utilizar corriente eléctrica, simplemente se conecta al enchufe que está disponible.

La sección amarilla de API’s

Existen muchos agregadores de API’s en internet. El más popular de todos es programmable web en donde podrás encontrar las API’s más populares del mundo.

También podrás buscar diferentes API’s por categoría y rating. Es un lugar muy bueno para encontrar la API perfecta para cuando estas creando una aplicación.

Google Maps API ⚡️ (enchufe)

Como podemos ver en programmable web, La API para mapas de Google es la más popular del mundo. Ahí podemos sacar diferente información y mostrarla en un mapa.

Airbnb 🔌 (conector)

En este caso Airbnb se está conectando a la API de google para poder mostrarte información de lugares en renta y poderlos ubicar fácilmente con “pines” mostrando su costo.

Twilio API ️ (enchufe)

Twilio es la API mas fácil de usar para poder enviar mensajes de texto, llamadas o whatsapps con base en acciones que ocurren en tu aplicación.

De nuevo hay que tomar en cuenta que las API’s nos ayudan a construir nuevos productos sin necesidad de reinventar la rueda.

En este caso específico no estamos yendo con los proveedores de telecomunicaciones de todo el mundo.

Simplemente nos conectamos a la API de Twilio y ellos se encargan de hacer que todo funcione para que puedas mandar mensajes o llamadas sin tener que preocuparte por Telmex y demás proveedores.

Uber 🔌 (conector)️

¿En qué casos te llegan mensajes cuando usas Uber?

Cuando usas la app por primera vez, lo más importante para ellos es tu número de teléfono.

Es la primer información que validan enviándote un SMS con un código que tienes que ingresar en la aplicación.

Para lograr todo esto, ellos usan la API de Twilio.

Analogía de desarrollador en TimeOut

Supongamos que estamos trabajando de desarrolladores para una empresa como TimeOut.

Un sitio en donde tienen un listado de los siguientes eventos y nuevas aperturas de restaurantes en la ciudad.

Queremos mostrar en un mapa los lugares que vayan a tener eventos y para eso necesitamos la coordenada.

El content manager de TimeOut solo tiene el nombre del restaurante y la dirección.

No es una opción que el CM busque manualmente las coordenadas en un mapa. Para eso podemos usar el API de geolocalización de Google.

En el, vamos a mandar la información de una dirección y vamos a recibir un JSON (Javascript Object Notation) en donde tendremos contenida la latitud y longitud del mapa.

¿Cómo funciona el proceso?

Llamamos a la API usando una HTTP request.

El admin de contenido ingresa la dirección y el nombre del lugar en una forma.

La API muestra el resultado y se guarda en la BD de TO

Después de todo este proceso todavía no hemos terminado ya que tenemos sólo las coordenadas crudas y para ello podemos usar la API de mapas de google y usar la latitud y longitud cruda para mostrar la ubicación exacta de la dirección.

Otro ejemplo

Si se cancela un evento, necesitamos que la App mande un mensaje de texto avisando a todos los registrados.

Para eso podemos usar la API de twilio y mandar los mensajes cuando ocurra una acción.

Webhooks

Otro concepto muy importante es un Webhook. Los webhooks son como API’s a la inversa.

En lugar de que solicites información, los Webhooks están esperando a que ocurra una acción que tu especifiques y cuando esta ocurre ellos te mandan un mensaje a una dirección que tu especifiques.

Un ejemplo

Digamos que estamos en meetup.com y que para saber cuantos asistentes van a un evento hacemos código que actualice cada 10 segundos la lista y nos muestre si hay o no nuevos registros.

Esto no es lo mejor para nuestro servidor y para obtener la información.

Podemos usar webhooks para que automáticamente nos llegue la información una vez haya sido actualizada.

Ejemplo práctico de API vs Webhooks

Typeform para capturar prospectos para algún servicio o producto que queremos ofrecer al mundo.

Trello para administrar la lista de prospectos que nos contactan.

Webhook

Servicio A empuja información en cuanto esté disponible al servicio B.

API

Servicio B expone métodos para leer, crear o actualizar información.

Webhook

Typeform empuja las entradas tan pronto sean creadas .

API

Trello expone métodos para que typeform coloque las entradas creadas.

Join my newsletter

If you want to receive my latest essays and interesting finds subscribe to my list: