API gestion de panier
L'ensemble des méthodes regroupées dans la rubrique "Basket" permettent de gérer les paniers de commande et la construction de commandes pour l'API client StockTicket.
Schéma général
Méthodes de gestion du panier
AddEventDate - Ajout de billets au panier
Méthode :POST /Basket/AddEventDate
Ajoute un ou plusieurs billets pour une représentation dans un panier. La méthode peut créer un nouveau panier si l'identifiant fourni est null ou si le panier a expiré.
- Note : L'identifiant du panier retourné peut être différent de celui passé en paramètre si un nouveau panier a été créé.
- Note 2 : Rien ne garantit que le panier initial soit en tous points comparable au panier retourné (par exemple en cas
de création d'un nouveau panier suite à l'expiration du panier initial, ou lorsque l'ajout d'éléments entraîne l'ajout ou la suppression d'autres éléments associés).
De ce fait, le développeur doit toujours reprendre l'intégralité du panier retourné comme source de vérité pour la suite de la construction du panier, et ne pas se baser sur le panier initial ou faire des hypothèses sur les éléments qui le composent.
Détails supplémentaires :
- Il est possible d'ajouter plusieurs billets pour une même représentation en une seule requête
- L'ajout est soumis à des règles de validation (disponibilité, validité des tarifs, etc.)
- La réponse fournit des messages de validation si nécessaire
Représentations horodatées :
Pour les représentations horodatés, l'ajout de billets doit impérativement inclure les éléments suivants:
- SectionId et ZoneId: informations rattachées au créneau horaire choisi parmi la liste retournée par le endpoint Catalog/GetEventDateCalendarDateDetail.
- PriceCategoryIdet PriceCategoryItemId : informations sur la catégorie tarifaire et le tarif sélectionnés.
🖐️ Si l'une de ces informations est manquante, l'ajout du billet retournera une erreur.
GetDetail - Récupération du détail d'un panier
Méthode : GET /Basket/GetDetail
Retourne le détail du contenu d'un panier et de tous les éléments qui le composent.
Exemple de réponse:
{ "basketId": "BSK-123456", "expiryDateUtc": "2024-12-31T23:59:59Z", "amountInc": 75.50, "amountExc": 65.25, "items": [ { "groupId": "GRP-001", "eventDateId": "EVTD-xyz", "quantity": 2, "amountInc": 75.50, "amountExc": 65.25 } ], "validation": [] }
SetAncillaryItem - Ajout/modification d'articles accessoires/produits annexes au panier
Méthode :POST /Basket/SetAncillaryItem
Sélectionne ou modifie un article accessoire/produit annexe dans le panier spécifié (par exemple, une assurance annulation pour un billet de spectacle).
À propos du paiment
Pour plus de détails sur le fonctionnement du paiement, consulter également la rubrique Articles annexes.
RemoveItem - Suppression d'éléments du panier
Méthode :POST /Basket/RemoveItem
Supprime un ou plusieurs éléments spécifiés du panier.
Validate - Validation du panier
Méthode :POST /Basket/Validate
Valide le contenu du panier spécifié : vérification de la disponibilité des éléments, recalcul des prix, etc. Cette méthode applique les mêmes règles de validation que lors de la finalisation du panier.
Champs personnalisés
À propos des champs personnalisés
Pour plus de détails sur le fonctionnement des champs personnalisés, consulter également la rubrique Champs personnalisés.
GetCustomFields - Récupération des champs personnalisés
Méthode :POST /Basket/GetCustomFields
Retourne l'inventaire des champs personnalisés associés au panier spécifié.
SetCustomFields - Enregistrement des valeurs de champs personnalisés
Méthode :POST /Basket/SetCustomFields
Enregistre la valeur des champs personnalisés pour le panier spécifié.
Méthodes de paiement
À propos du paiment
Pour plus de détails sur le fonctionnement du paiement, consulter également la rubrique Paiement.
GetPaymentMethods - Récupération des méthodes de paiement
Méthode :GET /Basket/Payment/GetPaymentMethods
Récupère la liste des méthodes de paiement disponibles pour le panier spécifié.
Restriction : Cette méthode n'est disponible que pour les modules de vente de type "Vente - encaissement paramétrable" (SellingCustomPayee), gérant un paiement personnalisé.
InitPayment - Initialisation du paiement
Méthode :POST /Basket/Payment/InitPayment
Initialise une demande de paiement pour le panier spécifié avec la méthode de paiement spécifié (récupérée par un appel à la méthode GetPaymentMethods).
Notes importantes
-
Gestion des paniers expirés : Les paniers ont une durée de vie limitée. Un nouveau panier peut être créé automatiquement si le panier demandé a expiré.
-
Validation : Toutes les opérations sur les paniers sont soumises à des règles de validation. Les messages de validation sont retournés dans la propriété
validationdu modèleBasketDetailModel. -
Paiements : Les méthodes de paiement ne sont disponibles que pour certains types de modules de vente. Vérifiez les droits d'accès et la configuration de votre module avant utilisation.