Aller au contenu

Vendre un produit annexe (extra, surclassement) sur un séjour

POST
/v1/stays/{stayId}/ancillaries
curl --request POST \
--url https://example.com/v1/stays/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ancillaries \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "ancillaryProductId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1 }'

TVA calculée serveur via le catalogue produit. businessDate résolue côté serveur. Idempotency-Key obligatoire.

stayId
required
string format: uuid

Identifiant du séjour

Idempotency-Key
required
string

Clé d’idempotence OBLIGATOIRE (8–200 car.) — anti-double-vente

Produit annexe à vendre. La TVA est toujours calculée serveur (jamais fournie par le client).

Media type application/json
object
ancillaryProductId
required

Identifiant du produit annexe

string format: uuid
quantity
required
integer
>= 1
Example
1

Produit annexe vendu — écriture folio ajoutée

Media type application/json
object
data
required
object
folioEntryId
required
string format: uuid
nullable
amountHtCents
required

Montant HT en centimes (bigint string)

string
upgraded
required

True si un surclassement a été effectué

boolean
Example generated
{
"data": {
"folioEntryId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"amountHtCents": "example",
"upgraded": true
}
}

Corps ou paramètres invalides

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Non authentifié

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Permission refusée ou périmètre fiscal non vérifiable

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Ressource introuvable

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Folio non-open, surclassement indisponible

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}