Que es y para qué sirve una API/Web Service

¿Que son las API/Web Services? en este artículo trataré de explicar de manera fácil estos conceptos súper comunes en programación para que se entienda qué son y cómo se aplican con un ejemplo del mundo real.

¿Qué es una API?

Las siglas API hacen referencia a Interfaz de Programación de Aplicaciones. Para definir que es una API en términos generales podemos decir que es un conjunto de métodos claramente definidos y documentados sobre cómo se puede comunicar un programa computacional con otro externo de manera que estos compartan e intercambien datos de forma segura.

¿Y que es un Web Service? un Web Service es una API que está hecha exclusivamente para establecer comunicación a través de la Web. Por lo tanto podemos decir que “Todo Web Service es una API pero no toda API es un Web Service”.

A continuación en este artículo haremos referencia a API y Web Service indistintamente para referirnos principalmente a APIs que se comunican a través de la Web.

¿Para qué sirve una API?

Una API sirve como punto de partida para intercambiar datos y ejecutar transacciones sobre un sistema actualmente funcionando. Esto permite desarrollar un software como extensión de otro ya existente y permite que estos compartan e intercambien información que se pueda ver actualizada en ambos lugares en tiempo real.

Una API no se hace de manera predeterminada para todos los programas de software o sitios Web. Una API se desarrolla explícitamente cuando los programadores de un software estiman que es importante para el futuro del negocio tenerla disponible, es decir, depende los objetivos.

Mira también:  Caso de éxito: Infobae in.house

Entonces la desarrollan y la hacen accesible para los interesados. Una API puede ser pública, o con autenticación, depende el nivel de seguridad de acceso que se necesite. Generalmente este proceso de acceso seguro y privado se hace a través de lo que se llama una KEY que, en esencia, es una cadena de caracteres que sirve como “Contraseña” para tener acceso a la API.

Un ejemplo del mundo real

La verdad es que no es fácil encontrar un ejemplo que sea exacto, he visto múltiples artículos que lo explican de maneras un poco complicadas de entender. Por eso yo decidí explicarlo con un caso real.

Es altamente probable que en algún momento de su vida el lector haya sacado un pasaje para viajar en micro de larga distancia. Hoy en día sacar un pasaje de larga distancia es muy fácil a través de Internet, no hace falta ir a una terminal de ómnibus, aunque mucha gente sigue prefiriendo esta opción.

Ahora… si uno accede a cualquier sitio de reserva de pasajes en línea puede ver que el sitio muestra en tiempo real que asientos del viaje están ocupados y cuales libres, es importante que esta información esté actualizada tanto para los vendedores de la terminal de ómnibus, como para aquellos puntos de venta en línea.

Pero… ¿Cómo hace una empresa de micros para informar a todos los puntos de venta que asiento está disponible y cual no de cada uno de los cientos de viajes mensuales que realiza?

Si nos ponemos a pensar, una opción podría ser llamar por teléfono uno por uno a estos cientos de puntos de venta para avisarles cada vez que se haga una reserva, pero esto es casi imposible de hacer. Sin duda alguna lo más efectivo es que todos los puntos de venta compartan algún tipo de programa informático unificado.

Mira también:  Principales novedades de PHP 8

Pero un momento… Algunas de estas reservas se hacen en los sistemas de las terminales de ómnibus, otras se hacen desde aplicaciones de teléfono, otras desde sitios Web. Todas estas plataformas son completamente diferentes, probablemente una aplicación de teléfono no podrá ejecutar el mismo programa que una PC de una terminal de ómnibus o que un sitio Web.

Para este caso es perfectamente aplicable una API. Porque como dijimos antes las diferentes plataformas no podrán ejecutar los mismos programas, sin embargo, todas las plataformas si son capaces de consumir los datos a través de una API estandarizada.

Entonces lo que se puede hacer es crear un sistema central donde se concentre toda la información sobre viajes, reservas, cancelaciones, precios de las distintas empresas, etc. Y una API para este sistema central a través de la cual cualquier punto de venta independientemente de la plataforma en la que funcione pueda acceder y dar de alta nuevos datos de manera que todos compartan la misma información en tiempo real. A cada punto de venta se le da una KEY de acceso y de esa forma podemos controlar cuales son nuestros puntos de venta y cada una de las transacciones que estos realizan sobre nuestro sistema central.

Una vez que tenemos nuestra API funcionando, cada vez que cualquier vendedor decida crear su propio sitio Web o aplicación para vender pasajes, lo único que se le debe entregar es una KEY de acceso y un pequeño documento que explique cómo se usa la API. Y de esa forma ya nos desligamos de qué aplicación o sistema use porque sabemos que conoce cómo realizar ventas desde nuestro sistema central a través de nuestra API.

De hecho nosotros en diblet.com tenemos una API súper simple para acceder a los datos de contacto y detalles de la empresa. Esta API fue desarrollada originalmente para cualquier sitio que desee incluir nuestro negocio en su buscador o directorio. Y mediante nuestro punto de acceso a la API se puede obtener los datos actualizados de nuestra empresa en formato JSON. Punto de acceso a nuestro Web Service de datos de contacto: https://diblet.com/blog/ws/?action=contacto

Mira también:  Acerca de diblet

Conclusión

El concepto de API es bastante complejo, de hecho en conversaciones con clientes hemos tenido que explicar lo que es y para qué sirve y si no se tienen al menos nociones de programación puede ser difícil de comprender. De ahí el origen de este artículo.

En diblet.com hemos desarrollamos múltiples sistemas y aplicaciones que trabajan y se comunican a través APIs y hemos realzado integración con todo tipo de APIs de medios de pago, facturación, CRM, enriquecimiento de datos y muchas más.

Si estás pensando en desarrollar una API para tu sitio Web o aplicación o deseas integrar tu sitio Web con alguna API ya existente y quieres nuestra ayuda no dudes en contactarnos desde nuestra sección de servicios de programación.