Poser / remplacer une fence d'éligibilité (upsert par type)
const url = 'https://example.com/v1/rate-plans/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/fences';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"type":"min_lead_time","thresholdDays":14,"allowedValues":["desk","booking_engine"],"requiredCode":"example"}'};
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/rate-plans/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/fences \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "type": "min_lead_time", "thresholdDays": 14, "allowedValues": [ "desk", "booking_engine" ], "requiredCode": "example" }'Fence = condition d’ACCÈS au tarif (revenue management, ADR-00D116 A5) : achat anticipé min/max (thresholdDays), canaux de vente (allowedValues — vocabulaire canonique desk/booking_engine/ota), segments clients (allowedValues) ou code société (requiredCode). Upsert PAR TYPE : un seul levier par type, même type → remplacement idempotent. Bump de version NF203.
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Identifiant du plan tarifaire
Request Body required
Section intitulée « Request Body required »Union discriminée sur type : min_lead_time/max_lead_time → thresholdDays ; channel → allowedValues (canaux canoniques) ; segment → allowedValues ; corporate_code → requiredCode.
object
Type de fence (clé naturelle de l’upsert).
(min/max_lead_time uniquement) Achat anticipé en jours entre réservation et arrivée.
Example
14(channel/segment uniquement) Valeurs autorisées. Pour channel : vocabulaire CANONIQUE desk | booking_engine | ota (ADR-00D116 A2).
Example
[ "desk", "booking_engine"](corporate_code uniquement) Code société exigé — jamais renvoyé dans les verdicts de devis (confidentialité).
Responses
Section intitulée « Responses »Fence appliquée
object
object
Example generated
{ "data": { "version": 1 }}Corps invalide
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
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}Plan 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}