Accorder une remise commerciale sur des lignes du folio (RRR — ADR-00D113)
const url = 'https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/discount';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', 'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json' }, body: '{"targetEntryIds":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"pct":10,"amountCents":"1500","reason":"Geste commercial"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/discount \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "targetEntryIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "pct": 10, "amountCents": "1500", "reason": "Geste commercial" }'Poste une (des) écriture(s) discount NÉGATIVE(s) contre-écrivant une fraction de recettes postées (NF203 append-only). Deux modes exclusifs : pct (% appliqué au taux EXACT de chaque cible, une ligne par cible) OU amountCents (montant TTC fixe, cibles MONO-TAUX obligatoire). PLAFOND DE RÔLE (D-U3) : manager/director illimités ; tout autre rôle (réceptionniste) est plafonné (% max ET € max) — fail-closed si aucun plafond configuré. businessDate dérivée côté SERVEUR (ADR-00D78). Idempotency-Key obligatoire (8–200 car.). Permission : folio.discount (réceptionniste + manager + director).
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Identifiant du folio
Header Parameters
Section intitulée « Header Parameters »Clé d’idempotence OBLIGATOIRE (8–200 car.) — anti-double-remise
Request Body required
Section intitulée « Request Body required »Remise. Mode % (pct 0<pct≤100) OU montant fixe (amountCents TTC en centimes, bigint string). Exactement un des deux.
object
Lignes recette actives à remiser
Pourcentage (0<pct≤100, 2 décimales max). EXCLUSIF avec amountCents.
Example
10Montant TTC fixe en centimes (bigint string, > 0). EXCLUSIF avec pct — cibles mono-taux.
Example
1500Motif obligatoire (RRR accordés)
Example
Geste commercialResponses
Section intitulée « Responses »Remise enregistrée — lignes discount négatives ajoutées (NF203)
object
object
Total HT remisé (magnitude, bigint string)
Total TVA remisée (magnitude, bigint string)
Total TTC remisé (magnitude, bigint string)
Example generated
{ "data": { "folioId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "discountEntryIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "totalDiscountHtCents": "example", "totalDiscountTaxCents": "example", "totalDiscountTtcCents": "example", "businessDate": "2026-04-15" }}Body invalide (mode ambigu, cible vide, motif manquant) ou remise à montant fixe multi-taux
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Non authentifié
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Permission refusée, périmètre non vérifiable, OU plafond de rôle dépassé / non configuré (fail-closed)
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Ressource introuvable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Folio non-open ou remise dépassant le montant disponible de la ligne
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}