// app.js const express = require("express"); const app = express(); app.use(express.json()); let orders = []; let currentId = 1; // Crear un pedido app.post("/api/orders", (req, res) => { const { clienteId, origen, destino, notas } = req.body; const newOrder = { id: currentId++, clienteId, repartidorId: null, origen, destino, notas: notas || "", precioEstimado: 80, // aquí luego puedes calcular según distancia estado: "pendiente", fechaCreacion: new Date().toISOString(), }; orders.push(newOrder); res.status(201).json(newOrder); }); // Listar pedidos (ej. para admin) app.get("/api/orders", (req, res) => { res.json(orders); }); // Asignar repartidor app.post("/api/orders/:id/asignar", (req, res) => { const orderId = parseInt(req.params.id, 10); const { repartidorId } = req.body; const order = orders.find(o => o.id === orderId); if (!order) return res.status(404).json({ error: "Pedido no encontrado" }); order.repartidorId = repartidorId; order.estado = "asignado"; res.json(order); }); // Cambiar estado app.post("/api/orders/:id/estado", (req, res) => { const orderId = parseInt(req.params.id, 10); const { estado } = req.body; const order = orders.find(o => o.id === orderId); if (!order) return res.status(404).json({ error: "Pedido no encontrado" }); order.estado = estado; res.json(order); }); app.listen(3000, () => { console.log("API de motomandados escuchando en http://localhost:3000"); });

Learn how we helped 100 top brands gain success