Últimos artículos

blog image

¿Qué es una API?

February 17, 20245 min read
09a59a

¿Te has preguntado alguna vez cómo hace la página de tu cine favorito para procesar los pagos de tus entradas? Cada vez que realizamos una compra por internet, nosotros simplemente vemos la magia ocurrir: un par de clics y somos propietarios de muchas cosas, pero ¿qué hace posible todo esto? ¿Cómo descuentan las tiendas virtuales el dinero de mi cuenta bancaria?

En este post voy a explicarte qué es una API y todo lo relacionado con ella, para que al terminar la lectura sepas cómo es posible que tu cine preferido pueda venderte los tickets por internet.

¿QUÉ ES UNA API?

Por sus siglas en inglés, Application Programming Interface (Interfaz de programación de aplicaciones), es un conjunto de reglas, métodos, especificaciones y formalidades técnicas contenidas en librerías de desarrollo que dictan cómo se comunica un módulo de software con otro. Dicho de otra manera, es un puente de intercambio de información entre programas, servicios digitales o partes de estos.  

Funcionamiento de una API

Funcionamiento de una API. En el gráfico se puede observar cómo esta interviene en la comunicación entre el software que utiliza el consumidor y el servidor que provee la información. Fuente: Alio.o

TIPOS DE API

Podemos clasificar a las API en dos grandes grupos: las API locales, que están pensadas para comunicar dos piezas de software dentro de un mismo entorno, y las API remotas, que están orientadas a crear un enlace de intercambio de información entre aplicaciones y servicios remotos a través de internet. Para este post nos enfocaremos en el segundo grupo.

También podemos agrupar a las API por su política de disponibilidad: públicas y privadas. Las API públicas pueden ser empleadas por otros desarrolladores para potenciar sus proyectos mientras que las API privadas existen internamente para determinadas organizaciones.

TERMINOLOGÍA Y CONCEPTOS FUNDAMENTALES

Para el desarrollo y utilización de las API se requiere conocer los siguientes términos y conceptos:

  1. Recursos: son los datos remotos que consultaremos a través de las API.

  2. Colecciones: conjuntos de recursos clasificados y organizados.

  3. Endpoints: son URLs definidas por las API que responden a las peticiones realizadas por la aplicación.

  4. Peticiones: son procedimientos definidos en un protocolo web de transmisión de datos para realizar operaciones con estos, como requerirles, enviarlos, modificarlos o crear nuevos.

  5. Protocolo web: especificación que establece las reglas de intercambio de datos. En el caso de las API remotas se utiliza el protocolo HTTP.

  6. HTTP: por sus siglas en inglés, Hypertext Transfer Protocol (protocolo de transferencia de hipertexto), se trata de un conjunto de métodos y reglas para llevar a cabo la transferencia de datos a través de internet. Todo lo que conocemos como la web funciona dentro del marco de este protocolo.

Las API por defecto utilizan los métodos HTTP para manejar los recursos remotos conectándose al endpoint correspondiente. Los más utilizados son GET, POST, PUT y DELETE.

  • GET solicita el recurso o la colección de recursos al servidor remoto. 

  • POST envía datos al servidor y le solicita que cree una nueva entrada remota con estos. Generalmente se utiliza para manejar el envío de información escrita en formularios.

  • PUT le indica al servidor que actualice determinado recurso o que lo cree en caso de que no exista.

  • DELETE lleva a cabo el borrado de un recurso remoto.

Algunos de estos métodos devuelven códigos de estado HTTP que dan el parte del resultado: 

  • Códigos 2xx (Operación exitosa)

  • Códigos 3xx (Redirección)

  • Códigos 4xx (Errores en el cliente)

  • Códigos 5xx (Errores en el servidor)

Por último, debemos mencionar a los formatos de datos: una API también define el formato de los datos que se van a transmitir a través de ella. Entre los más populares están XML (eXtensible Markup Language) y JSON (JavaScript Object Notation)  

Códigos de estado HTTP

Códigos de estado HTTP más frecuentes. Fuente: Mi pequeño rincón - Gabriel Cuesta 

¿POR QUÉ Y EN DÓNDE SE UTILIZAN LAS APIS?

Para el desarrollador, una API resulta de gran utilidad pues le permite consumir y gestionar datos que proveen otras aplicaciones o piezas de software en su proyecto, lo que le evita tener que generarlos él mismo. Imagina por un segundo que empresas como Uber hubiesen tenido que mapear al mundo entero tal y como lo hizo Google para su popular servicio Maps... 

Costosísimo, ¿verdad?  

En esos casos es en donde las API tienen protagonismo: Google ya hizo el trabajo pesado, por lo que pone a la disposición de los desarrolladores la posibilidad de acceder a los mapas e interactuar con ellos de formas distintas en sus propias aplicaciones, con solo insertar un par de líneas en el código que hagan las solicitudes a través de un protocolo.

Pasemos a nuestro ejemplo del portal virtual de cine: cuando queremos hacer una compra, la página nos guía a través de una serie de pasos que debemos seguir, entre los que destacan escoger la película, elegir las butacas y finalmente llenar un formulario con los datos de nuestra tarjeta. En cada paso se está haciendo uso de una API para consultar datos como la cartelera y los asientos disponibles, pero vamos a concentrarnos en el último: cuando colocamos nuestra información bancaria en el form y hacemos clic en el botón Pagar, nuestra solicitud se envía al banco a través de una API usando HTTP POST para que este procese el pedido validando primero la información y el saldo disponible. Si tenemos dinero suficiente y los datos son correctos, la plataforma del banco devolverá un OK como respuesta y la página del cine nos mostrará una alerta en pantalla indicándonos que el pago se realizó de manera exitosa.

Todo eso ocurre sin que el usuario lo sepa, y en algunas ocasiones el desarrollador que consume la API tampoco conoce los procesos que ocurren por debajo.


Ahora que sabes qué es una API, podrás entender cómo hacen la mayoría de servicios, tiendas, aplicaciones y páginas en internet para comunicarse entre sí sin profundizar mucho en los detalles técnicos.  

APIInterfaz de programación de aplicacionesFuncionamiento de APITipos de APITérminos y conceptos de API
blog author image

Carlos Reyes

Estudiante de Ingeniería en Computación y Desarrollo Web Front-End. Amante de la educación autodidacta, de la tecnología y de todo lo que se ha podido lograr con ella. Actualmente construyendo mi propio camino hacia la realización personal.

Back to Blog

© All Rights Reserved.