Passer au contenu principal
Toute réponse 4xx ou 5xx est un objet RFC 9457 (application/problem+json) :
  • code : la référence stable, à tester dans votre code. Le catalogue ci-dessous est extensible : un code inconnu se traite selon son statut HTTP.
  • title et detail : textes en français pour un humain ; ils peuvent changer, ne les interprétez pas par programme.
  • type : URI stable propre au code. Ouverte dans un navigateur, elle mène à ce guide.
  • Membres supplémentaires (reasons, conflictingId, expectedTotalTTC…) : propres à chaque code, listés après « Champs : » dans le catalogue.
  • errors[] accompagne les refus de champs : chaque élément porte un pointer (RFC 6901 : /startAt, /options/0/optionId), un code stable et un detail.
  • requestId : identifiant de la requête, aussi dans l’en-tête X-Request-Id. Joignez-le à toute demande à contact@lexio.rent.
  • Retry-After (secondes) accompagne les codes qu’on peut renvoyer tels quels (« Rejouable après Retry-After » dans le catalogue). Les autres ne réussiront pas à l’identique, sauf 500 (voir Idempotence et reprise).
Une opération ne répond que par les codes qu’elle déclare dans la référence, plus un socle commun (clé, scope, plan, débit, validation, erreur interne). Un même refus porte le même statut et le même code sur toutes les opérations.

Que faire selon le statut

Catalogue des codes

Valeurs des champs énumérés

  • RESOURCE_IN_USE, blockers[].code : RENTALS, ACTIVE_RENTALS, INCIDENTS, CONTRAVENTIONS, MAINTENANCE_RECORDS, INSPECTIONS, VEHICLE_CHECKS, VEHICLE_BLOCKS, VEHICLES, DEPOSITS, DEDUCTIBLES, INVOICES, FINALIZED_ACCOUNTING_INVOICES, PAYMENTS_HELD, DEPOSITS_HELD, SALES_QUOTES, SEASON_CALENDAR_DAYS.
  • VEHICLE_UNAVAILABLE, reasons[] : BOOKED, BLOCKED, BUFFER, INACTIVE, ARCHIVED, BREAKDOWN, MAINTENANCE_OVERDUE, NO_PRICING_CATEGORY.
  • VEHICLE_UNAVAILABLE, conflicts[].kind : RENTAL, VEHICLE_BLOCK.
  • BOOKING_RULE_VIOLATION, rule : LEAD_TIME, HORIZON, MIN_DURATION, CLOSED_DAY, OUTSIDE_HOURS.
  • PAYMENT_NOT_VERIFIED, reason : PI_NOT_FOUND, PI_NOT_SUCCEEDED, PI_ALREADY_USED, PI_RENTAL_MISMATCH, CURRENCY_MISMATCH, AMOUNT_MISMATCH, CONNECT_NOT_CONFIGURED.
  • PRICING_CHOICE_NOT_AVAILABLE, availablePricingChoices[].pricingChoice : KEEP_ORIGINAL_PRICE, APPLY_LOWER_PRICE, APPLY_NEW_PRICE, APPLY_PRORATA.
  • PROMO_CODE_REJECTED, reason : NOT_FOUND, NOT_STARTED, EXPIRED, EXHAUSTED, BELOW_MIN_DURATION, CATEGORY_NOT_ELIGIBLE, NO_DISCOUNT.
  • VAT_REVERSE_CHARGE_NOT_ALLOWED, reason : NOT_ENABLED, ORGANIZATION_VAT_NUMBER_MISSING, CUSTOMER_VAT_NUMBER_MISSING.
  • RATE_LIMITED, limit : PRE_AUTH, PER_KEY, WRITE, QUOTE.
  • SERVICE_UNAVAILABLE, dependency : PAYMENT_PROVIDER, FILE_STORAGE, ACCOUNTING, EMAIL.
Le sens des valeurs de PAYMENT_NOT_VERIFIED.reason est détaillé dans Intégration d’une plateforme de réservation ; action et allowedStatuses de RENTAL_STATUS_NOT_ALLOWED dans Cycle de vie d’une location.