Desarrollo de software

Qué es una API: la REST API explicada de forma sencilla

Explicamos con la analogía del camarero y con ejemplos REST cómo una API hace que dos programas se entiendan, y simplificamos los conceptos de endpoint, método y seguridad.

Aurora YazılımEquipo editorial 6 min de lectura
Qué es una API: la REST API explicada de forma sencilla
¿Qué es una API?

Una API (Application Programming Interface, interfaz de programación de aplicaciones) es una interfaz que permite que dos programas intercambien datos con arreglo a unas reglas determinadas. Una aplicación pregunta lo que quiere de forma definida y la otra devuelve la respuesta también de forma definida. Que una tienda online obtenga el número de seguimiento de una empresa de transporte o que envíe stock a un marketplace es posible gracias a las API.

Qué es una API: la analogía del camarero

La forma más conocida de explicar qué es una API es la analogía del restaurante. Usted es el cliente y la cocina es el sistema que guarda los datos. No puede entrar usted mismo en la cocina; mira la carta y le da el pedido al camarero. El camarero transmite la petición a la cocina y le trae el plato cuando está listo. En este escenario, el camarero es la API.

La carta es también la documentación de la API: le dice qué puede pedir, cómo pedirlo y qué recibirá a cambio. No puede pedir algo que no está en la carta; y tampoco necesita saber cómo funciona la cocina.

En el mundo del software, este orden aporta una gran comodidad. Una tienda online no necesita conocer el sistema interno de la empresa de transporte; le dice a la API de la empresa de transporte: «crea la etiqueta para este envío» y recibe la respuesta. Ambas partes pueden cambiar su estructura interna siempre que se respete el contrato de la API.

¿Para qué sirve una API?

La respuesta a para qué sirve una API está escondida en casi todos los servicios digitales que usa a diario. Elegir una ubicación en un mapa dentro de una web, pagar con tarjeta, iniciar sesión con Google o ver el tiempo es, por detrás, una llamada a una API.

  • Conecta los sistemas entre sí: la web, el marketplace, los envíos, la contabilidad y los pagos funcionan en un solo flujo.
  • Reduce la introducción manual de datos: la información de pedidos, stock y facturas pasa de un sistema a otro por sí sola.
  • Alimenta las aplicaciones móviles: la app del teléfono no obtiene los datos directamente de la base de datos, sino de la API.
  • Permite usar servicios ya hechos: no hace falta escribir desde cero la infraestructura de pagos, mapas, SMS o correo.
  • Ofrece acceso seguro: a la parte externa no se le abre toda la base de datos, sino solo las operaciones permitidas.

¿Qué es una REST API?

Las API pueden diseñarse con estilos distintos; el más extendido en la web es el enfoque REST. La respuesta corta a qué es una REST API: un estilo de API que usa el protocolo HTTP, identifica cada dato con una dirección (recurso) y opera sobre esos recursos con métodos estándar.

En REST, todo es un recurso: productos, pedidos, clientes. Cada recurso tiene una dirección, y el método HTTP con el que acceda a ella determina lo que quiere hacer. Las respuestas suelen devolverse en formato JSON, un formato de texto que las personas pueden leer y que los programas procesan con facilidad.

Método HTTPSignificadoEjemplo
GETLeer datosGET /api/productos → lista de productos
POSTCrear un registro nuevoPOST /api/pedidos → nuevo pedido
PUT / PATCHActualizar un registroPATCH /api/productos/42 → actualizar stock
DELETEEliminar un registroDELETE /api/carrito/7 → quitar del carrito

¿Qué es un endpoint?

Un endpoint (punto final) es la dirección de una API en la que se realiza una operación concreta. Por ejemplo, /api/productos es el endpoint de la lista de productos y /api/productos/42, el del producto número 42. La documentación de una API es, en realidad, la lista de estos endpoints, de los métodos con los que se llaman y de lo que devuelven.

Códigos de estado

Con cada respuesta llega un código de estado HTTP que resume el resultado de la operación. 200 significa correcto, 201 registro creado, 400 petición errónea, 401 no autenticado, 403 sin permiso, 404 no encontrado, 429 demasiadas peticiones y 500 error del servidor. Una buena integración trata cada código por separado.

Qué aspecto tiene una petición a una API

Una petición a una API consta básicamente de cuatro partes: la dirección, el método, las cabeceras (credenciales, tipo de datos) y, si hace falta, el cuerpo (los datos enviados). A continuación se ve una sencilla petición de lectura a una API pública de pruebas y una respuesta JSON típica.

Es posible enviar esta petición desde el terminal con curl, desde el navegador con JavaScript o desde el servidor con Python o Node.js; las reglas son las mismas, solo cambia la herramienta utilizada.

bashPetición GET con curl
curl -s https://jsonplaceholder.typicode.com/posts/1 \
  -H "Accept: application/json"
jsonEjemplo de respuesta
{
  "userId": 1,
  "id": 1,
  "title": "...",
  "body": "..."
}
javascriptLa misma petición con JavaScript
const yanit = await fetch("https://jsonplaceholder.typicode.com/posts/1");
if (!yanit.ok) throw new Error(`Hata: ${yanit.status}`);
const veri = await yanit.json();
console.log(veri.title);

Seguridad de las API y autenticación

Salvo en las API públicas de pruebas, no se puede acceder a una API real sin demostrar quién es usted. Los métodos más habituales son la clave de API, los tokens de acceso de corta duración y los flujos de autorización como OAuth.

La seguridad no se limita a la autenticación. Una API bien diseñada da a cada usuario solo los permisos necesarios, valida los datos que recibe y limita el número de peticiones (rate limit) para evitar el uso indebido.

  • No incluya nunca las claves de API en el código que llega al navegador ni en un repositorio público.
  • Establezca siempre la conexión mediante HTTPS.
  • Guarde las claves en variables de entorno y renuévelas periódicamente.
  • Pida solo los permisos necesarios; si basta con el permiso de lectura, no solicite el de escritura.
  • No filtre al exterior detalles del sistema interno en las respuestas de error.

Ejemplos de integración por API

Una integración por API consiste en conectar dos o más sistemas mediante API para que intercambien datos de forma regular y automática. En el día a día de una empresa de e-commerce se ven casi todas estas conexiones.

Cuando entra un pedido, el stock se actualiza en todos los canales en los que se vende el producto; esto lo permite la integración con marketplaces. Al confirmarse el pedido, se obtienen de la empresa de transporte la etiqueta y el número de seguimiento; este paso corresponde a la integración de envíos. Y la factura se emite sola y se envía al cliente mediante la integración factura electrónica (el sistema turco de facturación electrónica).

En todas estas conexiones, lo difícil no es hacer la primera llamada. Las respuestas a preguntas como qué ocurre cuando el sistema de destino no responde, cómo evitar que el mismo pedido se procese dos veces o a quién se avisa cuando hay un error son lo que marca la diferencia entre una integración sólida y una conexión frágil.

¿API o webhook?

En una API, usted pregunta y la otra parte responde. En un webhook, en cambio, la otra parte le avisa por sí sola cuando ocurre un evento. En lugar de preguntar continuamente «¿hay algún pedido nuevo?», recibir un aviso cuando llega el pedido suele ser más eficiente; los detalles están en nuestro artículo qué es un webhook.

¿Por dónde empezar a desarrollar una API?

Para aprender a usar una API, un buen comienzo es elegir una API pública de pruebas y enviar peticiones con curl o con una herramienta de pruebas de API. Leer las respuestas, interpretar los códigos de estado y probar los casos de error fija los conceptos con rapidez.

Si quiere escribir su propia API, tendrá que elegir un lenguaje de back-end. Para un comienzo rápido y legible, puede consultar el ejemplo de FastAPI de nuestro artículo qué es Python; y si prefiere avanzar con JavaScript, el ejemplo de Express del artículo qué es Node.js.

En cualquier caso, una buena API tiene tres rasgos en común: una documentación clara y actualizada, una nomenclatura coherente y respuestas de error previsibles. Si el desarrollador que vaya a usar una API puede leer la documentación y hacer su primera petición en pocos minutos, el diseño va por buen camino.

Preguntas frecuentes

01¿Una API y un servicio web son lo mismo?

Un servicio web es un tipo de API al que se accede a través de la red. Todo servicio web es una API, pero no toda API funciona por la red; por ejemplo, las funciones que un sistema operativo o una biblioteca ofrecen al programador también se llaman API.

02¿Qué diferencia hay entre REST y SOAP?

SOAP es un protocolo más antiguo, basado en XML y con reglas estrictas; todavía se usa en algunos sistemas corporativos y públicos. REST es un enfoque más ligero, que suele usar JSON y encaja de forma más natural con la web.

03¿Usar una API cuesta dinero?

Depende. Algunas API son gratuitas, otras lo son hasta cierto número de peticiones y después se cobran, y otras solo están abiertas a clientes con contrato. Las condiciones de uso y los límites figuran en la documentación de cada proveedor.

04¿Qué es GraphQL y sustituye a REST?

GraphQL es un lenguaje de consulta de API que permite al cliente indicar en una sola consulta exactamente qué campos quiere. Aporta ventajas en aplicaciones complejas y de muchas pantallas, pero más que sustituir a REST es una alternativa que se usa junto a él.

La API es el lenguaje común del software; bien montada, la información de pedidos, stock, envíos y facturas fluye entre los sistemas sin intervención manual. Si quiere conectar entre sí los sistemas que usa su empresa, puede conocer nuestro servicio de integración y echar un vistazo a nuestras soluciones de software para servicios y paneles a medida.