# Sandbox et scénarios de test

> Testez votre intégration nouko sans données réelles : scénarios test_approve, test_decline, test_review, test_expire et parcours client de test.

Source : https://nouko.openclouds.fr/docs/sandbox

Avec une clé `nk_test_`, tout est réel (sessions, liens, webhooks) mais isolé de la production. Deux façons de tester :

## Scénarios instantanés

Utilisez une de ces références (ou une variante comme `test_approve_42`) : la session avance immédiatement et émet les vrais webhooks. `verification_url` vaut alors `null` et `sandbox_scenario` indique le résultat.

| Référence | Statut final | Événements |
| --- | --- | --- |
| `test_approve` | `approved` | created → started → submitted → approved |
| `test_decline` | `rejected` | created → started → submitted → declined |
| `test_review` | `pending` | created → started → submitted (reste en revue) |
| `test_expire` | `expired` | created → expired |

**curl**

```bash
curl -X POST https://nouko.openclouds.fr/api/public/v1/sessions \
  -H "Authorization: Bearer $NOUKO_TEST_KEY" \
  -H "Idempotency-Key: essai-approve-1" \
  -H "Content-Type: application/json" \
  -d '{"reference":"test_approve_1","country":"CI"}'
```

**Node.js**

```javascript
const res = await fetch('https://nouko.openclouds.fr/api/public/v1/sessions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.NOUKO_TEST_KEY}`, // nk_test_…
    'Idempotency-Key': 'essai-approve-1',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ reference: 'test_approve_1', country: 'CI' }),
});
console.log(await res.json()); // sandbox_scenario: "approved"
```

**Python**

```python
r = requests.post("https://nouko.openclouds.fr/api/public/v1/sessions",
    headers={"Authorization": f"Bearer {os.environ['NOUKO_TEST_KEY']}",
             "Idempotency-Key": "essai-approve-1"},
    json={"reference": "test_approve_1", "country": "CI"}, timeout=15)
print(r.json()["sandbox_scenario"])  # "approved"
```

## Parcours client de test

Avec toute autre référence, ouvrez `verification_url` : le parcours affiche « Parcours de test — aucune donnée réelle », propose de remplir avec des données fictives et vous laisse choisir le résultat à la dernière étape. Idéal pour tester votre `redirect_url`.

## Passer en production

Demandez l’activation depuis **Console → Paramètres**. Une fois validée par nouko, créez une clé `nk_live_` et une adresse webhook pour la production. Votre code ne change pas, seule la clé change.
