Upsert menús
Menús
Upsert menús
Crea o actualiza menús compuestos desde tu POS o RMS en Fire spark.
PUT
Upsert menús
Crea o actualiza uno o más menús para el comercio autenticado. Usa este endpoint para sincronizar la estructura del catálogo compuesto, horarios y overrides desde tu POS o RMS hacia Fire spark.
Cada elemento del arreglo se empareja por
Los campos de solo lectura como
id. Si no existe un menú con ese id para el comercio, Fire spark lo crea. Si ya existe, Fire spark actualiza los campos editables indicados abajo. Los campos omitidos conservan su valor actual en una actualización.
Requiere un access token con el scope
menus:write. Consulta
Authorize para obtener un token.Headers
| Header | Requerido | Descripción |
|---|---|---|
x-brand-id | No | Acota el upsert a menús de esta marca. Identificador externo de marca — solo alfanuméricos, _ y -. 1–64 caracteres. Si se omite, aplican todos los menús del comercio. |
Request
Envía un arreglo JSON. Cada elemento representa un menú. Incluyeid en cada elemento — es el identificador externo estable de tu POS o RMS y la clave del upsert.
Campos editables
| Campo | Requerido al crear | Descripción |
|---|---|---|
id | Sí | Identificador externo del menú. Clave del upsert. Inmutable tras la creación. |
store_id | Sí | Identificador externo de tienda. Debe coincidir con una tienda sincronizada vía Upsert tiendas. |
store_uid | Sí | Identificador de tienda en Fire spark. |
channel_id | Sí | Identificador externo de canal. Debe coincidir con un canal sincronizado vía Listar canales. |
channel_uid | Sí | Identificador de canal en Fire spark. |
fulfillment_id | Sí | Identificador externo de fulfillment. Debe coincidir con fulfillment sincronizado vía Listar fulfillment. |
fulfillment_uid | Sí | Identificador de fulfillment en Fire spark. |
name | Sí | Nombre visible. 1–100 caracteres. |
description | No | Descripción opcional. Hasta 500 caracteres. |
schedules | No | Mapas de horario semanal. null cuando no hay restricción de horarios. |
products | No | Productos en este menú compuesto. |
categories | No | Categorías en este menú compuesto. |
modifier_groups | No | Grupos de modificadores en este menú compuesto. |
cms_template_id | No | UUID de plantilla CMS. null para limpiar. |
overrides | No | Cambios programados del menú. |
status | No | ACTIVE o INACTIVE. Por defecto ACTIVE. |
uid, organization_id, merchant_id y cms se ignoran en escritura.
Response
Devuelve los menús upserteados endata, con la misma forma descrita en Listar menús.
Respuestas de error
| Estado | Descripción |
|---|---|
400 | Error de validación — valores inválidos o campos requeridos ausentes. |
401 | Access token ausente o inválido. |
403 | El token no incluye el scope menus:write. |
409 | La tienda, canal o fulfillment referenciados no existen para este comercio. |