¿Qué es ‘API’ en sistemas y programación? Interconecta sistemas, fácil y estandarizado

Cuando navegamos por una tienda online, es probable que nos hayamos encontrado con la opción de iniciar sesión con nuestra cuenta de Facebook o Google, o que al realizar una compra, el sitio web nos muestre opciones de envío y precios de distintas empresas de mensajería.

Todo esto y mucho más es posible gracias a las APIs, siglas en inglés para «Application Programming Interface» o «Interfaz de Programación de Aplicaciones» en español.

Entendiendo las APIs de forma fácil

Las APIs son interfaces de conexión entre sistemas, equivalente a un cable que conecta la computadora con la red eléctrica, por ejemplo. Y tienen diferentes especificaciones: de donde hacia donde va la corriente, de cuantos amperes, en qué voltaje y ciclos, etc.

Pasa también con el calzado que nos colocamos, son una interfaz que nos «conecta» con el suelo: dependiendo la actividad, será el tipo de calzado y suela, la estética, etc; no es lo mismo correr en tierra o en asfalto, si debe ser deslizante o agarrarse para no patinar, ni tampoco unas zapatillas para ir de fiesta con muchos colores o algo formal para ir al trabajo en la oficina.

APIs, Webservice e interconexión entre sistemas y funcionalidades

En términos simples, una API permite a diferentes sistemas y aplicaciones «hablar» entre sí, intercambiando información y realizando tareas de forma estandarizada.

Esto significa que los desarrolladores pueden utilizar la API de una aplicación para conectarla con otra, sin necesidad de conocer en detalle cómo está programada cada una de ellas. Las APIs «exponen» ciertos recursos y funcionalidades de un sistema para «consumo» de otros, de acuerdo a ciertas especificaciones documentadas, y permiten ese intercambio de información.

Por ejemplo, podemos hacer un GET (traer) a la api /price/{id} y el sistema podría respondernos algo similar a esto:

Preguntamos precios del producto/sku mencionando su ID, y nos trae los valores. No nos interesa ni el sistema operativo que usa el servidor al que consultamos, tampoco el tipo de base de datos, ni el lenguaje de programación, nada en absoluto. Preguntamos algo específico y nos devuelve un JSON (formato que se muestra en l ejemplo), y nosotros lo usamos como necesitemos.

Si hay un acuerdo documentado de que si apuntamos a esa URL (de acuerdo a la documentación), va a devolvernos tales campos, y que los precios son números en formato decimal, etc. Además, siguiendo el ejemplo, podría ser que en priceList tengamos una nomenclatura: porcentaje de descuento a partir de qué cantidad, entonces sería un 13% si supera las 500 unidades.

Las API (rest) y Webservice en las tiendas y plataformas ecommerce

En el caso del ecommerce, las APIs son fundamentales para integrar distintas herramientas y servicios que permiten mejorar la experiencia del usuario y la eficiencia de la tienda online. Por ejemplo, una API puede permitir que una plataforma de pago procese una transacción de manera segura y eficiente, o que una empresa de mensajería acceda a la información del envío y pueda entregar el paquete correctamente.

Existen distintos tipos de APIs, pero en general se dividen en dos grandes categorías: las APIs privadas y las APIs públicas. Y tambièn entre protocolos o formatos: APIs (rest y no rest) y los Webservide (SOAP, etc).

Las APIs Privadas son utilizadas por una empresa o organización para conectar sus propios sistemas internos, comunicación entre diferentes plataformas o módulos que hacen a un programa, mientras que las APIs Públicas están disponibles para que otros desarrolladores, que cumplan con los requerimientos de conexión, puedan utilizarlas y conectar sus aplicaciones.

Ejemplos de API Rest Públicas en tiendas ecommerce

No solo las plataformas o web ecommerce hacen uso de APIs, sino que hoy en día casi toda web involucra varias APIs. ¿Aplicación para consultar el pronóstico del clima? ¿últimas noticias del periódico? ¿gráficos del mercado de valores, acciones? Todo son servidores que «exponen» una API para que la propia web o empresas terceras consuman los datos.

Las APIs más usadas en Plataformas Ecommerce:

Las APIs públicas se han vuelto muy populares en los últimos años, y muchas empresas de tecnología y servicios digitales ofrecen APIs que pueden ser utilizadas por otros desarrolladores de forma gratuita o mediante un pago. Algunas de las APIs más utilizadas en el ecommerce incluyen:

  • APIs de pago: como PayPal, Stripe o MercadoPago, que permiten procesar transacciones de forma segura y eficiente.
  • APIs de envío: como UPS, FedEx o DHL, que permiten acceder a información sobre tarifas y tiempos de envío.
  • APIs de redes sociales: como Facebook, Twitter o Instagram, que permiten acceder a información de perfiles y publicaciones, o compartir contenido en estas plataformas.
  • APIs de marketplaces: como Amazon o eBay, que permiten integrar productos y ventas entre distintas tiendas online.
  • APIs de análisis y seguimiento: como Google Analytics, que permiten medir y analizar el tráfico y comportamiento de los usuarios en un sitio web.

¿Cómo funcionan las APIs conectadas en un ecommerce?

Sin ir muy profundo en tecnicismos, vamos a decir que las API de tipo REST se basan en una convención y especificaciones que se han establecido como un estándar, y resumidamente admiten «verbos» (acciones) o «métodos» como:

  • GET: leer, traer, consultar información.
  • POST: enviar, crear, actualizar, enviar información.
  • PUT: enviar cambios o actualizaciones parciales a algo ya existente.
  • DELETE: eliminar un registro específico.

Podríamos decir que si queremos conectar un sistema ERP a la tienda online Prestashop o cualquier otra plataforma, los flujos podrían ser en este esquema:

  • ERP <-> Prestashop
    • -> productos
    • -> precios
    • -> stock
    • <- pedidos
    • <- nuevos clientes
  • Prestashop <-> logística
    • <- tienda consulta precio de envío del pedido y zona de cobertura
    • -> confirmado el pedido, envía datos y generar etiqueta
    • <-> puede ser bidireccional la consulta de estados y tracking

Uso y limitaciones de las APIs y Webservice

Las APIs pueden ser Publicas, pero no por eso «totalmente abiertas». Se establecen credenciales y tipos de autenticación, de acuerdo al perfil que tienen esas credenciales se habilitan ciertos módulos y acciones (métodos/verbos).

Por ejemplo, podemos configurar una API key de solo lectura a precios, y sin acceso al resto de datos, ni tampoco a escribir, cambiar ni actualizar.

También es importante considerar varios factores, especificado generalmente en la documentación, la seguridad requerida, la frecuencia y cantidad de datos pueden consultarse (rate-limit, cantidad de consultas en un tiempo determinado), y confiabilidad de la API: algunas están en beta, otras tienen versionado, también hay campos que no son totalmente consistentes, por ejemplo, poner un precio como «string» (frase alfanumérica, en vez de integer/entero o decimal).

Filosofía API First

En los últimos años se impulsa fuertemente a que los sistemas modernos y plataformas deben pensarse como «primero las apis», es decir, que no importa si mañana cambiamos la plantilla de frente al usuario, se va a conectar a las mismas APIs.

Además, quizás hoy se usa un tipo de base de datos y luego se migra a otra; si las APIs fueron bien pensadas en su arquitectura, podemos crear «traductores» (ETL, middleware) que permitan reducir el impacto o la necesidad de cambios en funciones de misión crítica, proveedores, externos, etc.

Tanto WordPress (WooCommerce), como Vtex, Prestashop, Magento2, Janis, Mercadolibre, TiendaNube y otras plataformas ecommerce, ofrecen una amplia variedad de APIs y herramientas para integrar distintos servicios y funcionalidades en una tienda online.


por

Etiquetas: