> ## 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.

# Listar opciones de fulfillment

> Lee las definiciones de tipos de fulfillment para mapear con tu POS o RMS.

Devuelve todas las opciones de fulfillment configuradas para el comercio autenticado. Usa este endpoint para mapear tipos de fulfillment de Fire spark con flujos de retiro, delivery y dine-in en tu POS o RMS antes de sincronizar tiendas y componer menús.

> [!NOTE]
>
> Requiere un access token con el scope `fulfillment:read`. Consulta
> [Token](https://firespark.cloud/docs/es/integrations-api/oauth/token/post.md) para obtener un token.

## Parámetros de consulta

| Parámetro | Requerido | Descripción |
| - | - | - |
| `channel_id` | No | Identificador externo del canal. Si se indica, solo se devuelven fulfillments cuyos `channel_ids` lo incluyan. |

## Solicitud

```bash theme={null}
curl "https://firespark.cloud/api/integrations/v1/fulfillment?channel_id=app" \
  -H "Authorization: Bearer ACCESS_TOKEN"
```

## Respuesta

La respuesta envuelve un arreglo de objetos de fulfillment en `data`. Cada objeto representa un modo de fulfillment — tipos integrados como `DELIVERY` y `PICKUP`, o tipos personalizados como `DRIVE_THRU`.

```json Éxito theme={null}
{
  "data": [
    {
      "id": "delivery",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Delivery",
      "type": "DELIVERY",
      "status": "ACTIVE",
      "channel_ids": ["app", "web", "call-center"]
    },
    {
      "id": "pickup",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Pickup",
      "type": "PICKUP",
      "status": "ACTIVE",
      "channel_ids": ["app", "web"]
    },
    {
      "id": "drive-thru",
      "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Drive-thru",
      "type": "DRIVE_THRU",
      "status": "ACTIVE",
      "channel_ids": ["kiosk"]
    }
  ]
}
```

## Objeto fulfillment

| Campo | Tipo | Descripción |
| - | - | - |
| `id` | string | Identificador externo de fulfillment. Solo caracteres alfanuméricos, `_` y `-`. 1–64 caracteres. Único por comercio. |
| `uid` | string (UUID) | Identificador interno de Fire spark. |
| `merchant_id` | string (UUID) | Comercio al que pertenece la opción de fulfillment. |
| `name` | string | Nombre para mostrar. 1–100 caracteres. |
| `type` | string | Código del tipo de fulfillment. 1–100 caracteres. Único por comercio entre registros activos. Valores comunes: `DELIVERY`, `PICKUP`, `DINE_IN`. También se admiten códigos personalizados como `DRIVE_THRU` o `CURBSIDE`. |
| `status` | string | `ACTIVE` o `INACTIVE`. |
| `channel_ids` | string\[] | Identificadores externos de canales donde este fulfillment está disponible. Vacío significa inaccesible en todos los canales. |

## Mapear fulfillment con tu POS

Haz coincidir el campo `id` con el identificador de fulfillment en tu POS o RMS. Fire spark usa este ID externo al componer menús y adjuntar reglas de fulfillment a tiendas y canales.

> [!TIP]
>
> Los valores `uid` de fulfillment son identificadores estables de Fire spark.
> Usa `id` para mapeo entre sistemas y `uid` al referenciar opciones de
> fulfillment en otras llamadas a la API de Fire spark. Usa `type` cuando
> necesites el código semántico del modo (`DELIVERY`, `PICKUP`, etc.).

## Respuestas de error

| Estado | Descripción |
| - | - |
| `401` | Access token ausente o inválido. |
| `403` | El token no incluye el scope `fulfillment:read`. |


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