APIs REST desde cero: ejemplos prácticos y reales

Aprende qué son las APIs REST desde cero con ejemplos prácticos y reales, ideales para desarrolladores que empiezan.

Hoy en día, prácticamente cualquier aplicación moderna se comunica con servidores externos para obtener datos o realizar acciones. Las APIs REST se han convertido en el estándar de facto para esta comunicación, gracias a su simplicidad y uso de protocolos web comunes. En esta guía, veremos qué son, cómo funcionan y cómo empezar a usarlas desde la línea de comandos.

¿Qué es una API REST?

REST (Representational State Transfer) es un estilo de arquitectura que define cómo dos sistemas pueden intercambiar información a través de HTTP. Una API REST expone recursos (como usuarios, artículos o pedidos) mediante URLs, y permite operar sobre ellos usando los métodos HTTP estándar:

  • GET → Obtener un recurso o lista de recursos.
  • POST → Crear un nuevo recurso.
  • PUT o PATCH → Actualizar un recurso existente.
  • DELETE → Eliminar un recurso.

La respuesta suele venir en formato JSON, aunque también puede ser XML. La gran ventaja es que no guarda estado entre peticiones: cada solicitud es independiente.

Primeros pasos con curl

La herramienta más práctica para probar APIs desde la terminal es curl. Vamos a ver ejemplos reales usando una API pública y gratuita: JSONPlaceholder.

Para obtener una lista de usuarios:

curl https://jsonplaceholder.typicode.com/users

Verás un JSON con nombre, email, dirección, etc. Si quieres un usuario concreto, añades su ID:

curl https://jsonplaceholder.typicode.com/users/1

Para que la salida sea más legible, puedes canalizarla a jq (instálalo con apt install jq si no lo tienes):

curl -s https://jsonplaceholder.typicode.com/users/1 | jq .

Crear y modificar recursos con POST y PUT

Ahora que sabemos leer, toca escribir. Para crear un nuevo recurso usamos POST:

curl -X POST https://jsonplaceholder.typicode.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Mohamed Chennani","username":"mchennani","email":"mohamed@example.com"}'

La API nos devolverá el objeto creado con un ID nuevo (en este caso 11). Para actualizar un recurso existente usamos PUT:

curl -X PUT https://jsonplaceholder.typicode.com/users/1 \
  -H "Content-Type: application/json" \
  -d '{"name":"Nuevo nombre","email":"nuevo@email.com"}'

Si solo quieres modificar un campo, PATCH es más eficiente. Y para eliminar:

curl -X DELETE https://jsonplaceholder.typicode.com/users/1

Códigos de respuesta y buenas prácticas

Al trabajar con APIs REST, es esencial entender los códigos de estado HTTP:

  • 200 OK → Todo correcto (GET, PUT, PATCH).
  • 201 Created → Recurso creado con éxito (POST).
  • 204 No Content → Operación exitosa sin contenido en la respuesta (DELETE).
  • 400 Bad Request → La petición está mal formada.
  • 401 Unauthorized → Falta autenticación.
  • 404 Not Found → El recurso no existe.
  • 500 Internal Server Error → Error en el servidor.

Siempre comprueba el código de respuesta en tus scripts. Con curl puedes verlo añadiendo -w "%{http_code}":

curl -s -o /dev/null -w "%{http_code}" https://jsonplaceholder.typicode.com/users/1

Conclusión

Las APIs REST son el pan de cada día para cualquier administrador de sistemas o desarrollador web. Con herramientas como curl y un conocimiento básico de los métodos HTTP, puedes integrar servicios, automatizar tareas y depurar problemas de forma rápida. Empieza probando con APIs públicas, y cuando te sientas cómodo, lánzate a consumir APIs reales como las de Cloudflare, WordPress o servicios de streaming. La práctica es la clave.