Skip to main content
Actualiza un producto dentro de un menú compuesto. Usa este endpoint cuando tu POS o RMS envía cambios a nivel de ítem — precio, disponibilidad o ítems incluidos en bundle — sin reemplazar el menú completo. El body usa la misma forma de producto de menú que los productos en Upsert menus. Envía solo los campos que quieras cambiar; los omitidos conservan su valor actual.
Requiere un access token con el scope menus:write. Consulta Token para obtener un token.

Parámetros de ruta

Parámetros de query

Omitir un parámetro de scope no significa “todos”: se resuelve como __ANY__ y solo encuentra menús cargados con __ANY__ en esa dimensión. Si los menús se cargaron por fulfillment o canal (por ejemplo TAKEAWAY y DINE_IN), envía un update por cada scope; si no hay menú en el scope pedido, la respuesta es 404. Cada menú compuesto se identifica por fulfillment_id + store_id + channel_id + brand_id + menu.id; ver Menu sync.

Body de la solicitud

Misma forma que un producto en el array products de Upsert menus. El id del producto va en el parámetro de ruta — no lo envíes en el body. En el update todos los campos son opcionales, incluidos los de pricing y availability. Los campos omitidos conservan su valor actual y no se aplican valores por defecto:
  • pricing y availability se combinan campo por campo. { "pricing": { "price": 2.49 } } cambia solo el precio; modifiers, modifier_group_ids y los límites de cantidad no cambian.
  • Los arrays (bundled_items, labels, pricing.modifiers, …) se reemplazan completos cuando se envían.
  • Para borrar out_of_stock_until al volver a AVAILABLE, envía "out_of_stock_until": null.
Cada producto en el cuerpo de la solicitud:Cada objeto availability:Cada entrada de bundled_items:
Ejemplo de producto
Precio de producto en el cuerpo de la solicitud:Cada objeto en modifiers configura un grupo de modificadores referenciado en modifier_group_ids. Acepta los mismos campos de precio que el producto padre, más campos específicos del modificador:
Ejemplo de entrada en modifiers

Response

Devuelve el producto actualizado en data — la misma forma que un producto en List menus, incluyendo id, name, pricing, availability, bundled_items y metadata.

Respuestas de error