# Product Actualiza un producto buscado su id. Envía máximo 3 opciones. ### Comportamiento de actualización parcial Este endpoint soporta actualizaciones parciales (partial updates): - Si no envías los keys "options" ni "variants", las variantes existentes se preservan. - Si envías "options": [] o "variants": [], las variantes existentes también se preservan (no se eliminan por omisión). - Si envías nuevas opciones o variantes, estas se agregan a las existentes sin eliminar las anteriores. ### Ejemplos Actualizar solo precio y título (preserva variantes): { "product": { "title": "Nuevo título", "price": 29.99 } } Agregar nueva opción sin eliminar existentes: { "product": { "options": [ { "name": "Material", "values": ["Algodón", "Poliéster"] } ] } } Ejemplo completo de options: "options": [ { "name": "Talla", "values": ["SM", "LG", "XL", "MD"] }, { "name": "Color", "values": ["Red", "Blue"] } ] Para las variantes, combina los valores de las opciones. Ejemplo completo de variants: "variants": [ { "price": 12, "wholesale_price": 10, "sku": "VAR-001", "option1": "SM", "option2": "Red" }, { "price": 14, "wholesale_price": 10, "sku": "VAR-002", "option1": "LG", "option2": "Red" }, { "price": 25, "wholesale_price": 13, "sku": "VAR-003", "option1": "XL", "option2": "Blue" } ] Agregar nueva combinación sin eliminar existentes: { "product": { "options": [ { "name": "Talla", "values": ["SM", "LG", "XL", "XXL"] } ], "variants": [ { "option1": "XXL", "sku": "VAR-XXL", "price": 35, "quantity": 10 } ] } } operationId: updateProduct Endpoint: PUT /api/v1/product/web_id Version: 1.0.0 Security: api-key ## Request fields (application/json): - `product` (object) - `product.title` (string) - `product.description` (string) - `product.sku` (string) - `product.quantity` (integer) - `product.active` (boolean) - `product.price` (number) - `product.subcategory_id` (string) - `product.image_urls` (array) - `product.options` (array) Opciones del producto (ej: Talla, Color). Si se envía, las nuevas opciones se agregan a las existentes. - `product.options.name` (string) - `product.options.values` (array) - `product.variants` (array) Combinaciones de variantes. Si se envía, las nuevas combinaciones se agregan a las existentes. - `product.variants.wholesale_price` (number) - `product.variants.image` (string) - `product.variants.variant_url` (string) - `product.variants.option1` (string) - `product.variants.option2` (string) - `product.variants.option3` (string) ## Response 400 fields ## Response 404 fields