4. Réserver une place (une par une)

POST/api/v1/public/booking-sessions/6e5e5b33-ab5c-40da-b9f0-19bec7da55dd/holds
Explication

En langage simple : « bloquer cette place ~12 minutes le temps que le client paie ». Une place = une réservation. Deux billets = deux réservations (deux fois le même type d’appel avec un siège différent). Gardez chaque numéro de réservation (hold id).

Payload / requête

À envoyer : seulement seat_id (numéro du siège). Exemple 2 places : appelez deux fois avec deux seat_id différents.

{
  "seat_id": "73660"
}
Réponse

Place réservée — gardez hold.id pour la confirmation

{
  "success": true,
  "message": "Seat held in booking session",
  "data": {
    "session_id": "6e5e5b33-ab5c-40da-b9f0-19bec7da55dd",
    "hold": {
      "id": "133c21f0-d704-46f4-8901-553056af6408",
      "event_id": "8",
      "seat_id": "73660",
      "status": "held",
      "expires_at": "2026-09-04T13:09:00.000Z",
      "remaining_seconds": 720,
      "price": 40000,
      "seat_code": "TS-01-R1-1",
      "zone_id": "7",
      "section_id": "49",
      "row": 1,
      "number": 1
    }
  }
}
Exemple de code
const body = {
  "seat_id": "73660"
};
const raw = JSON.stringify(body);
const res = await fetch("https://book.stadepassgn.com/api/v1/public/booking-sessions/6e5e5b33-ab5c-40da-b9f0-19bec7da55dd/holds", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    "x-partner-code": process.env.PARTNER_CODE || "YOUR_PARTNER_CODE",
  },
  body: raw,
});
const json = await res.json();

Essayer cette API (démo)

Playground local — réponse d’exemple en GNF. Pas d’appel réseau réel.

Démo uniquement. En production, signez chaque requête (voir Auth sur l’accueil).