Ducroire : finaliser une réservation par paiement

  • Réservation
  • Réservation
  • 2 routes
Comment créer une réservation puis la valider avec un ou plusieurs paiements ?

Ce scénario documente un parcours court permettant de transformer une proposition prête à l'emploi en réservation confirmée. Il commence par la création du booking, puis enchaîne avec sa validation en enregistrant un ou plusieurs paiements sur le dossier créé.

Il est utile lorsqu'une intégration doit sécuriser le passage de la proposition à la réservation tout en suivant le booking_id retourné et la durée d'option.

Vue d'ensemble

Ce scénario documente le parcours Ducroire comme une séquence courte de finalisation de réservation. POST/v3/bookings crée la réservation à partir d'une proposition prête et retourne le booking_id ainsi que des informations de durée d'option. PATCH/v2/bookings/{booking_id} permet ensuite de valider cette réservation en enregistrant un ou plusieurs paiements.

Prérequis

  • Disposer d'une x-api-key valide.
  • Envoyer un accept-language cohérent avec le contexte de création de la proposition.
  • Préparer une proposition contenant déjà les informations d'attendees attendues.
  • Réutiliser le booking_id retourné par l'étape de création.
  • Lorsque le contexte d'intégration l'exige, envoyer un bearer token valide.
  • Le schéma exact des bodies n'est pas visible dans les sources consultées pour ces deux routes et doit donc être vérifié séparément avant implémentation.

Résultat attendu

À l'issue du parcours, l'intégration a créé une réservation et tenté sa validation par paiement sur le même dossier.

Process workflow

Legend:
Obligatoire
Optionnel
1

Créer la réservation à partir d'une proposition

Optionnel

Utilisez cette route pour créer une réservation à partir d'une proposition prête avant de la valider par paiement.

Prerequis

  • Envoyez un accept-language cohérent avec le contexte de création de la proposition.
  • Envoyez x-api-key, ainsi que authorization lorsque le contexte d'intégration l'exige.
  • Préparez un payload de création fondé sur une proposition qui contient déjà les informations d'attendees attendues.

Calling CURL

curl -X 'POST' \
  'https://api.clubmed.com/v3/bookings' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw @booking-from-proposal.json

Example answer

{
  "booking_id": "654321",
  "households": [
    {
      "attendees": [
        {
          "customer_id": 987654,
          "type": "MAIN"
        }
      ]
    }
  ],
  "option_durability": {
    "is_reliable": true,
    "expiration_date_time": "20160415T10:23:00.234Z"
  }
}

info: Gardez le même accept-language que lors de la création de la proposition pour éviter les incohérences entre le contexte proposition et le contexte booking.


Codes de reponse

  • OK Response (200): retourne le nouveau booking_id et les données de durée d'option; la route peut aussi répondre en 201 Created.
  • Error (400): le payload est invalide ou un prérequis de création de réservation est manquant.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (403): l'appelant n'est pas autorisé à créer la réservation dans le contexte courant.
  • Error (404): non documente dans le Swagger.
  • Error (409): la proposition, le stock ou les conditions tarifaires ne sont plus valides.
  • Error (419): le vol sélectionné n'est plus disponible.
POST/v3/bookings
Voir plus
2

Valider la réservation par paiement

Optionnel

Cette route permet de valider une réservation en effectuant un ou plusieurs paiements. Utilisez-la une fois les informations de paiement complètes et la réservation prête à passer dans un état validé.

Prérequis

  • Réutiliser le booking_id retourné par l'étape de création de réservation.
  • Envoyer accept-language et x-api-key, ainsi que authorization ou x-agent-id lorsque votre contexte d'intégration les exige.
  • Préparer un payload de validation de paiement qui référence la réservation et les informations de paiement à appliquer.

Calling CURL

curl -X 'PATCH' \
  'https://api.clubmed.com/v2/bookings/0123456789' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'authorization: Bearer YOUR_TOKEN' \
  -H 'x-agent-id: YOUR_AGENT_ID' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw @booking-payment-validation.json

Example answer

HTTP/1.1 204 No Content

info: Le contrat de succès ne retourne pas de payload, donc relisez la réservation après l'appel si l'interface doit confirmer immédiatement l'état de paiement mis à jour.


Codes de réponse

  • OK Response (200): non documenté dans le Swagger. Le contrat de succès est 204 No Content, donc aucun body n'est retourné.
  • Error (400): le payload est invalide, incomplet ou n'est pas un JSON valide.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (404): non documenté dans le Swagger.
PATCH/v2/bookings/{booking_id}
Voir plus