SOOBA VEHICLES API · V1

Une API véhicule,
prête à intégrer.

Résolvez une marque et un modèle, identifiez la génération, la carrosserie et le gabarit, puis utilisez les données métier dans votre produit.

01 · DÉMARRAGE

Premier appel

Après activation de votre compte, votre espace sécurisé affiche l’URL de base, les chemins autorisés et votre clé personnelle. Ces informations ne sont pas publiées sur cette page.

curl "[URL ET CHEMIN FOURNIS DANS VOTRE ESPACE]" \
  -H "Accept: application/json" \
  -H "X-API-Key: [VOTRE_CLE]"
SécuritéNe placez jamais une clé secrète dans le JavaScript du navigateur. Faites transiter les appels par votre serveur.

02 · ACCÈS

Authentification par clé API

A

Clé personnelle

Chaque intégration utilise une clé distincte, disponible dans son espace sécurisé.

X-API-Key: [VOTRE_CLE]
B

Accès limité

Votre clé donne accès uniquement aux fonctionnalités prévues par votre offre.

Accès contrôlé côté serveur

03 · FONCTIONNALITÉS

Marques, modèles et années

L’API prend en charge les voitures et les motos, de la consultation du catalogue jusqu’à la classification en lot. Tous les appels métier exigent une clé API client active.

01

Lister les marques de voitures ou motos.

Chemin communiqué avec votre clé
02

Lister les modèles liés à une marque.

Chemin communiqué avec votre clé
03

Lister les années disponibles.

Chemin communiqué avec votre clé
04

Résoudre et classifier un véhicule.

Chemin communiqué avec votre clé
05

Décoder un VIN avant de le classifier.

Chemin communiqué avec votre clé
06

Classifier jusqu’à 100 véhicules par lot.

Chemin communiqué avec votre clé
07

Transmettre une correction terrain à valider.

Chemin communiqué avec votre clé

04 · DÉTECTION

Résoudre un véhicule

makestring · requis
modelstring · requis
yearinteger · optionnel · 1886–2100

Réponse résolue

{
  "match": {
    "make": "Dacia", "model": "Duster",
    "generation": "2018–2023", "confidence": 1
  },
  "classification": {
    "vehicle_type": "voiture", "body_type": "SUV",
    "size_class": "L", "doors": 5, "fuel": "diesel",
    "premium": false
  },
  "dimensions_mm": { "length": 4341, "width": 1804, "height": 1693 },
  "suba": { "wash_tier": "L", "price_index": 1.4,
    "est_wash_minutes": 35, "product_units": 1.5 }
}

Si aucun véhicule n’est résolu, la réponse contient match: null et un bloc fallback permettant une sélection manuelle du gabarit.

05 · VIN

Décoder avant de classifier

Envoyez un VIN de 17 caractères à POST /v1/vehicles/decode-vin. L’API contrôle son format, son WMI et sa somme de contrôle avant tout décodage.

{
  "vin": "1HGCM82633A004352"
}

La réponse reprend exactement le format de la détection. Un VIN valide mais inconnu renvoie un fallback en 200; un VIN invalide est refusé en 422.

06 · FLOTTE

Classifier plusieurs véhicules

POST /v1/fleets/classify accepte directement un tableau de 1 à 100 véhicules. Chaque résultat conserve l’index et la saisie correspondante.

[
  { "make": "Volkswagen", "model": "Golf", "year": 2020 },
  { "make": "Dacia", "model": "Duster" }
]

Une entrée non résolue contient son propre fallback et ne fait pas échouer les autres éléments du lot.

07 · CORRECTIONS

Signaler une classification à corriger

POST /v1/vehicles/feedback enregistre la saisie originale et la correction proposée. La proposition reste en attente jusqu’à sa validation manuelle par un administrateur.

{
  "make_input": "VW",
  "model_input": "Golf",
  "year_input": 2020,
  "resolved_generation_id": "[UUID_GENERATION]",
  "corrected_size_class": "M"
}
TraçabilitéUne correction ne modifie jamais automatiquement le catalogue. Sa validation et son auteur sont conservés.

08 · ERREURS

Format uniforme

{
  "error": {
    "code": "VEHICLE_NOT_FOUND",
    "message": "Véhicule introuvable.",
    "details": {}
  }
}
400 Requête invalide401 Authentification requise403 Accès interdit404 Ressource absente409 Conflit422 Validation503 Service indisponible