curl et jq. Les réponses sont des extraits.
Avant de commencer
- Une clé API (
lck_…) du loueur, avec les scopesoffers.read,quotes.writeetrentals.write(Authentification et scopes). - Une organisation de test : sans bac à sable, l’étape 4 crée une vraie location et prévient le loueur. Demandez-en une à contact@lexio.rent, ou essayez avec un loueur averti.
- Un véhicule actif, dans une catégorie tarifaire qui a des prix.
1. Vérifier la clé (sans effet)
partnerCode non nul) : départ et retour tombent un jour ouvert, dans businessHours, et respectent bookingRules, sinon 422 BOOKING_RULE_VIOLATION (rule nomme la règle). Ajustez $START, $END ou l’heure ci-dessous.
2. Chercher un véhicule (sans effet)
3. Obtenir un devis (ne réserve rien)
4. Créer la location (écrit, prévient le loueur)
Idempotency-Key est obligatoire : une valeur unique par opération (un UUID de uuidgen, par exemple). partnerReference, votre numéro de commande, est unique : changez-le à chaque essai. Avec une clé interne, le client reçoit l’email de confirmation si le loueur l’a activé : mettez une adresse à vous.
201, avec l’en-tête Location :
balance.dueAmount est le reste à payer ; la caution (deposit) est à part, hors total (Montants et TVA).
5. Prévisualiser l’annulation (sans effet)
?dryRun=true rend la réponse de l’appel réel sans rien enregistrer ni exiger d’Idempotency-Key. Il existe sur les actions d’une location (annulation, report, changements, départ, retour, options).
6. Annuler
À retenir
- Le devis garantit le prix 24 h (
expiresAt), pour un seul usage, mais ne bloque pas le véhicule : à la création, la disponibilité est revérifiée (409 VEHICLE_UNAVAILABLE) et un prix qui s’écarte du devis donne409 PRICE_CHANGED, sans écriture. - L’étape 4 renvoyée avec la même
Idempotency-Keyet le même corps rend la réponse d’origine (Idempotence et reprise). - Suivre les changements faits ensuite par le loueur : Synchronisation par événements.