curl --request PUT \
--url https://api.example.com/api/products/:id \
--header 'Content-Type: application/json' \
--data '
{
"nombre": "<string>",
"descripcion": "<string>",
"precio": 123,
"precioOriginal": 123,
"stock": 123,
"categoriaId": 123,
"marcaId": 123,
"peso": 123,
"alto": 123,
"ancho": 123,
"profundidad": 123,
"isFeatured": true
}
'{
"success": true,
"data": {
"id": 123,
"nombre": "<string>",
"descripcion": "<string>",
"precio": 123,
"precioOriginal": 123,
"stock": 123,
"foto": "<string>",
"isFeatured": true,
"peso": 123,
"alto": 123,
"ancho": 123,
"profundidad": 123,
"categoriaId": 123,
"marcaId": 123,
"createdAt": {},
"updatedAt": {}
}
}Update an existing product’s information
curl --request PUT \
--url https://api.example.com/api/products/:id \
--header 'Content-Type: application/json' \
--data '
{
"nombre": "<string>",
"descripcion": "<string>",
"precio": 123,
"precioOriginal": 123,
"stock": 123,
"categoriaId": 123,
"marcaId": 123,
"peso": 123,
"alto": 123,
"ancho": 123,
"profundidad": 123,
"isFeatured": true
}
'{
"success": true,
"data": {
"id": 123,
"nombre": "<string>",
"descripcion": "<string>",
"precio": 123,
"precioOriginal": 123,
"stock": 123,
"foto": "<string>",
"isFeatured": true,
"peso": 123,
"alto": 123,
"ancho": 123,
"profundidad": 123,
"categoriaId": 123,
"marcaId": 123,
"createdAt": {},
"updatedAt": {}
}
}PUT /api/products/:id
ADMIN role can update products.
Content-Type: multipart/form-data
Authorization: Bearer <access_token>
multipart/form-data to support image upload. All fields are optional - only include fields you want to update.
curl -X PUT "https://api.pcfix.com/api/products/42" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-F "precio=69.99" \
-F "stock=75" \
-F "isFeatured=false"
{
"success": true,
"data": {
"id": 42,
"nombre": "Gaming Mouse Pro",
"descripcion": "High-precision gaming mouse with RGB lighting and customizable buttons",
"precio": "69.99",
"precioOriginal": "79.99",
"stock": 75,
"foto": "https://cdn.pcfix.com/uploads/mouse-image-1234567890.jpg",
"isFeatured": false,
"peso": "0.15",
"alto": 5,
"ancho": 8,
"profundidad": 12,
"categoriaId": 8,
"marcaId": 3,
"createdAt": "2024-03-05T10:30:00Z",
"updatedAt": "2024-03-05T15:45:00Z"
}
}
{
"success": false,
"error": "Product not found"
}
{
"success": false,
"error": "Datos inválidos",
"details": [
{
"field": "precio",
"message": "El precio debe ser positivo"
}
]
}
{
"success": false,
"error": "Unauthorized - Admin access required"
}
{
"success": false,
"error": "Error message description"
}
updatedAt timestamp is automatically updated