Démarrage rapide
Un premier résultat en bac à sable, en cinq étapes.
1. Récupérer votre clé de test
Wave Up vous transmet une clé wu_sk_test_… à l'ouverture de votre compte. Gardez-la sur votre serveur : elle ne doit jamais apparaître dans un navigateur, une application mobile ou un dépôt de code.
2. Créer une session depuis votre serveur
curl https://sandbox.api.waveup-health.fr/v1/sessions \
-H "Authorization: Bearer $WAVEUP_KEY" \
-H "Content-Type: application/json" \
-d '{
"zone": "thoracolumbar_spine",
"patient": { "sex": "female", "height_cm": 165, "weight_kg": 62 },
"locale": "fr-FR",
"modules": ["cartography", "questionnaires"],
"reference": "DOSSIER-2026-0042"
}'
const res = await fetch('https://sandbox.api.waveup-health.fr/v1/sessions', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.WAVEUP_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
zone: 'thoracolumbar_spine',
patient: { sex: 'female', height_cm: 165, weight_kg: 62 },
locale: 'fr-FR',
modules: ['cartography', 'questionnaires'],
reference: 'DOSSIER-2026-0042',
}),
})
const { id, client_token } = await res.json()
import os, requests
res = requests.post(
"https://sandbox.api.waveup-health.fr/v1/sessions",
headers={"Authorization": f"Bearer {os.environ['WAVEUP_KEY']}"},
json={
"zone": "thoracolumbar_spine",
"patient": {"sex": "female", "height_cm": 165, "weight_kg": 62},
"locale": "fr-FR",
"modules": ["cartography", "questionnaires"],
"reference": "DOSSIER-2026-0042",
},
)
session = res.json()
$ch = curl_init('https://sandbox.api.waveup-health.fr/v1/sessions');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('WAVEUP_KEY'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'zone' => 'thoracolumbar_spine',
'patient' => ['sex' => 'female', 'height_cm' => 165, 'weight_kg' => 62],
'locale' => 'fr-FR',
'modules' => ['cartography', 'questionnaires'],
'reference' => 'DOSSIER-2026-0042',
]),
]);
$session = json_decode(curl_exec($ch), true);
Réponse 201 :
{
"id": "ses_UZaJ3Siu2NWNtHBxRaicid4T",
"client_token": "eyJhbGciOiJFZERTQSJ9…",
"embed_url": "https://sandbox.embed.waveup-health.fr/v1/s/ses_UZaJ3Siu2NWNtHBxRaicid4T",
"expires_at": "2026-10-04T14:32:00.000Z"
}
Transmettez seulement client_token à votre page.
3. Afficher le composant
<div id="evaluation"></div>
<script src="https://embed.waveup-health.fr/v1/sdk.js"></script>
<script>
const ev = WaveUp.mount('#evaluation', { clientToken: '…' })
ev.on('completed', ({ sessionId }) => fetch(`/mon-serveur/evaluations/${sessionId}/recuperer`, { method: 'POST' }))
</script>
Le SDK déduit l'environnement du jeton : il n'y a rien d'autre à configurer.
4. Récupérer le résultat
À l'événement completed, votre serveur appelle :
curl https://sandbox.api.waveup-health.fr/v1/sessions/ses_UZaJ3Siu2NWNtHBxRaicid4T/result \
-H "Authorization: Bearer $WAVEUP_KEY"
Le résultat est supprimé 15 minutes après sa première récupération (ou 15 minutes après l'envoi). Le PDF co-signé est à l'adresse report_url, avec la même clé.
5. Conserver le paquet de reprise
Enregistrez resume_bundle dans votre dossier patient. Il permet de rouvrir l'évaluation ou de régénérer le PDF dans une autre langue, alors que Wave Up n'a plus rien conservé.