Véhicules (vitrine)
Ces endpoints acceptent la clé d'API ou le ?garageSlug=public du garage. Seuls les véhicules publiés sont exposés ; les champs internes (prix d'achat, VIN, plaque, notes) ne sont jamais renvoyés.
Lister les véhicules
GET
/api/public/fleet| Paramètre | Effet |
|---|---|
| type | sale (vente) ou rental (location) |
| brand | Filtre par marque |
| search | Marque, modèle ou titre |
| minPrice / maxPrice | Fourchette (prix de vente ou tarif/jour) |
Requête
curl "https://app.mooteck.com/api/public/fleet?type=sale&brand=Yamaha" \
-H "x-api-key: <VOTRE_CLE_API>"Réponse 200
{
"data": [
{
"id": "clx...", "slug": "yamaha-mt-07-2021", "fleetType": "SALE",
"brand": "Yamaha", "model": "MT-07", "year": 2021,
"fuelType": "Essence", "color": "Bleu", "mileage": 12000,
"sellingPrice": 6900, "dailyRate": null, "weeklyRate": null,
"monthlyRate": null, "deposit": null, "status": "AVAILABLE",
"photos": ["https://..."], "publicTitle": "Yamaha MT-07",
"publicDescription": "Très bon état..."
}
]
}Détail d'un véhicule
GET
/api/public/fleet/{slug}Renvoie { "data": { ...véhicule } }. Pour un véhicule en location, un champ availability liste les périodes déjà réservées ([{ "start", "end" }], ISO 8601).404 si le slug est inconnu.
Créer une demande (lead)
POST
/api/public/fleet/leadEnregistre une demande de contact (achat ou location) et notifie le garage par email. email ou téléphone est requis. Inclure un champwebsite (honeypot) : s'il est rempli, la requête est ignorée silencieusement.
Limite de débit
5 requêtes / minute / IP. Au-delà :429. Pour une location avec dates, une période indisponible renvoie 409.Requête
curl -X POST https://app.mooteck.com/api/public/fleet/lead \
-H "Content-Type: application/json" \
-d '{
"garageSlug": "garage-dupont",
"vehicleSlug": "yamaha-mt-07-2021",
"name": "Marie",
"email": "marie@example.be",
"message": "Intéressée par ce modèle",
"startDate": "2026-08-01",
"endDate": "2026-08-05"
}'Réponse 201
{ "ok": true }