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

# Démarrage rapide

> De zéro à votre première vente suivie par code, en cinq étapes.

Ce guide vous mène d'une clé vierge à un événement de vente reçu sur votre serveur.

**1. Créez une clé d'API**

Dans votre tableau de bord, ouvrez **Développeurs & API** puis **Nouvelle clé**. Donnez-lui un nom (par exemple « Mon serveur »), cochez uniquement les permissions dont vous avez besoin, et copiez la clé tout de suite : elle ne sera plus jamais affichée.

> [!WARNING]
>
> La clé commence par `psk_`. Gardez-la côté serveur, dans une variable d'environnement. Ne l'envoyez jamais dans une application mobile, une page web ou un dépôt Git.

```bash theme={null}
export PULSESELL_API_KEY="psk_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

**2. Testez la clé**

L'endpoint `/me` ne demande aucune permission : il confirme que la clé fonctionne et à quelle boutique elle est liée.

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

```javascript Node.js theme={null}
const res = await fetch("https://api.pulse-sell.com/v1/me", {
  headers: { Authorization: `Bearer ${process.env.PULSESELL_API_KEY}` },
});
console.log(await res.json());
```

```python Python theme={null}
import os, requests

res = requests.get(
    "https://api.pulse-sell.com/v1/me",
    headers={"Authorization": f"Bearer {os.environ['PULSESELL_API_KEY']}"},
)
print(res.json())
```

```json Réponse theme={null}
{
  "data": {
    "key": { "id": "9f2c1a7d3b8e4f60", "name": "Mon serveur", "scopes": ["products.read", "sales.read"] },
    "store_id": "cm1abc123",
    "seller_id": "cm1xyz789"
  }
}
```

**3. Listez vos produits**

```bash theme={null}
curl "https://api.pulse-sell.com/v1/products?per_page=5" \
  -H "Authorization: Bearer $PULSESELL_API_KEY"
```

La réponse contient `data` (la liste) et `pagination` (comment lire la page suivante). Voir [Pagination](https://docs.pulse-sell.com/concepts/pagination.md).

**4. Créez un lien de paiement**

Avec la permission `checkout.write`, générez une adresse de paiement pour un produit publié, avec un code promo si vous le souhaitez.

```bash theme={null}
curl -X POST https://api.pulse-sell.com/v1/checkout \
  -H "Authorization: Bearer $PULSESELL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "product_id": "cm1prod001", "quantity": 1, "discount_code": "BIENVENUE10" }'
```

Envoyez votre client vers le `checkout_url` renvoyé. Le paiement se fait sur la page hébergée de votre boutique.

**5. Recevez la vente sur votre serveur**

Créez un Pulse pour être prévenu dès qu'un paiement est confirmé.

```bash theme={null}
curl -X POST https://api.pulse-sell.com/v1/pulses \
  -H "Authorization: Bearer $PULSESELL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Mon serveur", "url": "https://exemple.com/webhooks/pulse-sell", "events": ["sale.completed"] }'
```

La réponse contient `secret` : c'est la seule fois qu'il est montré. Utilisez-le pour [vérifier la signature](https://docs.pulse-sell.com/pulses/security.md) de chaque envoi.

## Et ensuite

> [card] [Permissions](https://docs.pulse-sell.com/concepts/permissions.md)
>
> Accordez le minimum nécessaire à chaque clé.

> [card] [Validation de licence](https://docs.pulse-sell.com/use-cases/saas-license.md)
>
> Protégez votre logiciel avec les clés vendues sur Pulse-Sell.

> [card] [Bonnes pratiques](https://docs.pulse-sell.com/use-cases/best-practices.md)
>
> Réessais, sécurité, déduplication : ce qui évite les incidents.


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