> ## Documentation Index
> Fetch the complete documentation index at: https://firespark.cloud/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener categoría

> Carga una categoría de un menú compuesto con disponibilidad por contexto.

Devuelve una categoría del menú activo, incluyendo cómo aparece en distintos canales, tiendas y tipos de fulfillment. Usa este endpoint para renderizar encabezados, descripciones e indicadores de disponibilidad en tu UI de pedidos.

> [!NOTE]
>
> Requiere un access token de Fire spark obtenido mediante [intercambio de
> token](https://firespark.cloud/docs/es/storefront-api/oauth/exchange/post.md).

## Parámetros de ruta

| Parámetro | Descripción |
| - | - |
| `id` | Identificador externo de la categoría. Solo alfanuméricos, `_` y `-`. 1–64 caracteres. |

## Parámetros de consulta

| Parámetro | Requerido | Descripción |
| - | - | - |
| `fulfillment_id` | No | Identificador externo de fulfillment. |
| `store_id` | No | Identificador externo de la tienda. |
| `channel_id` | No | Identificador externo del canal. |
| `brand_id` | No | Identificador externo de la marca. |

## Request

```bash theme={null}
curl "https://firespark.cloud/api/storefront/v1/menus/categories/hamburguesas?fulfillment_id=delivery&store_id=centro&channel_id=app&brand_id=0001" \
  -H "Authorization: Bearer ACCESS_TOKEN"
```

## Response

```json Success theme={null}
{
  "data": {
    "id": "hamburguesas",
    "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "brand_id": "0001",
    "merchant_id": "22222222-2222-2222-2222-222222222222",
    "name": "Hamburguesas",
    "description": "Hamburguesas artesanales",
    "image_url": "https://cdn.example.com/mains.jpg",
    "channels": {
      "APP": {
        "id": "app",
        "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "name": "App móvil",
        "stores": {
          "centro": {
            "id": "centro",
            "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
            "name": "Centro",
            "fulfillment": {
              "DELIVERY": {
                "uid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
                "id": "delivery",
                "type": "DELIVERY",
                "name": "Delivery",
                "availability": {
                  "status": "ACTIVE",
                  "schedules": [
                    { "day_of_week": "monday", "periods": [{ "start_time": "11:00:00", "end_time": "22:00:00" }] }
                  ],
                  "inactive_until": null
                },
                "items": [{ "type": "PRODUCT", "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }]
              }
            }
          }
        }
      }
    },
    "cms_template_id": null,
    "cms": null,
    "status": "ACTIVE"
  }
}
```

## Objeto categoría

| Campo | Tipo | Descripción |
| - | - | - |
| `id` | string | Identificador externo de la categoría. |
| `uid` | string (UUID) | Identificador interno de Fire spark. |
| `brand_id` | string \| null | Identificador externo de marca. `null` cuando el recurso no está ligado a una marca. |
| `merchant_id` | string (UUID) | Identificador de comercio en Fire spark. |
| `name` | string | Nombre visible. 1–100 caracteres. |
| `description` | string | Descripción opcional. Hasta 500 caracteres. `null` si se omite. |
| `image_url` | string | URL de imagen de la categoría. `null` si se omite. |
| `channels` | object | Visibilidad y disponibilidad por canal, indexada por código de canal. |
| `cms_template_id` | string (UUID) | Plantilla CMS vinculada. `null` si no hay plantilla asignada. |
| `cms` | object | Solo lectura. Plantilla CMS resuelta cuando está asignada. |
| `status` | string | `ACTIVE` o `INACTIVE`. |

> [accordion] channels
>
> Mapa de códigos de canal. Cada entrada contiene:
>
> | Campo | Requerido | Tipo | Descripción |
> | - | - | - | - |
> | `id` | Sí | string | Identificador externo del canal. |
> | `uid` | Sí | string (UUID) | Identificador interno del canal en Fire spark. |
> | `name` | Sí | string | Nombre visible. |
> | `stores` | Sí | object | Mapa de códigos de tienda a configuración de tienda. |
>
> Cada entrada de tienda:
>
> | Campo | Requerido | Tipo | Descripción |
> | - | - | - | - |
> | `id` | Sí | string | Identificador externo de la tienda. |
> | `uid` | Sí | string (UUID) | Identificador interno de la tienda en Fire spark. |
> | `name` | Sí | string | Nombre visible. |
> | `fulfillment` | Sí | object | Mapa de códigos de fulfillment a configuración de fulfillment. |
>
> Cada entrada de fulfillment:
>
> | Campo | Requerido | Tipo | Descripción |
> | - | - | - | - |
> | `uid` | Sí | string (UUID) | Identificador interno de fulfillment en Fire spark. |
> | `id` | Sí | string | Identificador externo de fulfillment. |
> | `type` | Sí | string | Código de tipo de fulfillment (por ejemplo `DELIVERY`). |
> | `name` | Sí | string | Nombre visible. |
> | `availability` | Sí | object | Disponibilidad de la categoría en este contexto. Ver **availability**. |
> | `items` | No | array | Entradas ordenadas de la categoría. Por defecto `[]`. |
>
> Cada entrada en `items`:
>
> | Campo | Requerido | Tipo | Descripción |
> | - | - | - | - |
> | `type` | Sí | string | `CATEGORY` o `PRODUCT`. |
> | `id` | Sí | string | Identificador externo de categoría o producto. |

> [accordion] availability
>
> | Campo | Requerido | Tipo | Descripción |
> | - | - | - | - |
> | `status` | Sí | string | `ACTIVE`, `INACTIVE` o `HIDDEN`. |
> | `schedules` | No | array \| null | Entradas de horario con `day_of_week` y `periods`. `null` cuando no hay restricción de horarios. |
> | `inactive_until` | No | string | Fecha y hora ISO 8601 opcional cuando termina un estado inactivo temporal. |
>
> Cada entrada de horario contiene `day_of_week` (`monday` a `sunday`) y un arreglo `periods`. Cada periodo tiene `closed` opcional (por defecto `false`), `start_time`, `end_time` y límites opcionales `start_date` / `end_date`.

## Respuestas de error

| Estado | Descripción |
| - | - |
| `401` | Access token ausente o inválido. |
| `403` | El token no tiene acceso a esta categoría. |
| `404` | Categoría no encontrada en el menú activo para este contexto. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.