La transformación digital no es un lujo, es una necesidad. En Colombia, cada vez más emprendedores y dueños de pequeños negocios se dan cuenta de que tener presencia digital va más allá de una página de Facebook. Si quieres que tu app móvil, tu página web o tu software a medida funcionen de manera integrada, necesitas que se comuniquen con un servidor. Ahí es donde entra la API.
En este tutorial vamos a construir juntos una API REST básica utilizando Node.js y Express. Imagina que tienes una pequeña tienda de barrio o un emprendimiento de venta de café colombiano por internet y necesitas gestionar tu inventario desde tu celular. Vamos a crear el corazón de ese sistema.
¿Qué es una API REST y por qué la necesitas?
Para ponerlo en términos sencillos, imagina que estás en un restaurante. Tú eres el cliente (la app móvil), el menú es la información disponible y el mesero es la API. El mesero toma tu pedido (solicitud), va a la cocina (el servidor/base de datos), trae la comida y te la entrega. Una API REST es un conjunto de reglas que permite que diferentes aplicaciones se comuniquen entre sí a través de internet usando verbos HTTP como GET (obtener), POST (crear), PUT (actualizar) y DELETE (eliminar).
Para un emprendedor, esto significa que puedes tener tu base de datos centralizada y conectarla a una app para tus clientes y a un panel para tus empleados, todo apuntando al mismo lugar.
Preparando el terreno (Requisitos)
Antes de empezar a picar código, necesitas tener listo lo siguiente:
- Node.js instalado: Puedes descargarlo desde su página oficial. Viene con
npm(Node Package Manager), que es como el "app store" para librerías de código. - Un editor de código: Recomendamos VS Code, es gratuito, ligero y súper completo.
- Postman (opcional pero recomendado): Es una herramienta visual para probar que tu API funcione correctamente sin necesidad de tener una interfaz gráfica lista.
Paso 1: Inicializar el proyecto
Abre tu terminal o línea de comandos y crea una nueva carpeta para tu proyecto. Navega dentro de ella e inicializa un proyecto de Node.js ejecutando los siguientes comandos:
mkdir inventario-cafe
cd inventario-cafe
npm init -y
El comando npm init -y crea un archivo package.json con la configuración básica. Ahora, vamos a instalar Express, que es el framework que nos facilitará la vida para crear el servidor:
npm install express
Paso 2: Crear el servidor básico
Crea un archivo llamado index.js en la raíz de tu carpeta. Este será el punto de entrada de nuestra aplicación. Ábrelo en tu editor y escribe el siguiente código:
const express = require('express');
const app = express();
const port = 3000;
// Middleware para poder leer JSON en las peticiones
app.use(express.json());
app.listen(port, () => {
console.log(`Servidor corriendo en http://localhost:${port}`);
});
Aquí estamos importando Express, inicializando la aplicación y diciéndole que escuche en el puerto 3000. También añadimos app.use(express.json()), que es vital para que nuestro servidor pueda entender los datos en formato JSON que le enviemos.
Paso 3: Definir nuestras rutas y datos (El Inventario)
Para este tutorial, no vamos a conectar una base de datos real (como MongoDB o PostgreSQL) para mantenerlo sencillo. Usaremos un arreglo en la memoria. Vamos a gestionar productos de café. Añade esto debajo de la configuración del middleware:
let productos = [
{ id: 1, nombre: 'Café Juan Valdez 500g', precio: 25000, stock: 40 },
{ id: 2, nombre: 'Café Orgánico Huila 1kg', precio: 45000, stock: 15 }
];
// Ruta para obtener todos los productos (GET)
app.get('/productos', (req, res) => {
res.json(productos);
});
// Ruta para crear un nuevo producto (POST)
app.post('/productos', (req, res) => {
const nuevoProducto = {
id: productos.length + 1,
nombre: req.body.nombre,
precio: req.body.precio,
stock: req.body.stock
};
productos.push(nuevoProducto);
res.status(201).json(nuevoProducto);
});
Con el verbo GET en la ruta /productos, cuando alguien visite esa dirección, el servidor le responderá con la lista de nuestros cafés. Con el verbo POST, permitimos que se envíen nuevos datos para agregarlos a nuestro inventario.
Paso 4: Actualizar y eliminar productos
Un inventario no solo es recibir cosas, también es actualizar precios o quitar productos que ya no vendemos. Vamos a añadir las rutas para PUT y DELETE:
// Actualizar un producto (PUT)
app.put('/productos/:id', (req, res) => {
const id = parseInt(req.params.id);
const index = productos.findIndex(p => p.id === id);
if (index !== -1) {
productos[index] = { ...productos[index], ...req.body };
res.json(productos[index]);
} else {
res.status(404).json({ mensaje: 'Producto no encontrado' });
}
});
// Eliminar un producto (DELETE)
app.delete('/productos/:id', (req, res) => {
const id = parseInt(req.params.id);
productos = productos.filter(p => p.id !== id);
res.status(204).send();
});
Aquí usamos req.params.id para capturar el ID del producto que viene en la URL (por ejemplo, /productos/1). Si el producto existe en el arreglo, lo actualizamos con los nuevos datos del cuerpo de la petición (req.body), y si no, respondemos con un error 404. Para eliminar, simplemente filtramos el arreglo para quitar el producto con ese ID.
Paso 5: Probar nuestra API
Para ver todo esto en acción, ve a tu terminal y ejecuta:
node index.js
Deberías ver el mensaje "Servidor corriendo en http://localhost:3000". Ahora puedes abrir Postman y hacer las siguientes pruebas:
- GET a
http://localhost:3000/productos: Verás los dos cafés iniciales. - POST a
http://localhost:3000/productos: En el cuerpo (Body) selecciona JSON y envía{ "nombre": "Café Tostado Antioquia", "precio": 30000, "stock": 20 }. Verás que se agrega correctamente. - DELETE a
http://localhost:3000/productos/1: Eliminará el primer café de la lista.
Consejos prácticos para tu emprendimiento
- Seguridad ante todo: Esta API está abierta al mundo. En la vida real, debes implementar autenticación (como JWT) para que solo tú o tus empleados puedan modificar el inventario.
- Conecta una base de datos: Usar un arreglo en memoria significa que si el servidor se reinicia, pierdes los cambios. Para tu negocio real, conecta tu API a una base de datos como PostgreSQL o MongoDB.
- Despliegue: Cuando esté lista, puedes desplegarla en servicios gratuitos o económicos como Railway, Render o Vercel, lo cual es ideal para empezar a validar tu idea en Colombia sin gastar una fortuna en infraestructura.
Conclusión
Crear una API REST es el primer gran paso para entender cómo funcionan las aplicaciones modernas. Ya tienes en tus manos el conocimiento básico para que tu negocio empiece a centralizar su información y esté listo para conectarse con apps móviles o portales web. La tecnología debe ser una aliada para escalar tu emprendimiento, no un obstáculo.
Si en este camino sientes que necesitas ayuda profesional para llevar tu idea al siguiente nivel, ya sea desarrollando la app completa, conectando bases de datos seguras o creando una experiencia de usuario de otro mundo, en Camilincanins Company estamos listos para acompañarte. Escríbenos y conversemos sobre cómo podemos construir el software a medida que tu negocio en Colombia necesita para crecer.