Poster une charge manuelle sur le folio (extra, repas, parking, débours, pénalité…)
const url = 'https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/charges';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', 'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json' }, body: '{"chargeType":"ancillary","amountTtcCents":"2200","description":"example","quantity":1}'};
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/charges \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "chargeType": "ancillary", "amountTtcCents": "2200", "description": "example", "quantity": 1 }'Ajoute une écriture inaltérable au folio (NF203 append-only). TVA résolue côté SERVEUR depuis le pays de l’établissement (règle de l’immeuble). businessDate dérivée côté SERVEUR (ADR-00D78) — ne pas envoyer. Permission : folio.charge (réceptionniste + manager). Types autorisés : ancillary, meal_plan, parking, laundry, phone, minibar, other, disbursement, penalty. Exclus (Night Audit exclusif) : room_night, tourism_tax, long_stay_installment. Idempotency-Key obligatoire (8–200 car.) — anti-double-click front.
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-posting
Request Body required
Section intitulée « Request Body required »Charge manuelle. Le montant est en centimes TTC (bigint string). TVA et businessDate résolues côté serveur.
object
Type de charge (liste fermée — Night-Audit-exclusifs rejetés)
Example
ancillaryMontant TTC en centimes (bigint string, > 0). Le serveur décompose HT + TVA.
Example
2200Libellé / mention (obligatoire pour disbursement — opposabilité CGI 267-II-2°)
Quantité (défaut 1). Le total TTC = amountTtcCents × quantity.
Example
1Responses
Section intitulée « Responses »Charge enregistrée — écriture folio inaltérable ajoutée (NF203)
object
object
Identifiant de la FolioEntry créée
Nature fiscale résolue côté serveur
Montant HT en centimes (bigint string)
Montant TVA en centimes (bigint string)
BusinessDate de l’établissement au moment du posting
Example
{ "data": { "chargeType": "ancillary", "chargeNature": "revenue" }}Body invalide (type inconnu, montant non numérique, description manquante pour disbursement, Idempotency-Key manquante)
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 ou périmètre fiscal du folio non vérifiable (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, montant hors plage, businessDate non résolvable
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}