Qué es una API y cómo conecta servicios

Autor: Publicado

En breve: una API es una interfaz de programación: un conjunto de reglas que permite a un programa utilizar los datos o las funciones de otro. Sirve, por ejemplo, para obtener la previsión meteorológica desde una aplicación, enviar un pedido al sistema de gestión del almacén o solicitar la creación de una etiqueta de envío. La API define qué operaciones están disponibles, cómo solicitarlas y cómo interpretar el resultado.

¿Cómo funciona una API en la práctica?

La sigla API procede del inglés Application Programming Interface. Aquí, interfaz se refiere a la forma de comunicación entre componentes de software, no a una pantalla con botones. El usuario maneja una aplicación mediante un formulario o un menú, mientras que un programa puede utilizar otro sistema a través de su API.

Una API puede compararse con un formulario de pedido: indica qué se puede pedir, qué información hay que aportar y qué confirmación cabe esperar. No hace falta conocer la organización interna del almacén para realizar un pedido correctamente. Del mismo modo, una aplicación no necesita saber cómo almacena los datos el otro sistema ni cómo realiza sus cálculos.

En una API web típica, la comunicación sigue estos pasos:

  1. La aplicación envía una solicitud para obtener datos o ejecutar una operación.
  2. El sistema receptor comprueba que la solicitud sea válida y, si es necesario, verifica los permisos de quien la envía.
  3. El sistema ejecuta la operación y devuelve una respuesta con el resultado o con información sobre un error.

No todas las API funcionan a través de internet. Los sistemas operativos y las bibliotecas —conjuntos de funciones ya preparadas que se utilizan al programar— también ofrecen interfaces de programación. Sin embargo, cuando se habla de conectar servicios, el término «API» suele referirse a la comunicación a través de una red.

Ejemplo: una tienda solicita el envío de un paquete

Imagina una tienda online conectada al sistema de una empresa de mensajería. Una vez pagado el pedido, el software de la tienda envía mediante la API los datos necesarios para tramitar el envío, como la dirección del destinatario, el servicio elegido y las características del paquete. El sistema de mensajería puede devolver en su respuesta el número de envío y una etiqueta para imprimir.

Así, el empleado no tiene que volver a introducir esos datos en el panel del transportista. Más adelante, la tienda puede consultar el estado del envío y mostrárselo al cliente. Las operaciones disponibles y los datos necesarios dependen de cada API.

Sin embargo, que el transportista ofrezca una API no significa que la tienda empiece a utilizarla automáticamente. Hace falta una integración, es decir, una conexión configurada entre los sistemas mediante un complemento ya preparado, un servicio de automatización o un programa independiente. La API permite la comunicación; la integración lleva a cabo un proceso de negocio concreto.

¿Qué significan endpoint, HTTP y JSON?

En la documentación de una API web suele aparecer el término endpoint: una dirección concreta en la que está disponible una función o un recurso. Por ejemplo, la ruta /productos/123 podría dar acceso a los datos del producto con el identificador 123. Es solo un ejemplo: el proveedor del servicio establece las direcciones reales.

Muchas de estas interfaces utilizan HTTP, el protocolo de comunicación que también usan los sitios web. La solicitud incluye un método que indica el tipo de operación. El método GET sirve para obtener datos, mientras que POST se utiliza a menudo para enviarlos, por ejemplo, al crear un pedido.

La respuesta puede estar escrita en JSON, un formato de datos en texto que los programas pueden leer. Un resultado sencillo podría ser este: {"id":123,"nombre":"Taza","disponible":true}. La aplicación lee los campos y, a partir de ellos, muestra el nombre del producto y su disponibilidad.

La API también comunica información sobre errores. En la comunicación mediante HTTP, el código 404 suele indicar que no se ha encontrado el recurso solicitado, y 429, que se ha superado la frecuencia de solicitudes permitida. Una integración bien diseñada también debe gestionar la falta de respuesta, la indisponibilidad del servicio y los datos incorrectos, en lugar de dar por hecho que todas las operaciones se completarán correctamente.

¿Hay que programar para utilizar una API?

Si un complemento ya preparado es compatible con el servicio que necesitas, utilizar la API puede reducirse a conectar las cuentas y configurar unas pocas opciones. Las herramientas de automatización también permiten crear flujos sencillos sin escribir código, como enviar las consultas recibidas en un formulario a un sistema de atención al cliente.

Normalmente se necesita un programador cuando no existe una conexión ya preparada o cuando el proceso requiere una lógica específica. Un ejemplo es la sincronización de existencias procedentes de varias fuentes, que debe resolver los datos contradictorios y reintentar de forma segura las operaciones fallidas.

A veces, la exportación e importación manual de archivos puede ser una alternativa a la API. Puede bastar si se intercambian pocos datos de forma ocasional. Una API tiene más sentido cuando el intercambio es frecuente o cuando los datos deben llegar al otro sistema sin iniciar manualmente la exportación.

¿Qué conviene comprobar antes de conectar servicios?

El acceso a una API no tiene por qué ser público ni gratuito. A menudo requiere una clave de API o un token: credenciales que se utilizan para autorizar el acceso. Las claves confidenciales no deben incluirse en el código público del sitio web ni enviarse a personas que no las necesiten.

Antes de implementar la conexión, consulta la documentación oficial y las condiciones del proveedor para comprobar lo siguiente:

Para empezar, describe una sola tarea, por ejemplo: «una vez pagado el pedido, crea el envío». Después, comprueba si existe una integración ya preparada y, si no la hay, si las API de ambos sistemas ofrecen las funciones necesarias para realizar esa tarea.

Consulta también: ¿Qué es 2FA?

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.