- Logiciel de gestion de flotte
- Un logiciel de gestion de flotte gère les véhicules sur tout leur cycle de vie : entrée au parc, affectation aux conducteurs et aux sites, entretien, sinistres, restitution et sortie. Il est utilisé par les loueurs, les flottes d’entreprise, les collectivités et les gestionnaires de parc — et de plus en plus par les concessionnaires et centres VHU qui reprennent des véhicules de flotte. Cette page s’adresse aux éditeurs de ces logiciels.
Où les données manquent dans le processus
Un logiciel de flotte vaut ce que valent ses données de base. En pratique, elles naissent là où quelqu’un retape un document ou rattache une photo à la main. Lacunes typiques :
- À l’entrée au parc. Le certificat d’immatriculation est retapé — pour les flottes internationales à partir de documents dont la mise en page change selon le pays. Les erreurs de VIN, de codes de type ou de première immatriculation se propagent dans chaque analyse ultérieure. Voir Certificat d’immatriculation : les champs qui comptent.
- Dans les déclarations de sinistre. Une photo arrive avec une plaque mais sans identifiant véhicule ; quelqu’un cherche la plaque dans le parc et l’affecte.
- Pour les rappels. Courriers constructeur et avis des registres sont vérifiés à la main, souvent seulement quand un conducteur pose la question.
- À la restitution. L’état est coché sur un formulaire, les photos restent à côté sans structure ; en cas de litige, le lien entre constat et photo manque.
- À la sortie du parc. Vente, export ou traitement se décident sans base chiffrée — et sans se demander si le véhicule est juridiquement encore une marchandise. Voir Occasion ou VHU ? La frontière qui décide de l’exportation.
Ce que l’API fournit
| Étape | Appel | Résultat |
|---|---|---|
| Entrée, certificat allemand | POST /scanner/document/registration | Champs du certificat d’immatriculation partie I, structurés |
| Entrée, document de 32 pays | POST /scanner/document/registration/international | Champs de base normalisés plus chaque champ lu dans fields avec l’imprimé dans sourceValue |
| Identifier le véhicule | GET /vin/{vin}/vehicle | Données véhicule et tapiId stable ; fournisseur 1 via le parcours de redirection |
| Affecter une plaque | POST /vision/license-plate | Caractères, forme de comparaison, pays, confiance et position — sans recherche de titulaire |
| Vérifier les rappels | GET /recalls/vehicles/{vin} | Par mesure : référence, registre, défaut, remède, indicateur stop-drive, confiance |
| Documenter la restitution | POST /vision/condition-report | Constats par zone dans un ordre fixe, note globale A/B/C |
| Sortir du parc | POST /vision/vehicle/elv-classification, GET /vin/{vin}/economic-evaluation | Qualification VHU ; potentiel de recette min/average/max et classement de démontage |
Un déroulé de bout en bout
- Entrée au parc. Le document d’immatriculation est transmis en image ou PDF par
fileUrlàPOST /scanner/document/registration/international. Les champs de base normalisés remplissent les données de base,sourceValueconserve l’imprimé. Noms, adresses, plaques et VIN ne sont jamais traduits. - Identification. Le VIN reconnu part vers
GET /vin/{vin}/vehicle; les fournisseurs 2 et 3 répondent directement, le fournisseur 1 répond aux systèmes tiers parredirect_required. Le back-end crée alors une session viaPOST /vin/redirect-sessionsà partir devin,returnUrletstateet envoie l’utilisateur versredirectUrl; le rapprochement a lieu dans l’interface tapinoma, le retour portestatus=completed,tapiIdetstate— jamais de données véhicule. La session expire après dix minutes. Structure du numéro dans VIN : lire, vérifier et exploiter le numéro d’identification. - Exploitation. Une déclaration de sinistre arrive avec une photo.
POST /vision/license-platerenvoie, à partir de 3 prises de vue au plus, les caractères, une forme de comparaison et le pays en ISO 3166-1 alpha-2 ; la forme de comparaison est rapprochée du parc. - Rappels. Un passage nocturne appelle
GET /recalls/vehicles/{vin}pour le parc ; le VIN n’est résolu qu’à partir du propre stock déjà rapproché, sans appel à un fournisseur. Une mesure avec indicateur stop-drive crée un blocage et une tâche. - Restitution. Jusqu’à 8 prises de vue du tour du véhicule partent vers
POST /vision/condition-report. Les constats par zone — avant, flanc gauche, flanc droit, arrière, toit, habitacle, compartiment moteur, autres — et la note globale vont dans le procès-verbal ; quelle photo correspond à quelle zone, c’est le logiciel de flotte qui le consigne lui-même, la réponse n’indique queimageCount. - Sortie du parc.
POST /vision/vehicle/elv-classificationétablit à partir de 1 à 10 prises de vue s’il existe un soupçon de VHU ;gutachten_empfohlensignifie qu’une expertise doit porter la décision. Pour vendre ou faire traiter,GET /vin/{vin}/economic-evaluationavecprovider=1fournit le potentiel de recette des pièces enmin,averageetmax—200immédiatement si la liste de pièces et les évaluations sont déjà disponibles, sinon202avec un identifiant de tâche et le résultat viaGET /vin/economic-evaluation/jobs/{jobId}. Contexte dans Véhicules accidentés : épave, valeur résiduelle et intérêt pour le centre et Achat de véhicules : ce que vaut réellement un VHU.
curl \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{"fileUrl": "<FILE_URL>"}' \
'https://api.tapinomahub.com/scanner/document/registration/international'L’intégration
- Garder la clé côté serveur. La
X-Api-Keyréside dans la configuration du back-end. Applications conducteur et navigateurs parlent à votre serveur, jamais à l’API directement. - Commencer par un point d’entrée. Pour un logiciel de flotte, c’est le plus souvent la lecture du document d’immatriculation à l’entrée ; qui dispose d’un stock de VIN rapprochés commence par les rappels.
- Définir la correspondance des champs. Quel champ du document remplit quel champ des données de base ?
fieldsetsourceValuesont conservés, chaque champ porte sa provenance : document, rapprochement ou saisie. - Distinguer résultat vide et erreur.
404 vehicle_not_foundest un résultat vide au sens métier, pas une erreur technique ; un champnullreste vide et génère une tâche. Une analyse d’image effectuée est facturée même sans résultat. - Récupérer les appels longs. Un
202porteLocation,Retry-Afteret un identifiant de tâche. Le back-end interroge le point d’entrée de tâche et écrit le résultat dès qu’il est là. - Déployer par étapes. Un client d’abord, puis tous.
GET /client/usagemontre quels appels tournent et à quelle fréquence ;X-Tapinoma-Usage-Warningsignale un solde qui baisse.
Points de vigilance
- Poser `Idempotency-Key`. Un appel répété après une coupure réseau ne doit pas déclencher une seconde analyse ;
X-Tapinoma-Idempotent-Replaysignale la répétition. Les appels qui délivrent une clé ne sont pas rejoués — après un délai dépassé, rapprocher le stock viaGET /client/users. - Laisser vides les champs vides. Ce que document ou image ne donnent pas revient en
null. Une valeur par défaut plausible est plus dangereuse qu’un manque visible. - Enregistrer la `tapiId`. Elle est stable, et
GET /vehicles/{tapiId}fournit les données techniques dans le cadre du parcours VIN déjà facturé — sans second rapprochement à chaque ouverture du dossier. - Jamais la clé dans le navigateur. Ni dans une application conducteur, ni dans une borne sur site.
- Limites de débit par client. Le passage des rappels a sa fenêtre horaire, et
PUT /client/users/{clientId}/rate-limitsplafonne ce qu’un utilisateur seul peut déclencher. - Vérifier les résultats. La confiance sur la plaque, la confiance de correspondance sur le rappel et
A/B/Csur l’état sont des indications de fiabilité, pas des décisions. Ce qui est dû est l’analyse, l’usage revient au client — cadre juridique dans Données dans un VHU : ce qui reste dans l’infodivertissement.
Ce que l’API ne fait pas
Elle n’identifie pas de titulaire : POST /vision/license-plate lit la plaque sur la photo, sans confrontation à un registre ni à un fichier de titulaires. Elle ne remplace pas une expertise : le rapport d’état est un contrôle visuel sans calcul de réparation ni de valeur résiduelle, et gutachten_empfohlen veut dire exactement cela. Elle ne garantit aucun prix : l’analyse de rentabilité donne un potentiel de recette issu de références de marché, pas un prix de vente. Le contrôle des rappels est une aide de travail au niveau de la série, pas une déclaration du constructeur propre au véhicule. Le fournisseur 1 n’est accessible aux systèmes tiers que par le parcours de redirection. Et elle ne vend aucune base de données : ce qui est dû est l’analyse et la restitution du résultat. Ce qui part au traitement peut être accompagné d’attributs prouvés — voir CO₂ et pièces d’occasion : ce qu’on peut dire sérieusement.
Questions fréquentes
L’API peut-elle nommer le titulaire d’une plaque ?
Non. POST /vision/license-plate lit les caractères, la forme de comparaison et le pays sur la photo. Ni recherche de titulaire ni confrontation à un registre ; l’affectation se fait dans votre propre parc.
Pourquoi le fournisseur 1 répond-il redirect_required ?
Parce que le fournisseur 1 ne peut pas être interrogé directement par des systèmes tiers. Le back-end crée une session via POST /vin/redirect-sessions, l’utilisateur fait le rapprochement dans l’interface tapinoma, le retour porte la tapiId. Les fournisseurs 2 et 3 sont interrogeables directement.
Une analyse d’image est-elle facturée si rien n’est reconnu ?
Oui. Ce qui est facturé est l’analyse effectuée, pas le résultat positif. Un résultat vide n’est pas une erreur ; un remboursement n’intervient que si l’analyse n’a pas pu être fournie.
Comment connecter de nombreux clients flotte avec une facturation séparée ?
Via POST /client/partner-workspaces : un appel par client final avec externalReference, sa propre clé et l’activation via endpointKeys. Un contrat, de nombreux espaces facturables séparément.
