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

# Paso a Paso

> De cero a tu primera llamada en 5 minutos

## 1. Genera tu API key

1. Entra al [panel de administración](https://app.fooddelivery.cl).
2. Ve a **Integraciones → API pública**.
3. (Opcional) Ponle un nombre a la llave (ej: "ERP") y presiona
   **Generar API key**.
4. Copia la llave (`fd_live_...`) de inmediato: **se muestra una sola vez**.

<Note>
  La llave pertenece al restaurante activo en el selector y da acceso a todas
  sus sucursales. Los endpoints aceptan el parámetro `location_id` para
  filtrar por sucursal.
</Note>

## 2. Haz tu primera llamada

```bash cURL theme={null}
curl "https://app.fooddelivery.cl/api/v1/orders?limit=5" \
  -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxx"
```

```json Respuesta theme={null}
{
  "data": [
    {
      "id": "a1b2c3d4-...",
      "number": "#0041-150726",
      "status": "en_preparacion",
      "type": "delivery",
      "total": 15990,
      "payment": { "method": "tarjeta", "paid": true },
      "created_at": "2026-07-15T13:05:22+00:00"
    }
  ],
  "has_more": true,
  "next_cursor": "eyJvZmZzZXQiOjV9"
}
```

## 3. Explora con el playground

Todos los endpoints de la pestaña **API Pedidos y Menú** incluyen un
playground interactivo: pega tu API key, completa los parámetros y ejecuta la
llamada real desde el navegador.

## 4. Pagina los resultados

Las listas usan paginación por cursor: mientras `has_more` sea `true`, repite
la llamada pasando `cursor=next_cursor` hasta recorrer todo el rango.

```bash theme={null}
curl "https://app.fooddelivery.cl/api/v1/orders?limit=5&cursor=eyJvZmZzZXQiOjV9" \
  -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxx"
```

## 5. Crea tu primer pedido (escritura)

Con una llave con **escritura** habilitada puedes inyectar pedidos que caen
directo a la pantalla de cocina. Los `product_id` y `modifier_option_ids`
salen de `GET /menu`; los precios los calcula FoodDelivery desde tu catálogo.

```bash cURL theme={null}
curl -X POST "https://app.fooddelivery.cl/api/v1/orders" \
  -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "location_id": "3e7cc154-...",
    "type": "retiro",
    "customer": { "name": "Juan Pérez", "phone": "+56912345678" },
    "items": [
      { "product_id": "eb1ecc13-...", "quantity": 2,
        "modifier_option_ids": ["f55539eb-..."] }
    ]
  }'
```

El pedido queda en estado `recibido`. Desde ahí puedes avanzarlo o cancelarlo
con `PATCH /orders/{order_id}` siguiendo el mismo flujo de la cocina.
