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

# Ventes

> Consultez les commandes, livrez-les ou annulez les impayées.

Permissions : `sales.read`, `sales.write` (inclut la lecture). Guide : [Ventes](https://docs.pulse-sell.com/guides/sales.md).

## Lister les ventes

`GET /sales` — `sales.read`

Sans filtre `status`, seules les ventes **encaissées** sont listées. Avec `status`, toute commande de ce statut.

| Paramètre | Description |
| - | - |
| `per_page`, `cursor` | [Pagination](https://docs.pulse-sell.com/concepts/pagination.md). |
| `status` | `pending`, `processing`, `completed`, `fulfilled`, `cancelled`, `refunded`, `failed`, `awaiting_fulfillment`. |
| `customer_email` | E-mail exact du client. |
| `product_id` | Ventes contenant ce produit. |
| `from`, `to` | Période de création (ISO 8601). |

```bash cURL theme={null}
curl "https://api.pulse-sell.com/v1/sales?from=2026-10-01T00:00:00Z&per_page=100" \
  -H "Authorization: Bearer $PULSESELL_API_KEY"
```

## Obtenir une vente

`GET /sales/{id}` — `sales.read`

```bash cURL theme={null}
curl https://api.pulse-sell.com/v1/sales/cm1sale001 \
  -H "Authorization: Bearer $PULSESELL_API_KEY"
```

## Marquer une vente comme livrée

`POST /sales/{id}/fulfill` — `sales.write`

Uniquement pour une commande **encaissée** et non encore livrée (`409` sinon). Déclenche la livraison numérique habituelle.

```bash cURL theme={null}
curl -X POST https://api.pulse-sell.com/v1/sales/cm1sale001/fulfill \
  -H "Authorization: Bearer $PULSESELL_API_KEY" \
  -H "Idempotency-Key: fulfill-cm1sale001"
```

## Annuler une commande non payée

`POST /sales/{id}/cancel` — `sales.write`

Refusé (`409`) si un paiement a été encaissé : le remboursement se fait depuis le tableau de bord.

| Champ | Requis | Description |
| - | - | - |
| `reason` | non | Motif (500 caractères maximum). |

```bash cURL theme={null}
curl -X POST https://api.pulse-sell.com/v1/sales/cm1sale001/cancel \
  -H "Authorization: Bearer $PULSESELL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Le client a changé d’avis"}'
```


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