{"info":{"_postman_id":"eaf56457-3b5c-4914-8cfb-355b0ce314bd","name":"PEDIDOS","description":"<html><head></head><body><p>Descripción</p>\n<p>Reglas de negocio explicadas:</p>\n<h3 id=\"post\">(POST)</h3>\n<ul>\n<li><p>Todo pedido nuevo siempre inicia en estado <code>\"pendiente\"</code>. El backend ignora cualquier estado enviado por el cliente para garantizar la integridad del flujo de trabajo.</p>\n</li>\n<li><p>No se puede crear un pedido con una cantidad menor o igual a 0. El sistema valida que el valor sea un entero positivo antes de procesar la solicitud.</p>\n</li>\n</ul>\n<hr>\n<h3 id=\"put\">(PUT)</h3>\n<ul>\n<li><p>Un pedido en estado <code>\"pendiente\"</code> solo puede transicionar a <code>\"confirmado\"</code> o <code>\"cancelado\"</code>. Cualquier otro estado será rechazado por el controlador.</p>\n</li>\n<li><p>Un pedido con estado <code>\"confirmado\"</code> o <code>\"cancelado\"</code> se considera un registro histórico y <strong>NO</strong> puede ser modificado bajo ninguna circunstancia.</p>\n</li>\n</ul>\n<hr>\n<h3 id=\"delete\">(DELETE)</h3>\n<ul>\n<li><p>Solo se permite la eliminación de pedidos que se encuentren en estado \"pendiente\". Si el pedido ya fue \"confirmado\" o \"cancelado\", el sistema bloquea la acción para proteger la trazabilidad de los datos.</p>\n</li>\n<li><p>Uso de campos privados \"#pedidos\" en la clase repositorio.</p>\n</li>\n<li><p>Se usa \"Number\" para asegurar que todas las comparaciones de ID y cálculos de cantidad se realicen con tipo entero o número vaya.</p>\n</li>\n<li><p>Al consultar la lista, el repositorio devuelve una copia del arreglo en lugar de la referencia original, el spread operator.</p>\n</li>\n</ul>\n<p>La colección <strong>PEDIDOS</strong> agrupa un conjunto sencillo de endpoints tipo CRUD para gestionar <strong>pedidos</strong> en un servidor de desarrollo local.</p>\n<ul>\n<li><p><strong>URL base (local)</strong>: <code>http://localhost:3000</code></p>\n</li>\n<li><p><strong>Recurso principal</strong>: <code>/pedidos</code></p>\n</li>\n<li><p><strong>Casos de uso</strong>:</p>\n<ul>\n<li><p>Listar todos los pedidos</p>\n</li>\n<li><p>Consultar un pedido por su ID</p>\n</li>\n<li><p>Crear un nuevo pedido</p>\n</li>\n<li><p>Actualizar un pedido existente</p>\n</li>\n<li><p>Eliminar un pedido</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>Actualmente no hay carpetas; todos los requests están en la raíz de la colección.</p>\n<ol>\n<li><p><a href=\"https://request/51906899-c6dc53cd-9ad6-47b5-888f-65b736001846\"><b>Leer pedidos</b></a></p>\n<ul>\n<li><p><strong>Método</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>URL</strong>: <code>http://localhost:3000/pedidos</code></p>\n</li>\n<li><p><strong>Descripción</strong>: Obtiene el listado completo de pedidos.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Leer pedidos por ID</strong></p>\n<ul>\n<li><p><strong>Método</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>Patrón de URL</strong>: <code>http://localhost:3000/pedidos/:id</code></p>\n</li>\n<li><p><strong>Descripción</strong>: Obtiene un pedido específico por su ID numérico.</p>\n</li>\n</ul>\n</li>\n<li><p><a href=\"https://request/51906899-2e6fa12a-b612-48a0-ac4c-76a032c94660\"><b>Agregar Pedidos</b></a></p>\n<ul>\n<li><p><strong>Método</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>URL</strong>: <code>http://localhost:3000/pedidos</code></p>\n</li>\n<li><p><strong>Descripción</strong>: Crea un nuevo pedido con los datos enviados en el cuerpo de la petición.</p>\n</li>\n</ul>\n</li>\n<li><p>Actualizar pedido– Actualizar pedido (PUT)</p>\n<ul>\n<li><p><strong>Método</strong>: <code>PUT</code></p>\n</li>\n<li><p><strong>URL</strong>: <code>http://localhost:3000/pedidos/1</code></p>\n</li>\n<li><p><strong>Descripción</strong>: Actualiza el pedido con ID <code>1</code>. Se recomienda parametrizar el ID con una variable.</p>\n</li>\n</ul>\n</li>\n<li><p>Eliminar pedido – Eliminar pedido (DELETE)</p>\n<ul>\n<li><p><strong>Método</strong>: <code>DELETE</code></p>\n</li>\n<li><p><strong>URL</strong>: <code>http://localhost:3000/pedidos/1</code></p>\n</li>\n<li><p><strong>Descripción</strong>: Elimina el pedido con ID <code>1</code>. También se recomienda parametrizar el ID.</p>\n</li>\n</ul>\n</li>\n</ol>\n<hr>\n<p>Ejecución con Collection Runner</p>\n<p>Puedes ejecutar la colección <strong>PEDIDOS</strong> como un flujo básico usando <strong>Collection Runner</strong>.</p>\n<p>Pasos básicos:</p>\n<ol>\n<li><p>En la barra lateral, selecciona la colección <strong>PEDIDOS</strong>.</p>\n</li>\n<li><p>Haz clic en <strong>Run</strong> para abrir el Collection Runner.</p>\n</li>\n<li><p>Selecciona el entorno (por ejemplo, <em>Pedidos – Local</em>).</p>\n</li>\n<li><p>Configura:</p>\n<ul>\n<li><p><strong>Iterations</strong>: <code>1</code> (para una pasada completa)</p>\n</li>\n<li><p><strong>Delay</strong>: <code>0–100 ms</code> entre requests (opcional)</p>\n</li>\n</ul>\n</li>\n<li><p>Haz clic en <strong>Start Run</strong>.</p>\n</li>\n</ol>\n<p>Orden de ejecución por defecto:</p>\n<ol>\n<li><p>Leer pedidos</p>\n</li>\n<li><p>Agregar Pedidos</p>\n</li>\n<li><p>Actualizar pedido (PUT /pedidos/1)</p>\n</li>\n<li><p>Eliminar pedido (DELETE /pedidos/1)</p>\n</li>\n</ol>\n<hr>\n<p>Resolución de problemas</p>\n<p><strong>Conexión rechazada /</strong> <strong><code>ECONNREFUSED</code></strong> <strong>hacia</strong> <strong><code>localhost:3000</code></strong></p>\n<ul>\n<li><p>Verifica que el servidor backend esté levantado en el puerto <code>3000</code>.</p>\n</li>\n<li><p>Prueba abrir <code>http://localhost:3000/pedidos</code> en el navegador.</p>\n</li>\n</ul>\n<p><strong><code>404 Not Found</code></strong></p>\n<ul>\n<li><p>Revisa que la ruta sea correcta (<code>/pedidos</code> o <code>/pedidos/:id</code>).</p>\n</li>\n<li><p>Asegúrate de que el ID exista en el backend.</p>\n</li>\n</ul>\n<p><strong><code>400 Bad Request</code></strong> <strong>o errores de validación en POST/PUT</strong></p>\n<ul>\n<li><p>Confirma que el cuerpo de la petición sea JSON válido.</p>\n</li>\n<li><p>Asegúrate de incluir el header <code>Content-Type: application/json</code>.</p>\n</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"51906899","collectionId":"eaf56457-3b5c-4914-8cfb-355b0ce314bd","publishedId":"2sBXc8pj1d","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-07T06:11:44.000Z"},"item":[{"name":"Leer pedidos","id":"c6dc53cd-9ad6-47b5-888f-65b736001846","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos","description":"<p>Leer todos los pedidos</p>\n<ul>\n<li><p>Nombre: <strong>Leer pedidos</strong></p>\n</li>\n<li><p>Request: <a href=\"https://desktop.postman.com/?desktopVersion=11.83.2&amp;userId=51906899&amp;teamId=13142060&amp;region=us#\">Leer pedidos</a></p>\n</li>\n<li><p>Método: <code>GET</code></p>\n</li>\n<li><p>URL sugerida: <code>{{base_url}}/pedidos</code></p>\n</li>\n</ul>\n<p><strong>Descripción:</strong><br />Obtiene el listado completo de pedidos.</p>\n<p>[    {        \"id\": 1,        \"producto\": \"Monitor 4K\",        \"cantidad\": 3,        \"estado\": \"pendiente\"    }]</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"bc0857ac-fe23-44eb-91fc-b2bf2af908a4","name":"Leer pedidos","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"text/html; charset=utf-8"},{"key":"Content-Length","value":"6"},{"key":"ETag","value":"W/\"6-5qAQvyQV1DtxW9fRZPWHrpx8EWg\""},{"key":"Date","value":"Sat, 07 Feb 2026 05:40:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"API OK"},{"id":"cfed52f5-b715-4b38-8d2f-bc94aa3d4fc6","name":"Leer pedidos","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2"},{"key":"ETag","value":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\""},{"key":"Date","value":"Sat, 07 Feb 2026 05:41:05 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[]"},{"id":"56c9bc3b-b08e-425b-9a4e-4b43404bbaa6","name":"Leer pedidos","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"68"},{"key":"ETag","value":"W/\"44-8/LAnJ2gB5s2ffMXq9CTAmgVygs\""},{"key":"Date","value":"Sat, 07 Feb 2026 05:41:31 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"producto\": \"Monitor 4K\",\n        \"cantidad\": 3,\n        \"estado\": \"pendiente\"\n    }\n]"}],"_postman_id":"c6dc53cd-9ad6-47b5-888f-65b736001846"},{"name":"Leer pedidos","id":"9b5b0663-69da-4674-bd28-132a92611555","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/","description":"<p>API OK</p>\n","urlObject":{"protocol":"http","port":"3000","path":[""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5a4886b6-7580-4af4-ae5a-ea691c372c18","name":"Leer pedidos","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"text/html; charset=utf-8"},{"key":"Content-Length","value":"6"},{"key":"ETag","value":"W/\"6-5qAQvyQV1DtxW9fRZPWHrpx8EWg\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:13:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"API OK"}],"_postman_id":"9b5b0663-69da-4674-bd28-132a92611555"},{"name":"Leer pedidos","id":"403bd33c-94a0-41a6-9475-c4f1b66f5328","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/pedidos","description":"<p>[]</p>\n<p>Vacío de momento.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e3469002-da9f-48ad-bea6-b7bacc6c5abf","name":"Leer pedidos","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"271"},{"key":"ETag","value":"W/\"10f-RMMuGzzDcd950TWAuGr/6gKtgy4\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:13:57 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"producto\": \"Monitor 4K\",\n        \"cantidad\": 3,\n        \"estado\": \"confirmado\"\n    },\n    {\n        \"id\": 2,\n        \"producto\": \"Monitor 2K\",\n        \"cantidad\": 3,\n        \"estado\": \"confirmado\"\n    },\n    {\n        \"id\": 3,\n        \"producto\": \"Monitor 2K\",\n        \"cantidad\": 3,\n        \"estado\": \"pendiente\"\n    },\n    {\n        \"id\": 4,\n        \"producto\": \"Monitor 2K\",\n        \"cantidad\": 3,\n        \"estado\": \"pendiente\"\n    }\n]"}],"_postman_id":"403bd33c-94a0-41a6-9475-c4f1b66f5328"},{"name":"Leer pedidos","id":"443b6708-b95f-43f9-961d-d212cfe2f023","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/pedidos","description":"<p>[<br />{<br />\"id\": 1,<br />\"producto\": \"Monitor 4K\",<br />\"cantidad\": 3,<br />\"estado\": \"pendiente\"<br />}<br />]</p>\n<p>Se muestra el pedido creado (si es que hay).</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a3458367-860d-49a8-92a9-ca0a0962e399","name":"Leer pedidos","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"271"},{"key":"ETag","value":"W/\"10f-RMMuGzzDcd950TWAuGr/6gKtgy4\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:14:09 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"producto\": \"Monitor 4K\",\n        \"cantidad\": 3,\n        \"estado\": \"confirmado\"\n    },\n    {\n        \"id\": 2,\n        \"producto\": \"Monitor 2K\",\n        \"cantidad\": 3,\n        \"estado\": \"confirmado\"\n    },\n    {\n        \"id\": 3,\n        \"producto\": \"Monitor 2K\",\n        \"cantidad\": 3,\n        \"estado\": \"pendiente\"\n    },\n    {\n        \"id\": 4,\n        \"producto\": \"Monitor 2K\",\n        \"cantidad\": 3,\n        \"estado\": \"pendiente\"\n    }\n]"}],"_postman_id":"443b6708-b95f-43f9-961d-d212cfe2f023"},{"name":"Leer pedidos por ID","id":"68824537-befd-4cdd-aaf0-15c30c89543f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/9","urlObject":{"protocol":"http","port":"3000","path":["pedidos","9"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b6323072-1d79-4823-94eb-ddecf515f630","name":"Leer pedidos por ID","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/1"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"67"},{"key":"ETag","value":"W/\"43-mokHALTZM1C3FZfG2YodDHriqAo\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:31:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"producto\": \"Monitor 4K\",\n    \"cantidad\": 3,\n    \"estado\": \"confirmado\"\n}"},{"id":"a0b284f5-6fbc-40b2-85f5-27ebcafabe65","name":"Leer pedidos por ID","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/9"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"32"},{"key":"ETag","value":"W/\"20-ajb5CCgiBWpBV6gp/tj1n2nU7AA\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:37:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Pedido no encontrado\"\n}"}],"_postman_id":"68824537-befd-4cdd-aaf0-15c30c89543f"},{"name":"Leer pedidos por ID","id":"cf995401-7e6e-4cce-98e9-e49ea0aeb476","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/1","urlObject":{"protocol":"http","port":"3000","path":["pedidos","1"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ed6b0bcc-93e6-4028-837c-35623a1ebf37","name":"Leer pedidos por ID","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/1"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"67"},{"key":"ETag","value":"W/\"43-mokHALTZM1C3FZfG2YodDHriqAo\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:32:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"producto\": \"Monitor 4K\",\n    \"cantidad\": 3,\n    \"estado\": \"confirmado\"\n}"}],"_postman_id":"cf995401-7e6e-4cce-98e9-e49ea0aeb476"},{"name":"Leer pedidos por ID","id":"134ddfaa-9858-4533-a92d-5bd5e6d0aad5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/9","urlObject":{"protocol":"http","port":"3000","path":["pedidos","9"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"78d40d7d-1559-411b-ad83-078d834e7560","name":"Leer pedidos por ID","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/pedidos/9"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"32"},{"key":"ETag","value":"W/\"20-ajb5CCgiBWpBV6gp/tj1n2nU7AA\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:35:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Pedido no encontrado\"\n}"}],"_postman_id":"134ddfaa-9858-4533-a92d-5bd5e6d0aad5"},{"name":"Agregar Pedidos","id":"2e6fa12a-b612-48a0-ac4c-76a032c94660","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Monitor 2K\",\r\n  \"cantidad\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos","description":"<p>Agregar pedidos</p>\n<ul>\n<li><p>Nombre: <strong>Agregar Pedidos</strong></p>\n</li>\n<li><p>Request: <a href=\"https://desktop.postman.com/?desktopVersion=11.83.2&amp;userId=51906899&amp;teamId=13142060&amp;region=us#\">Agregar Pedidos</a></p>\n</li>\n<li><p>Método: <code>POST</code></p>\n</li>\n<li><p>URL sugerida: <code>{{base_url}}/pedidos</code></p>\n</li>\n<li><p>Body (JSON / raw):</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"aea4747d-019f-48f9-8694-c56bc118c1ec","name":"Agregar Pedidos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Teclado\",\r\n  \"cantidad\": -5\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"69"},{"key":"ETag","value":"W/\"45-eKpKPvgZ3PBPcTOnmJkvhYqYLrM\""},{"key":"Date","value":"Sat, 07 Feb 2026 05:34:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"El producto es requerido y la cantidad debe ser mayor a 0\"\n}"},{"id":"4db73bdb-f766-4a80-b640-61e59a0219ab","name":"Agregar Pedidos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Monitor 4K\",\r\n  \"cantidad\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-YoJTeoZRcKSfuPR4+xxjgoe2Ik0\""},{"key":"Date","value":"Sat, 07 Feb 2026 05:41:19 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"producto\": \"Monitor 4K\",\n    \"cantidad\": 3,\n    \"estado\": \"pendiente\"\n}"},{"id":"ea994d6a-e6f9-4364-aed2-86408b6de433","name":"Agregar Pedidos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Monitor 2K\",\r\n  \"cantidad\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-H5ldlaO9WLYMsKZsUPAo+kcp10c\""},{"key":"Date","value":"Sat, 07 Feb 2026 05:49:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 2,\n    \"producto\": \"Monitor 2K\",\n    \"cantidad\": 3,\n    \"estado\": \"pendiente\"\n}"},{"id":"cd872c36-c4dd-4a28-9cca-8437863005f4","name":"Agregar Pedidos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Monitor 2K\",\r\n  \"cantidad\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-VUEJYwkO/56sgZVYWSRcE/7nSa4\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:09:09 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"producto\": \"Monitor 2K\",\n    \"cantidad\": 3,\n    \"estado\": \"pendiente\"\n}"}],"_postman_id":"2e6fa12a-b612-48a0-ac4c-76a032c94660"},{"name":"Agregar Pedidos","id":"805212fe-7bd6-4043-baee-235330a17675","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Teclado\",\r\n  \"cantidad\": -5\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos","description":"<p>En este caso si la cantidad es negativa no se creará nada.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f0d87dbc-e7b4-4c65-8173-a26df66f26a8","name":"Agregar Pedidos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Teclado\",\r\n  \"cantidad\": -5\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"69"},{"key":"ETag","value":"W/\"45-eKpKPvgZ3PBPcTOnmJkvhYqYLrM\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:39:32 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"El producto es requerido y la cantidad debe ser mayor a 0\"\n}"}],"_postman_id":"805212fe-7bd6-4043-baee-235330a17675"},{"name":"Agregar Pedidos","id":"6e9dc1b8-84da-4724-8d82-41856d3a17dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Monitor 4K\",\r\n  \"cantidad\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos","description":"<p>POr el contrario si es correcta se creará el pedido</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"8cf309c2-d118-47d1-9aab-b84f1853db09","name":"Agregar Pedidos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"producto\": \"Monitor 4K\",\r\n  \"cantidad\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-yCiRCv+dhgSG1zCXZs8swzJA/g8\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:39:43 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 6,\n    \"producto\": \"Monitor 4K\",\n    \"cantidad\": 3,\n    \"estado\": \"pendiente\"\n}"}],"_postman_id":"6e9dc1b8-84da-4724-8d82-41856d3a17dc"},{"name":"Actualizar pedido","id":"65296622-c53d-480c-baed-00c54a08e426","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"confirmado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/2","description":"<h3 id=\"put-actualizar-pedido\"><strong>PUT</strong> (actualizar pedido)</h3>\n<p>Actualiza un pedido existente identificado por <code>{{pedido_id}}</code>.</p>\n<p>Usa este endpoint para modificar datos del pedido como el cliente, la lista de productos, cantidades, método de pago o estado.</p>\n<ul>\n<li><p><strong>Método:</strong> <code>PUT</code></p>\n</li>\n<li><p><strong>URL sugerida:</strong> <code>{{base_url}}/pedidos/{{pedido_id}}</code></p>\n</li>\n<li><p><strong>Body (JSON):</strong> debe incluir los campos que tu API requiera para actualizar el pedido.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos","2"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"efa4f934-4c4e-4e38-a911-dfe7532e8b90","name":"Actualizar pedido","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"cancelado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/1"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-q/XH7w8ISMYks7cTATJ99DsfY50\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:08:20 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"No se puede modificar un pedido en estado 'confirmado'\"\n}"},{"id":"1c2db512-200c-48ac-a8ad-03ce0516386e","name":"Actualizar pedido","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"confirmado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/2"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"67"},{"key":"ETag","value":"W/\"43-hn8Lj8YNQUjD5DaNfKowRVl10+Q\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:09:04 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 2,\n    \"producto\": \"Monitor 2K\",\n    \"cantidad\": 3,\n    \"estado\": \"confirmado\"\n}"}],"_postman_id":"65296622-c53d-480c-baed-00c54a08e426"},{"name":"Actualizar pedido","id":"3055a0cc-9723-4f12-8eb0-ed4425489610","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"cancelado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/5","description":"<p>Si el pedido no está confirmado, se puede cancelar, de lo contrario pues no</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos","5"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b2188526-99df-4268-913e-7125ba8c5ea5","name":"Actualizar pedido","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"cancelado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/5"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-YLuoyDz+iZhZZKsA/v+2yvKf//o\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:41:48 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 5,\n    \"producto\": \"Monitor 4K\",\n    \"cantidad\": 3,\n    \"estado\": \"cancelado\"\n}"}],"_postman_id":"3055a0cc-9723-4f12-8eb0-ed4425489610"},{"name":"Actualizar pedido","id":"35d40f00-3050-4aad-b479-f0f84d53eedd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"confirmado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/2","urlObject":{"protocol":"http","port":"3000","path":["pedidos","2"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4eb725a8-4261-48a7-861d-feca6464f1b4","name":"Actualizar pedido","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"nuevoEstado\": \"confirmado\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/pedidos/2"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"66"},{"key":"ETag","value":"W/\"42-q/XH7w8ISMYks7cTATJ99DsfY50\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:40:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"No se puede modificar un pedido en estado 'confirmado'\"\n}"}],"_postman_id":"35d40f00-3050-4aad-b479-f0f84d53eedd"},{"name":"Eliminar pedido","id":"6184e699-e46b-4270-920e-7434cd07d9bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/2","description":"<p><strong>DELETE</strong> (eliminar pedido)</p>\n<p>Elimina (lógica o físicamente, según la implementación) el pedido identificado por <code>{{pedido_id}}</code>.</p>\n<p>Usa este endpoint para cancelar o borrar un pedido del sistema.</p>\n<ul>\n<li><p><strong>Método:</strong> <code>DELETE</code></p>\n</li>\n<li><p><strong>URL sugerida:</strong> <code>{{base_url}}/pedidos/{{pedido_id}}</code></p>\n</li>\n</ul>\n<p><strong>Respuestas esperadas:</strong></p>\n<ul>\n<li><p><code>200 OK</code> – Pedido eliminado y se devuelve un mensaje de confirmación.</p>\n</li>\n<li><p><code>204 No Content</code> – Pedido eliminado sin contenido en el body.</p>\n</li>\n<li><p><code>404 Not Found</code> – No existe un pedido con el ID indicado.</p>\n</li>\n<li><p><code>409 Conflict</code> – El pedido no puede eliminarse por su estado actual (por ejemplo, ya enviado o facturado).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos","2"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5127cd73-8cea-4f15-9041-f575f963b172","name":"Eliminar pedido","originalRequest":{"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/2"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"81"},{"key":"ETag","value":"W/\"51-j96Nfb+jgr5G2zHMmcOaZfvzhUQ\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:09:24 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Solo se pueden eliminar pedidos que aún estén en estado 'pendiente'\"\n}"},{"id":"2761a04e-c34f-4e9d-8e4e-3006fa20f239","name":"Eliminar pedido","originalRequest":{"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/3"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"ETag","value":"W/\"2c-GceagbMpU7xmqs+qEgwyv+5Xjmo\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:09:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensaje\": \"Pedido eliminado correctamente\"\n}"}],"_postman_id":"6184e699-e46b-4270-920e-7434cd07d9bb"},{"name":"Eliminar pedido","id":"798a32af-0fa9-4d1b-acd5-aa144a3805dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/2","description":"<p>De igual manero solo se pueden borrar aquellas pedidos queno están confirmados</p>\n","urlObject":{"protocol":"http","port":"3000","path":["pedidos","2"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"7dabe36d-2a1b-48d7-a088-2aa8375f853a","name":"Eliminar pedido","originalRequest":{"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/2"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"81"},{"key":"ETag","value":"W/\"51-j96Nfb+jgr5G2zHMmcOaZfvzhUQ\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:41:59 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Solo se pueden eliminar pedidos que aún estén en estado 'pendiente'\"\n}"}],"_postman_id":"798a32af-0fa9-4d1b-acd5-aa144a3805dd"},{"name":"Eliminar pedido","id":"f54f3c81-c88e-4353-a42c-939811601b88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/3","urlObject":{"protocol":"http","port":"3000","path":["pedidos","3"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5cfea072-323c-485e-ab25-72d7e171617f","name":"Eliminar pedido","originalRequest":{"method":"DELETE","header":[],"url":"http://localhost:3000/pedidos/3"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"ETag","value":"W/\"2c-GceagbMpU7xmqs+qEgwyv+5Xjmo\""},{"key":"Date","value":"Sat, 07 Feb 2026 06:42:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensaje\": \"Pedido eliminado correctamente\"\n}"}],"_postman_id":"f54f3c81-c88e-4353-a42c-939811601b88"}]}