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

# Actualizar pedido

> Modifica un pedido abierto antes de que llegue a cocina.

Actualiza campos de un pedido que sigue en estado `OPEN`. Úsalo mientras el cliente edita el carrito.

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

> [!WARNING]
>
> Una vez que Fire spark dispara [`order.status.changed`](https://firespark.cloud/docs/es/integrations-api/orders/webhooks)
> al POS del comercio, el ticket operativo puede existir ya. Evita PATCH
> después del traspaso a cocina salvo que tu canal soporte esas ediciones.

## Parámetros de ruta

| Parámetro | Requerido | Descripción |
| - | - | - |
| `id` | Sí | Identificador externo del pedido |

## Cuerpo de la solicitud

| Campo | Requerido | Tipo | Descripción |
| - | - | - | - |
| `lines` | No | array | Reemplazo completo de las líneas con precios |
| `totals` | No | object | Totales del pedido recalculados |
| `store_id` | No | string | Alcance de tienda actualizado |
| `channel_id` | No | string | Alcance de canal actualizado |
| `fulfillment_id` | No | string | Alcance de fulfillment actualizado |
| `brand_id` | No | string \| null | Alcance de marca actualizado |
| `customer` | No | object | Snapshot de cliente actualizado |
| `metadata` | No | object | Metadatos del canal |
| `redeem` | No | array | Reemplazo completo de los canjes del pedido. Cada uno necesita `payment_id` y `amount` |
| `redemption_steps` | No | array | Canjes aplicados en orden. El servidor los recalcula y guarda en cada cambio del carrito. |

Los tenders no van en este cuerpo. Guárdalos con [Guardar intent de pago](https://firespark.cloud/docs/es/storefront-api/orders/\[id]/payment-intent/put). `payment_status` se deriva de esos tenders.

## Solicitud

```bash theme={null}
curl -X PATCH "https://firespark.cloud/api/storefront/v1/orders/ord-48291" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "lines": [
      {
        "type": "PRODUCT",
        "uid": "11111111-1111-1111-1111-111111111111",
        "id": "burger-classic",
        "parent_uid": null,
        "parent_id": null,
        "name": "Classic Burger",
        "quantity": 2,
        "tax_rate": 0.15,
        "discount_rate": 0,
        "unit_subtotal": 12.99,
        "unit_discount": 0,
        "unit_tax_total": 1.95,
        "unit_total": 14.94,
        "subtotal": 25.98,
        "discount_total": 0,
        "tax_total": 3.9,
        "total": 29.88,
        "unit_group_subtotal": 12.99,
        "unit_group_discount": 0,
        "unit_group_tax_total": 1.95,
        "unit_group_total": 14.94,
        "group_subtotal": 25.98,
        "group_discount": 0,
        "group_tax_total": 3.9,
        "group_total": 29.88,
        "metadata": {}
      }
    ],
    "totals": {
      "currency": "USD",
      "subtotal": 25.98,
      "discount_rate": 0,
      "discount_total": 0,
      "tax_rate": 0.15,
      "tax_total": 3.9,
      "total": 29.88
    }
  }'
```

## Respuesta

Devuelve el pedido actualizado en `data`.

## Errores

| Estado | Descripción |
| - | - |
| `401` | Token ausente o inválido |
| `404` | Pedido no encontrado |
| `422` | El pedido no está `OPEN` o el cuerpo es inválido |


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