{"info":{"_postman_id":"95e085f0-7279-4589-b64f-5de812bc21a1","name":"API Vivero 🪴","description":"<html><head></head><body><h3 id=\"🪴-api-vivero--sistema-de-gestión-para-viveros\">🪴 <strong>API Vivero – Sistema de gestión para viveros</strong></h3>\n<p>La <strong>API Vivero</strong> es un proyecto diseñado para gestionar de forma eficiente la información de un vivero, incluyendo usuarios, clientes, plantas y ventas.</p>\n<p>Permite realizar operaciones completas de <strong>registro, autenticación, administración de productos y control de ventas</strong>, simulando el flujo real de una aplicación de gestión comercial.</p>\n<hr>\n<p>Esta API está pensada para <strong>pruebas y desarrollo</strong>, utilizando endpoints seguros y estructurados bajo buenas prácticas RESTful. Ideal para ensayar autenticación, manejo de tokens y relaciones entre entidades.</p>\n<h2 id=\"⚙️-características-principales\">⚙️ Características principales</h2>\n<ul>\n<li><p>🧩 Estructura <strong>RESTful</strong></p>\n</li>\n<li><p>🔐 Autenticación mediante <strong>JWT (Bearer Token)</strong></p>\n</li>\n<li><p>📦 CRUD completo para <strong>usuarios, plantas, clientes y ventas</strong></p>\n</li>\n<li><p>🧾 Formato de datos <strong>JSON</strong></p>\n</li>\n<li><p>🚀 Desarrollada con <strong>Node.js + Express</strong></p>\n</li>\n<li><p>🔐 Servidor seguro</p>\n</li>\n</ul>\n<hr>\n<h2 id=\"🔐-autenticación\">🔐 Autenticación</h2>\n<p>Todos los endpoints (excepto el registro y login) requieren un <strong>token JWT</strong> válido.<br>El token debe enviarse en el encabezado de cada solicitud:</p>\n<p>Authorization: Bearer</p>\n<hr>\n<h2 id=\"🔐-módulo-de-usuarios\">🔐 Módulo de Usuarios</h2>\n<p>Gestión de usuarios y control de acceso al sistema.</p>\n<ul>\n<li><p>Registro de nuevos usuarios.</p>\n</li>\n<li><p>Inicio de sesión (login) y obtención de token JWT.</p>\n</li>\n</ul>\n<h3 id=\"endpoints\">Endpoints:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Método</th>\n<th>Ruta</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>POST</td>\n<td><code>/auth/register</code></td>\n<td>Registrar nuevo usuario con contraseña hasheada</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/auth/login</code></td>\n<td>Iniciar sesión y obtener token JWT</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<p><strong>Ejemplo de creación:</strong></p>\n<p>{</p>\n<p>\"username\": \"Florencia\",</p>\n<p>\"password\": \"contraseña2025\"</p>\n<p>}</p>\n<hr>\n<h2 id=\"🌿-módulo-de-plantas\">🌿 Módulo de Plantas</h2>\n<p>Permite administrar el inventario de plantas del vivero:</p>\n<ul>\n<li><p><strong>Crear nuevas plantas.</strong></p>\n</li>\n<li><p><strong>Actualizar información existente por ID.</strong></p>\n</li>\n<li><p><strong>Buscar planta por ID.</strong></p>\n</li>\n<li><p><strong>Listar todas las plantas disponibles.</strong></p>\n</li>\n<li><p><strong>Eliminar registros de plantas por ID.</strong></p>\n</li>\n</ul>\n<h3 id=\"endpoints-1\">Endpoints:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Método</th>\n<th>Ruta</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>POST</td>\n<td><code>/plants</code></td>\n<td>Crear nueva planta</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/plants</code></td>\n<td>Listar todas las plantas</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/plants/:id</code></td>\n<td>Obtener planta por ID</td>\n</tr>\n<tr>\n<td>PUT</td>\n<td><code>/plants/:id</code></td>\n<td>Actualizar datos de una planta</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/plants/:id</code></td>\n<td>Eliminar planta</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de creación:</strong></p>\n<p>{</p>\n<p>\"name\": \"Monstera Deliciosa\",</p>\n<p>\"species\": \"Monstera deliciosa\",</p>\n<p>\"price\": 2500,</p>\n<p>\"stock\": 10</p>\n<p>}</p>\n<hr>\n<h2 id=\"👥-módulo-de-clientes\">👥 Módulo de Clientes</h2>\n<p>Gestión de los clientes asociados a las ventas del vivero, permite:</p>\n<ul>\n<li><p><strong>Alta de nuevos clientes.</strong></p>\n</li>\n<li><p><strong>Listar clientes registrados.</strong></p>\n</li>\n<li><p><strong>Búsqueda de clientes por ID.</strong></p>\n</li>\n<li><p><strong>Edición de datos por ID.</strong></p>\n</li>\n<li><p><strong>Eliminación de clientes.</strong></p>\n</li>\n</ul>\n<h2 id=\"endpoints-2\">Endpoints:</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Método</th>\n<th>Ruta</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>POST</td>\n<td><code>/clients</code></td>\n<td>Crear cliente</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/clients</code></td>\n<td>Listar clientes</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/clients/:id</code></td>\n<td>Obtener cliente por ID</td>\n</tr>\n<tr>\n<td>PUT</td>\n<td><code>/clients/:id</code></td>\n<td>Modificar cliente</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/clients/:id</code></td>\n<td>Eliminar cliente</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de creación:</strong></p>\n<p>{</p>\n<p>\"name\": \"Alejandra\",</p>\n<p>\"email\": \"<a href=\"https://mailto:alejandra@gmail.com\">alejandra@gmail.com</a>\",</p>\n<p>\"phone\": 1152635700</p>\n<p>}</p>\n<hr>\n<h2 id=\"💰-módulo-de-ventas\">💰 Módulo de Ventas</h2>\n<p>Gestión de las ventas del vivero.<br>Cada venta se asocia a un cliente y a una o más plantas, registrando detalles como el total, estado y fecha, permite:</p>\n<ul>\n<li><p><strong>Registrar una venta asociando cliente y planta(s).</strong></p>\n</li>\n<li><p><strong>Consultar ventas realizadas.</strong></p>\n</li>\n<li><p><strong>Consultar una venta en especifico por ID.</strong></p>\n</li>\n<li><p><strong>Actualizar el estado de ventas. (pendiente, pagado , o entregado)</strong></p>\n</li>\n<li><p><strong>Eliminar operaciones por ID.</strong></p>\n</li>\n</ul>\n<h2 id=\"endpoints-3\">Endpoints:</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Método</th>\n<th>Ruta</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>POST</td>\n<td><code>/sales</code></td>\n<td>Registrar una nueva venta</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/sales</code></td>\n<td>Listar todas las ventas</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/sales/:id</code></td>\n<td>Consultar una venta por ID</td>\n</tr>\n<tr>\n<td>PUT</td>\n<td><code>/sales/:id</code></td>\n<td>Actualizar estado de la venta</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/sales/:id</code></td>\n<td>Eliminar venta por ID</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de creación:</strong></p>\n<p>{<br>\"clientId\": \"9634f5ff-351d-471f-90ec-0a037c39cf22\",<br>\"items\": [<br>{</p>\n<p>\"plantId\": \"4c7a5199-2e55-482c-b549-cd5944c4f021\",<br>\"name\": \"Monstera Deliciosa\",<br>\"species\": \"Monstera deliciosa\",<br>\"quantity\": 1,<br>\"price\": 2500<br>}</p>\n<p>],<br>\"total\": 1200,<br>\"status\": \"pendiente\"<br>}</p>\n<hr>\n<h2 id=\"🏠-ruta-raíz\">🏠 Ruta raíz</h2>\n<p>Ruta principal del servidor utilizada para verificar el estado de la API.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Método</th>\n<th>Ruta</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>GET</td>\n<td><code>/</code></td>\n<td>Devuelve mensaje de bienvenida o estado del servidor</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"🧾-códigos-de-estado-comunes\">🧾 Códigos de estado comunes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Código</th>\n<th>Significado</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>OK</td>\n</tr>\n<tr>\n<td>201</td>\n<td>Creado</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Solicitud inválida</td>\n</tr>\n<tr>\n<td>401</td>\n<td>No autorizado</td>\n</tr>\n<tr>\n<td>404</td>\n<td>No encontrado</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Error interno del servidor</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"🧠-tecnologías-utilizadas\">🧠 Tecnologías utilizadas</h2>\n<ul>\n<li><p>Node.js – Entorno de ejecución</p>\n</li>\n<li><p>Express – Framework para APIs</p>\n</li>\n<li><p>MongoDB – Base de datos NoSQL</p>\n</li>\n<li><p>Mongoose – Modelado de datos para MongoDB</p>\n</li>\n<li><p>JSON Web Token (JWT) – Autenticación</p>\n</li>\n<li><p>bcryptjs – Encriptación de contraseñas</p>\n</li>\n<li><p>express-validator – Validación de datos</p>\n</li>\n<li><p>dotenv – Manejo de variables de entorno</p>\n</li>\n<li><p>nodemon – Reinicio automático del servidor en desarrollo</p>\n</li>\n<li><p>Helmet - Header de seguridad para ocultar huellas, para prevenir inyecciones y para el control de Contenido</p>\n</li>\n<li><p>Rate Limiting - Para evitas ataques de fuerza bruta y proteger tus recursos</p>\n</li>\n</ul>\n<h2 id=\"👩💻-desarrollado-por\">👩‍💻 Desarrollado por</h2>\n<p>Mary Lezama<br>Nazarena Contreras</p>\n<p>📍 Ciudad Autónoma de Buenos Aires, Argentina<br>💬 Proyecto académico Ada ITW — Módulo 4, API Vivero</p>\n<p>🌱 \"Una planta bien cuidada crece fuerte; una API bien documentada también.\"</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"47327494","collectionId":"95e085f0-7279-4589-b64f-5de812bc21a1","publishedId":"2sB3QNpTcK","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-10-15T20:26:10.000Z"},"item":[{"name":"🔐 Módulo de Usuarios","item":[{"name":"Registro de nuevos usuarios","id":"19d072ea-2353-4a48-9e15-a1e146fe5063","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"Florencia_mary\",\r\n  \"password\": \"15-florencia25\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/auth/register","urlObject":{"protocol":"http","port":"3000","path":["auth","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"19d072ea-2353-4a48-9e15-a1e146fe5063"},{"name":"Login  y obtención de token JWT","id":"5e64d3a0-365f-4bb0-aadc-3f65aecbed96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"Florencia_mary\",\r\n  \"password\": \"15-florencia25\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/auth/login","urlObject":{"protocol":"http","port":"3000","path":["auth","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"5e64d3a0-365f-4bb0-aadc-3f65aecbed96"}],"id":"65985420-3826-4852-8b89-aa8777d3dc3b","_postman_id":"65985420-3826-4852-8b89-aa8777d3dc3b","description":""},{"name":"🌿 Módulo de Plantas","item":[{"name":"Crear nuevas plantas","id":"0c7c8275-8789-45dd-ad5d-2278938d7754","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"para borrar\",\r\n    \"species\": \"arboleada deiciosa\",\r\n    \"price\": 2500,\r\n    \"stock\": 10\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/plants","urlObject":{"protocol":"http","port":"3000","path":["plants"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0c7c8275-8789-45dd-ad5d-2278938d7754"},{"name":"Listar todas las plantas disponibles","id":"590601c5-fc15-4b43-97dc-3512726751c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/plants","urlObject":{"protocol":"http","port":"3000","path":["plants"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"590601c5-fc15-4b43-97dc-3512726751c0"},{"name":"Buscar planta por ID","id":"e4ba564d-e8ae-4d47-8276-40984b647675","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"prueba\",\r\n    \"species\": \"Lavandula angustifolia\",\r\n    \"price\": 1200,\r\n    \"stock\": 15\r\n}"},"url":"http://localhost:3000/plants/69bad8088905b18382afe2ff","urlObject":{"protocol":"http","port":"3000","path":["plants","69bad8088905b18382afe2ff"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4ba564d-e8ae-4d47-8276-40984b647675"},{"name":"Actualizar información existente por ID","id":"20d57251-40e0-42b3-9720-dfaebb04c825","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"matilda\",\r\n    \"species\": \"arboleada deiciosa\",\r\n    \"price\": 800000,\r\n    \"stock\": 10\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/plants/69bad8ab8905b18382afe301","urlObject":{"protocol":"http","port":"3000","path":["plants","69bad8ab8905b18382afe301"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"20d57251-40e0-42b3-9720-dfaebb04c825"},{"name":"Eliminar registros de plantas por ID","id":"3a11cd15-e52b-49f4-bea2-2b3c4bfcf4b9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"para borrar\",\r\n    \"species\": \"arboleada deiciosa\",\r\n    \"price\": 2500,\r\n    \"stock\": 10\r\n}"},"url":"http://localhost:3000/plants/69badb412bee612a5a63fca7","urlObject":{"protocol":"http","port":"3000","path":["plants","69badb412bee612a5a63fca7"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"3a11cd15-e52b-49f4-bea2-2b3c4bfcf4b9"}],"id":"95e5d9f0-6268-4379-8e01-4703f3b37625","_postman_id":"95e5d9f0-6268-4379-8e01-4703f3b37625","description":""},{"name":"👥 Módulo de Clientes","item":[{"name":"Alta de nuevos clientes","id":"5794563e-4f7d-4b79-a32e-ae0e54dfbe48","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"cliente nuevo 2\",\r\n    \"email\": \"eliminar2@gmail.com\",\r\n    \"phone\": 123456785\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/clients","urlObject":{"protocol":"http","port":"3000","path":["clients"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"5794563e-4f7d-4b79-a32e-ae0e54dfbe48"},{"name":"Listar clientes","id":"42a10623-944f-4674-8f46-2118db4d7b96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/clients","urlObject":{"protocol":"http","port":"3000","path":["clients"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"42a10623-944f-4674-8f46-2118db4d7b96"},{"name":"Búsqueda de clientes por ID","id":"f91ccf15-3ad5-489d-95ca-388d8365301e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"cliente nuevo 2\",\r\n    \"email\": \"eliminar2@gmail.com\",\r\n    \"phone\": 123456785\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/clients/69badcd52bee612a5a63fcb0","urlObject":{"protocol":"http","port":"3000","path":["clients","69badcd52bee612a5a63fcb0"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"f91ccf15-3ad5-489d-95ca-388d8365301e"},{"name":"Edición de datos por ID","id":"35359790-7176-4580-8f94-83fea5c6e627","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"cliente nueeeeeeeeevo 2\",\r\n    \"email\": \"eliminar2@gmail.com\",\r\n    \"phone\": 123456785\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/clients/69badcd52bee612a5a63fcb0","urlObject":{"protocol":"http","port":"3000","path":["clients","69badcd52bee612a5a63fcb0"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"35359790-7176-4580-8f94-83fea5c6e627"},{"name":"Eliminación de clientes","id":"8e2b30db-74e9-4c30-beea-15d7cf65205c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:3000/clients/69badcd52bee612a5a63fcb0","urlObject":{"protocol":"http","port":"3000","path":["clients","69badcd52bee612a5a63fcb0"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"8e2b30db-74e9-4c30-beea-15d7cf65205c"}],"id":"35fe68df-0d7e-482d-83ba-17ff42d3572e","_postman_id":"35fe68df-0d7e-482d-83ba-17ff42d3572e","description":""},{"name":"💰 Módulo de Ventas","item":[{"name":"Registrar una venta asociando cliente y planta(s)","id":"65e8bb29-1ae6-40bd-b07b-2f76d36d2674","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"clientId\": \"69badcba2bee612a5a63fcac\",\r\n  \"items\": [\r\n    {\r\n      \"plantId\": \"69bad8ab8905b18382afe301\",\r\n       \"name\": \"matilda\",\r\n      \"species\": \"arboleada deiciosa\",\r\n      \"quantity\": 1,\r\n       \"price\": 800000\r\n    }\r\n  ],\r\n  \"total\": 800000,\r\n  \"status\": \"pendiente\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/sales","urlObject":{"protocol":"http","port":"3000","path":["sales"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"65e8bb29-1ae6-40bd-b07b-2f76d36d2674"},{"name":"Consultar ventas realizadas","id":"0a7f4963-0735-4e42-84df-b8d031a12bfb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/sales","urlObject":{"protocol":"http","port":"3000","path":["sales"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a7f4963-0735-4e42-84df-b8d031a12bfb"},{"name":"Consultar una venta en especifico por ID","id":"e0dbda79-0073-42eb-8390-e035f7a3d50e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/sales/69bae2042bee612a5a63fcbb","urlObject":{"protocol":"http","port":"3000","path":["sales","69bae2042bee612a5a63fcbb"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0dbda79-0073-42eb-8390-e035f7a3d50e"},{"name":"Actualizar el estado de ventas por ID","id":"bddb3fc6-3be3-4623-a9fa-6be11348fd9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"0222e757-83c6-4314-a7da-4445e6c05aff\",\r\n    \"date\": \"15/10/2025, 07:24:22 p. m.\",\r\n    \"clientId\": \"9634f5ff-351d-471f-90ec-0a037c39cf22\",\r\n    \"items\": [\r\n      {\r\n        \"plantId\": \"4c7a5199-2e55-482c-b549-cd5944c4f021\",\r\n        \"quantity\": 1,\r\n        \"price\": 2500\r\n      }\r\n    ],\r\n    \"total\": 2500,\r\n    \"status\": \"entregado\",\r\n    \"createdAt\": \"2025-10-15T22:24:23.025Z\",\r\n    \"updatedAt\": \"2025-10-15T22:28:38.548Z\"\r\n  }","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/sales/69bae2042bee612a5a63fcbb/status","urlObject":{"protocol":"http","port":"3000","path":["sales","69bae2042bee612a5a63fcbb","status"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"bddb3fc6-3be3-4623-a9fa-6be11348fd9c"},{"name":"Eliminar operaciones por ID","id":"832d88c0-4042-48ad-8440-ee0be5b36162","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:3000/sales/69bae2042bee612a5a63fcbb","urlObject":{"protocol":"http","port":"3000","path":["sales","69bae2042bee612a5a63fcbb"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"832d88c0-4042-48ad-8440-ee0be5b36162"}],"id":"2f90c66b-1237-4005-bb3e-2353b61dbd5f","_postman_id":"2f90c66b-1237-4005-bb3e-2353b61dbd5f","description":""},{"name":"Bienvenida a la API Vivero","id":"7c45a6ee-656f-443e-bd37-720b5ab25364","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/","urlObject":{"protocol":"http","port":"3000","path":[""],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"7c45a6ee-656f-443e-bd37-720b5ab25364"}]}