Sauvegarder et rouvrir une proposition vendeur

  • Proposals
  • Réservation
  • 3 routes
Comment un vendeur peut-il sauvegarder une proposition puis la rouvrir plus tard ?

Ce scénario explique comment un vendeur peut prolonger la persistance d'une proposition, retrouver ensuite ses propositions sauvegardées et rouvrir l'une d'elles en détail. Il convient à un parcours de vente assistée où un devis doit rester disponible au-delà de la session initiale.

Le parcours part d'un proposal_id existant, applique l'opération extend_persistence, liste les propositions sauvegardées puis ouvre le détail complet d'une proposition pour la réutiliser.

Vue d'ensemble

Ce scénario aide une application orientée vendeur à conserver une proposition dans le temps puis à la récupérer depuis une liste de propositions sauvegardées.

Prérequis

  • Un proposal_id existant.
  • Un x-api-key valide. Certaines étapes de récupération nécessitent aussi un header authorization.
  • L'action de sauvegarde repose sur l'opération PATCH extend_persistence.

Résultat attendu

Le vendeur peut sauvegarder une proposition pour un usage ultérieur, lister les propositions conservées et rouvrir une proposition avec son prix, ses foyers et ses informations commerciales.

Process workflow

Legend:
Obligatoire
Optionnel
1

Étendre la persistance de la proposition

Obligatoire

Cette route met à jour une proposition en lui appliquant une opération. Le Swagger liste les opérations disponibles sur /proposals : apply_promo_code, remove_options, extend_persistence, remove_promo_code et auto_optionable. Dans ce scénario, l'opération utilisée est extend_persistence avec parameters: true.

Prérequis

  • Disposer d'un proposal_id valide.
  • Envoyer accept-language et x-api-key.
  • Utiliser extend_persistence uniquement sur une proposition qui doit rester réutilisable dans le temps.

Calling CURL

curl -X 'PATCH' \
  'https://api.clubmed.com/v0/proposals/123456' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "operation": "extend_persistence",
    "parameters": true
  }'

Example answer

HTTP/1.1 204 No Content

info: Le Swagger précise que extend_persistence permet à une proposition de rester active jusqu'à six mois.


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): non documenté dans le Swagger.
  • Error (404): la proposition est introuvable.
  • Error (409): la mise à jour demandée ne peut pas être appliquée dans l'état courant de la proposition.
PATCH/v0/proposals/{proposal_id}
Voir plus
2

Lister les propositions sauvegardées

Obligatoire

Utilisez cette route pour lister les propositions sauvegardées et réutilisables plus tard dans l'espace vendeur.

Prerequis

  • Envoyez authorization et x-api-key.
  • Ajoutez des filtres de recherche comme customer_last_name, product_id, min_departure_date ou discount_id seulement s'ils aident à réduire le résultat.
  • Réutilisez un id de proposition retourné dans l'étape de détail.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v0/proposals/saved?customer_last_name=Smith&page=1&limit=10' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer YOUR_TOKEN' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

[
  {
    "id": "123456",
    "product_id": "MPAC",
    "product_label": "Chamonix Mont-Blanc",
    "customer_id": "123456789",
    "first_name": "Michael",
    "last_name": "Jackson",
    "resort_arrival_date": "2022-04-15",
    "reservation_date": "2022-04-15"
  }
]

info: L'id retourné correspond au proposal_id à réutiliser pour rouvrir la proposition sauvegardée en détail.


Codes de reponse

  • OK Response (200): retourne les propositions sauvegardées qui correspondent aux filtres vendeur demandés.
  • Error (400): un filtre ou une valeur d'entrée est invalide.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (404): non documente dans le Swagger.
  • Error (206): la réponse est partielle et doit être paginée ou relancée avec des filtres plus précis.
GET/v0/proposals/saved
Voir plus
3

Ouvrir le détail d'une proposition

Obligatoire

Utilisez cette route pour rouvrir en détail une proposition sauvegardée après l'avoir identifiée dans la liste des propositions conservées.

Prerequis

  • Réutilisez le proposal_id retourné par GET/v0/proposals/saved.
  • Envoyez x-api-key.
  • Appelez cette étape lorsque le vendeur doit inspecter le prix, les foyers et les options commerciales avant de reprendre le parcours.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v2/proposals/123456' \
  -H 'accept: application/json' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

{
  "id": "123456",
  "booking_id": 123456,
  "label": "Proposal with one club room",
  "price": {
    "total": 9815.4,
    "currency": "EUR",
    "is_transfer_included": true
  },
  "households": [
    {
      "attendees": [
        {
          "id": "A",
          "customer_id": "string"
        }
      ]
    }
  ],
  "option_available": true,
  "extend_persistence": false,
  "is_bookable": false
}

info: Vérifiez option_available, extend_persistence et is_bookable avant de décider si la proposition sauvegardée peut être réutilisée telle quelle.


Codes de reponse

  • OK Response (200): retourne le contenu détaillé de la proposition sauvegardée avec le prix et les informations de foyer.
  • Error (400): l'identifiant de proposition ou une autre valeur d'entrée est invalide.
  • Error (401): non documente dans le Swagger.
  • Error (404): non documente dans le Swagger.
  • Error (409): le contrôle économique ou les critères de proposition ne sont plus valides.
GET/v2/proposals/{proposal_id}
Voir plus