Saltar al contenido principal
GET
/
menus
Listar menús
curl --request GET \
  --url https://api.example.com/menus
{
  "data": [
    {
      "id": "almuerzo-delivery",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "store_id": "centro",
      "store_uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "channel_id": "app",
      "channel_uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "fulfillment_id": "delivery",
      "fulfillment_uid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
      "name": "Menú almuerzo delivery",
      "description": "Ítems de almuerzo entre semana para delivery en app",
      "schedules": [
        {
          "monday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "tuesday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "wednesday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "thursday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "friday": { "start_time": "11:00:00", "end_time": "15:00:00" }
        }
      ],
      "products": [],
      "categories": [],
      "modifier_groups": [],
      "cms_template_id": null,
      "cms": null,
      "status": "ACTIVE"
    }
  ]
}
Devuelve los menús que el cliente puede explorar para el contexto de venta actual. Filtra por tienda, canal y fulfillment para cargar el catálogo que aplica a la sesión del cliente.
Requiere un access token de Fire spark obtenido mediante intercambio de token.

Parámetros de consulta

ParámetroRequeridoDescripción
store_idIdentificador externo de la tienda.
channel_idIdentificador externo del canal.
fulfillment_idIdentificador externo de fulfillment (por ejemplo delivery, pickup).

Request

curl "https://firespark.vercel.app/api/storefront/v1/menus?store_id=centro&channel_id=app&fulfillment_id=delivery" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response

La respuesta envuelve un arreglo de objetos menú en data. Solo se incluyen menús ACTIVE. Cuando schedules es null, el menú no tiene restricción de horarios. Cuando está definido, solo se incluye durante las horas que coincidan.
{
  "data": [
    {
      "id": "almuerzo-delivery",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "store_id": "centro",
      "store_uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "channel_id": "app",
      "channel_uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "fulfillment_id": "delivery",
      "fulfillment_uid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
      "name": "Menú almuerzo delivery",
      "description": "Ítems de almuerzo entre semana para delivery en app",
      "schedules": [
        {
          "monday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "tuesday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "wednesday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "thursday": { "start_time": "11:00:00", "end_time": "15:00:00" },
          "friday": { "start_time": "11:00:00", "end_time": "15:00:00" }
        }
      ],
      "products": [],
      "categories": [],
      "modifier_groups": [],
      "cms_template_id": null,
      "cms": null,
      "status": "ACTIVE"
    }
  ]
}

Objeto menú

CampoTipoDescripción
idstringIdentificador externo del menú.
uidstring (UUID)Identificador interno de Fire spark.
store_idstringIdentificador externo de la tienda.
store_uidstring (UUID)Identificador de tienda en Fire spark.
channel_idstringIdentificador externo del canal.
channel_uidstring (UUID)Identificador de canal en Fire spark.
fulfillment_idstringIdentificador externo de fulfillment.
fulfillment_uidstring (UUID)Identificador de fulfillment en Fire spark.
namestringNombre visible.
descriptionstringDescripción opcional del menú. null si se omite.
schedulesarray | nullMapas de horario semanal. null cuando no hay restricción de horarios.
productsarrayProductos en este menú. Usa Obtener producto para detalles.
categoriesarrayCategorías en este menú. Usa Obtener categoría para detalles.
modifier_groupsarrayGrupos de modificadores referenciados por productos en este menú.
cms_template_idstring (UUID)Plantilla CMS vinculada a este menú. null si no hay plantilla asignada.
cmsobjectSolo lectura. Plantilla CMS resuelta cuando cms_template_id está asignado.
statusstringACTIVE o INACTIVE. Solo se devuelven menús ACTIVE.

Respuestas de error

EstadoDescripción
400Parámetros de consulta ausentes o inválidos.
401Access token ausente o inválido.
403El token no tiene acceso a los menús de este comercio.
404No hay menú para la tienda, canal y fulfillment dados.