---
title: "Actualizar un producto de negocio | Documentación de Ordering.co"
description: "Usa POST /business/{business_id}/categories/{category_id}/products/{product_id} para actualizar parcialmente un producto."
canonical: https://docs.ordering.co/es/api-reference/guides/update-product/
---

# Actualizar un producto de negocio

> **API operation:** [Open the endpoint in Scalar](https://docs.ordering.co/es/api-reference/#tag/business/POST/business/{business_id}/categories/{category_id}/products/{product_id})

Usa `POST /business/{business_id}/categories/{category_id}/products/{product_id}` para actualizar parcialmente un producto. La operación pública actual es `Product.update`.

La operación requiere autenticarse como administrador o administrador de negocio. Envía solo los campos que deban cambiar; el comportamiento de las relaciones, los medios, el inventario, las ofertas, los impuestos y la visibilidad depende de la operación.

```javascript
const response = await ordering.businesses(businessId).categories(categoryId).products(productId).save()
```

Esta sintaxis de SDK es histórica. Confirma el paquete y la versión antes de usarla.

## Referencia de OpenAPI

**Operación:** `POST /business/{business_id}/categories/{category_id}/products/{product_id}`

**Parámetros de ruta**

| Nombre        | Tipo    | Obligatorio | Descripción |
| ------------- | ------- | ----------- | ----------- |
| `business_id` | integer | Sí          | —           |
| `category_id` | integer | Sí          | —           |
| `product_id`  | integer | Sí          | —           |

**Campos del cuerpo de la solicitud**

| Nombre                    | Tipo           | Obligatorio |
| ------------------------- | -------------- | ----------- |
| `extra_snooze_until_data` | array\<string> | No          |
| `extras`                  | any            | No          |
| `maximum_per_order`       | any            | No          |
| `minimum_per_order`       | any            | No          |
| `rank`                    | any            | No          |
| `ribbon`                  | any            | No          |
| `snooze_until`            | any            | No          |
| `tags`                    | any            | No          |

**Respuestas**

| Código | Descripción                                                                                                                                                                                                                                                                        |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200    | Respuesta exitosa. El contenido de `result` varía según la operación y se devuelve como JSON.                                                                                                                                                                                      |
| 400    | Respuesta de error (error=true). Los errores de validación y de negocio comparten este código.                                                                                                                                                                                     |
| 401    | Respuesta de error: sesión ausente, inválida, o nivel de usuario fuera de los permitidos. Respuesta de error: el proyecto no existe o no tiene una suscripción activa.                                                                                                             |
| 404    | Respuesta vacía: la versión de API solicitada no está admitida.                                                                                                                                                                                                                    |
| 429    | Envelope de error: se excedió un límite de consumo del proyecto (o el sujeto está baneado). Lleva Retry-After y X-RateLimit-Limit/Remaining/Reset/Scope/Key.                                                                                                                       |
| 500    | Respuesta de error: falló la búsqueda o inicialización del proyecto.                                                                                                                                                                                                               |
| 503    | Envelope de error: la aplicación está temporalmente en mantenimiento. Envelope de error: el proyecto está temporalmente en mantenimiento, o los límites de consumo no se pudieron evaluar y el límite aplicable está configurado con on\_error = closed (cabecera Retry-After: 1). |

[Abrir esta operación en la Referencia de la API](https://docs.ordering.co/es/api-reference/#tag/business/POST/business/{business_id}/categories/{category_id}/products/{product_id})
