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

# Cancelar pedido

> Cancela un pedido antes del fulfillment. VOIDED antes del pago, REVERSED después del pago.

Cancela un pedido del comercio autenticado. Es la forma servidor a servidor de [Cancelar pedido](https://firespark.cloud/docs/es/storefront-api/orders/\[id]/cancel/post) en Storefront: la misma validación, el mismo estado terminal y la misma interrupción del fulfillment.

Fire spark actualiza los estados del pedido y del fulfillment, detiene un workflow de fulfillment en curso y avisa a las integraciones conectadas.

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

El estado resultante depende de si el pago ya fue capturado:

| Pago | `status` del pedido | `fulfillment_status` |
| - | - | - |
| Sin captura | `VOIDED` | `VOIDED` |
| Capturado | `REVERSED` | `REVERSED` |

Los tenders sin cobrar se anulan, así que `payment_status` queda en `CANCELLED`. Los tenders capturados se reembolsan, así que `payment_status` queda en `REFUNDED`. `payment_status` se deriva de los tenders.

> [!NOTE]
>
> La restricción de siguientes estados del fulfillment no cambia. Un avance del
> workflow a `VOIDED` se sigue rechazando cuando `VOIDED` no está entre los
> siguientes estados del nodo actual. La cancelación elige `VOIDED` o
> `REVERSED` según la captura.

> [!WARNING]
>
> La cancelación se rechaza cuando el pedido ya está fulfilled. Reembolsa un
> pedido fulfilled desde el canal que lo creó.

## Parámetros de ruta

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

## Solicitud

Sin cuerpo. El id del pedido va en la ruta.

```bash theme={null}
curl -X POST "https://firespark.cloud/api/admin/v1/orders/ord-48291/cancel" \
  -H "Authorization: Bearer ACCESS_TOKEN"
```

## Respuesta

Devuelve `200` con el pedido cancelado en `data`.

```json Cancelado antes del pago theme={null}
{
  "data": {
    "id": "ord-48291",
    "status": "VOIDED",
    "fulfillment_status": "VOIDED",
    "payment_status": "CANCELLED"
  }
}
```

```json Cancelado después del pago theme={null}
{
  "data": {
    "id": "ord-48291",
    "status": "REVERSED",
    "fulfillment_status": "REVERSED",
    "payment_status": "REFUNDED"
  }
}
```

## Respuestas de error

| Estado | Descripción |
| - | - |
| `401` | Access token ausente o inválido |
| `403` | Al token le falta el scope `orders:write` |
| `404` | Pedido no encontrado |
| `422` | El pedido ya está fulfilled, o no puede cancelarse en su estado actual |


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