Ajouter des services externes à une proposition

  • Service de proposition
  • Services
  • 3 routes
Comment récupérer puis afficher les services externes disponibles pour une proposition ?

Ce scénario explique comment créer une proposition, récupérer les services additionnels associés puis consulter le détail des services externes disponibles pour le produit ciblé. Il convient aux parcours d'enrichissement de proposition avant réservation.

Le flux commence par la création d'une proposition, puis réutilise les identifiants retournés pour exposer des services comme le parking ou la conciergerie.

Vue d'ensemble

Ce scénario permet d'enrichir une proposition avec des services externes avant de poursuivre le parcours de réservation.

Prérequis

  • Les critères nécessaires pour créer une proposition.
  • Un proposal_id puis un product_id retournés au fil du parcours.
  • Un x-api-key valide et, selon le canal, un contexte d'autorisation adapté.

Résultat attendu

L'application peut afficher la liste des services externes disponibles, présenter leurs informations métier et préparer leur ajout à la proposition.

Process workflow

Legend:
Obligatoire
Optionnel
1

Créer la proposition de départ

Obligatoire

Utilisez POST/v3/proposals/search pour créer la proposition initiale qui servira de base à l'ajout de services externes.

Prerequis

  • Une x-api-key valide et une locale cohérente dans accept-language.
  • Les critères de recherche requis par la route, comme product_id, resort_arrival_date, duration et la configuration des participants.
  • Le même contexte produit et la même locale que dans les étapes de services suivantes.

Calling CURL

curl -X 'POST' \
  'https://api.clubmed.com/v3/proposals/search' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "product_id": "MPAC",
    "resort_arrival_date": "20260415",
    "duration": 7,
    "number_attendees": 2
  }'

Example answer

[
  {
    "id": "123456",
    "product_id": "MPAC",
    "package_id": "AI",
    "price": {
      "total": 9815.4,
      "currency": "EUR"
    },
    "is_bookable": false
  }
]

info: Conservez le proposal_id retourné ici et réutilisez exactement la même locale dans les étapes qui suivent.


Codes de reponse

  • OK Response (200): retourne une ou plusieurs propositions tarifées correspondant aux critères soumis.
  • Error (400): les critères, les participants ou le payload JSON sont invalides.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (404): le produit demandé est inconnu.
  • Error (409): les critères de proposition ne sont plus valides.
POST/v3/proposals/search
Voir plus
2

Récupérer les services additionnels

Obligatoire

Utilisez GET/v0/additional_services pour lister les services additionnels disponibles avant de vous concentrer sur les services externes du produit.

Prerequis

  • Disposer d'un proposal_id valide.
  • Envoyer accept-language et x-api-key.
  • Ajouter si besoin des filtres pour limiter la liste retournée.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v0/additional_services?proposal_id=123456' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

[
  {
    "id": "VMOSK1",
    "type": "CHILDCARE",
    "currency": "EUR",
    "schedules": [
      {
        "start_date": "20100430",
        "end_date": "20100430",
        "attendees": [
          {
            "id": "A",
            "price": 88
          }
        ]
      }
    ]
  }
]

info: Cette étape permet surtout de vérifier que la proposition accepte bien des services avant d'aller chercher les prestations externes du produit.


Codes de reponse

  • OK Response (200): retourne les services additionnels disponibles pour la proposition.
  • Error (400): le contexte de proposition ou les filtres sont invalides.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (404): la proposition est introuvable dans le contexte soumis.
  • Error (409): les critères de proposition ne sont plus valides.
GET/v0/additional_services
Voir plus
3

Récupérer le détail des services externes

Obligatoire

Utilisez GET/v0/products/{product_id}/external_services pour récupérer les services externes exposés par le produit, comme des prestations partenaires ou de conciergerie.

Prerequis

  • Disposer d'un product_id valide.
  • Envoyer accept-language et x-api-key.
  • Ajouter si besoin un filter pour restreindre la liste retournée.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v0/products/MPAC/external_services' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

[
  {
    "id": "CHAMP285",
    "type": "CONCIERGERIE",
    "subtype": "BABY_SKI_LESSON",
    "title": "Champagne bottle",
    "description": "Bouteille de champagne de qualité supérieur",
    "image": "https://ns.clubmed.com/fbs/test.jpg"
  }
]

info: Réutilisez les champs id, type et subtype pour n'afficher que les services externes pertinents dans votre interface.


Codes de reponse

  • OK Response (200): retourne les services externes disponibles pour le produit.
  • Error (400): la requête ou les filtres sont invalides.
  • Error (401): non documente dans le Swagger.
  • Error (404): non documente dans le Swagger.
GET/v0/products/{product_id}/external_services
Voir plus