- Logiciel de gestion d’atelier — DMS et logiciel d’atelier
- Un logiciel de gestion d’atelier (aussi dealer management system, DMS, ou logiciel d’atelier) réunit ordre de réparation, véhicule, client, commande de pièces et facture dans un seul programme. Il est utilisé par les garages indépendants et de marque, les concessions avec après-vente, les ateliers de flotte et les carrosseries. Cette page s’adresse aux éditeurs de ces logiciels et décrit où, dans l’ordre, des données sont aujourd’hui ressaisies ou devinées et quel appel de l’API remplace cela.
Où les données manquent dans le processus
Un ordre de réparation commence par un véhicule et finit par une facture. Entre les deux, le logiciel ignore ce qu’il devrait savoir, et un collaborateur complète depuis le catalogue ou par téléphone :
- La commande de pièces part avant que la compatibilité soit vérifiée. Le conseiller service reporte les références OE du catalogue dans l’ordre. Si elles conviennent à ce véhicule précis avec cet équipement précis, on le voit au montage — ou au retour.
- La référence OE des documents du client est une référence antérieure. La référence sur la facture ou l’ancienne pièce apportée a été remplacée. Laquelle vaut aujourd’hui, quelqu’un le cherche à la main — voir Référence OE : bien lire une référence d’origine.
- La pièce déposée porte une étiquette que personne ne recopie. Les références pièce et équipementier du calculateur remplacé finissent en photo dans l’ordre, pas en données — voir Calculateurs d’occasion : codage, antidémarrage, annonce.
- Les rappels ne sont pas recoupés pendant la visite. Le véhicule est sur le pont ; une campagne de rappel ouverte serait un second ordre, mais le logiciel n’en sait rien.
- La désignation de la pièce n’existe que dans une langue. Une entreprise avec des clients ou des fournisseurs à l’étranger traduit elle-même les désignations sur la facture.
Ce que l’API fournit
| Étape du processus | Appel | Résultat |
|---|---|---|
| Vérifier les pièces avant la commande | POST /vin/cart-check avec mode=vehicle | Par ligne fits=true|false ; complete au niveau de la réponse ; un fits=false n’est définitif qu’avec complete=true ; jusqu’à 30 lignes |
| Situer une référence OE | GET /parts/oe/{oeNumber} | Référence normalisée, chaîne de remplacement, famille de références, une seule tapiGenArt, affectation VDI 4081 |
| Nettoyer une référence de l’ordre | GET /parts/oe/normalize | matched, unresolved, ambiguous ou invalid plus références de remplacement documentées |
| Nommer des alternatives adaptables | GET /parts/oe/{oeNumber}/aftermarket-references | Liste des références ; vide s’il n’y en a pas ; aucune garantie de compatibilité |
| Lire l’étiquette de la pièce déposée | POST /scanner/label/extract-partnumbers | Références pièce et équipementier issues de l’image de l’étiquette |
| Recouper les rappels pendant la visite | GET /recalls/vehicles/{vin} | Par mesure : dossier, registre, défaut, remède, indicateur stop-drive, confiance |
| Traduire une désignation de pièce | GET /translation/translations | Une seule désignation dans les langues cibles prises en charge |
Un déroulé de bout en bout
- Créer l’ordre, recouper le véhicule. L’atelier saisit le VIN. Les fournisseurs 2 et 3, votre système les interroge directement par
GET /vin/{vin}/vehicle. Pour le fournisseur 1, votre serveur crée une session parPOST /vin/redirect-sessionsà partir devin,returnUrletstateet envoie le conseiller service vers laredirectUrl; le retour apportestatus=completedavectapiIdetstate— oustatus=cancelled. La session expire après dix minutes ; aucune donnée véhicule ou d’accès ne figure dans la redirection. - Charger les données véhicule incluses.
GET /vehicles/{tapiId}fournit les données techniques du véhicule pour l’écran de l’ordre dans le cadre du parcours VIN déjà facturé — sans VIN ni équipement et sans commander un nouveau rapprochement. - Vérifier les rappels tant que le véhicule est là.
GET /recalls/vehicles/{vin}recoupe la série avec le Kraftfahrt-Bundesamt, EU Safety Gate et la NHTSA. Une mesure ouverte apparaît dans l’ordre avec dossier, remède et indicateur stop-drive. - Situer les pièces de l’ordre. Chaque référence OE passe par
GET /parts/oe/{oeNumber}. Reviennent la chaîne de remplacement, latapiGenArtcomme GenArt pour la famille de produits et, souspart, les champsmanufacturer,nameetlistPrice, qui peuvent êtrenullet restent alors vides. Sans correspondance de base confirmée, l’appel répond404. - Vérifier la compatibilité avant de commander. Toutes les lignes partent ensemble vers
POST /vin/cart-checkavecmode=vehicle, jusqu’à 30 par appel. Chaque ligne renvoiefits;completefigure une seule fois au niveau de la réponse et dit si la liste de pièces du véhicule était complète. Aveccomplete=true, les lignes avecfits=falsesont signalées avant la commande ; aveccomplete=false, chaque non de cette vérification reste une question ouverte. Si le service répond202, votre système récupère le résultat parGET /vin/cart-check/jobs/{jobId}. - Proposer des alternatives et des pièces d’occasion. Pour une ligne sans compatibilité ou sans disponibilité,
GET /parts/oe/{oeNumber}/aftermarket-referencesfournit des candidats de recherche du marché indépendant, pas une garantie de compatibilité. Une pièce d’occasion d’un centre VHU est une option de plus ; les informations dont l’atelier a besoin sont dans Les garages comme clients : ce que le professionnel attend d’autre. - Saisir la pièce déposée. Le mécanicien photographie l’étiquette ;
POST /scanner/label/extract-partnumberslit les références pièce et équipementier et les range dans l’ordre. Ce qui n’est pas lisible sur l’image reste un vide.
curl \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{"vin":"<VIN>","mode":"vehicle","oeNumbers":["5Q0919275C"]}' \
'https://api.tapinomahub.com/vin/cart-check'L’intégration
- Garder la clé côté serveur. La
X-Api-Keyva dans la configuration de votre serveur, jamais dans l’interface d’atelier ni dans une application mobile. Dans une installation sur site, un service sur le serveur de l’atelier passe les appels. - Commencer par un point d’entrée. Pour cette catégorie de logiciels, c’est
POST /vin/cart-check: il agit là où les erreurs coûtent le plus et n’a besoin que de données que l’ordre contient déjà. - Définir la correspondance des champs.
fitsdans la ligne de l’ordre, lecompletede la réponse sur toutes les lignes de cette vérification,tapiGenArtdans la famille de produits, la référence actuelle de la chaîne de remplacement dans un champ propre à côté de la référence saisie. Cette correspondance est le vrai travail. - Séparer résultat vide et panne.
404 vehicle_not_foundou une liste de références vide sont des résultats métier : l’ordre reste, le champ reste vide, une indication apparaît. Une erreur technique déclenche une reprise ou une tâche de suivi — jamais une valeur par défaut. - Prévoir la récupération après `202`. Les vérifications longues répondent
202avecLocation,Retry-Afteret un identifiant de job. Votre système interrogeGET /vin/cart-check/jobs/{jobId}sans bloquer l’écran de l’ordre. - Déployer et observer. Un atelier pilote d’abord, puis largement.
GET /client/usagemontre quels appels tournent et à quelle fréquence ; l’en-têteX-Tapinoma-Usage-Warningsignale un crédit faible.
Points de vigilance
- Poser un `Idempotency-Key` sur chaque POST. Un second clic sur « Vérifier » ne doit pas déclencher une seconde vérification ;
X-Tapinoma-Idempotent-Replaysignale une réponse rejouée. Exception :POST /client/partner-workspacesdélivre la clé une seule fois — après un délai dépassé, recouper parexternalReferenceau lieu de recréer. - Ne pas combler les champs vides. Si
nameoulistPricevautnull, le champ reste vide dans l’ordre. Un prix catalogue plausible venu d’ailleurs est plus dangereux qu’un manque visible. - Enregistrer la `tapiId` sur le véhicule. Elle est stable et rattache
GET /vehicles/{tapiId}au parcours VIN déjà facturé lors de la visite suivante. - Ne jamais donner la clé au navigateur. Pas même pour la redirection : votre serveur appelle
POST /vin/redirect-sessions, le navigateur ne reçoit que laredirectUrl. - Fixer des limites de débit par atelier.
PUT /client/users/{clientId}/rate-limitslimite par utilisateur, clé ou point d’entrée, pour qu’une entreprise n’épuise pas le quota des autres. - Faire vérifier le résultat, pas le transmettre tel quel.
fits=trueest un recoupement, pas une promesse de montage ; une référence adaptable est un candidat de recherche. Le logiciel affiche provenance et confiance, l’atelier décide.
Ce que l’API ne fait pas
Elle ne remplace pas le catalogue du constructeur et ne fournit pas de notice de montage. POST /vin/cart-check recoupe si une référence OE convient au véhicule ; disponibilité et prix, l’appel ne les dit pas — GET /parts/oe/{oeNumber}/price fournit une évaluation indicative, pas une garantie de prix. Le recoupement des rappels est une aide de travail au niveau de la série, pas un renseignement officiel. Aucun titulaire n’est identifié nulle part, aucune expertise n’est établie nulle part. Pour le fournisseur 1, le recoupement véhicule passe exclusivement par la redirection vers l’interface tapinoma ; un système tiers ne peut pas l’appeler directement. Ce qu’aucune source n’étaye reste vide : un résultat vide n’est pas une erreur, c’est le résultat. Ce qui est vendu est le recoupement, pas un fonds de données ; vérifier et utiliser les résultats incombe à l’atelier.
Questions fréquentes
Le logiciel d’atelier peut-il interroger directement le fournisseur 1 ?
Non. Pour le fournisseur 1, votre serveur crée une session par POST /vin/redirect-sessions et envoie l’utilisateur dans l’interface tapinoma ; la tapiId revient. Les fournisseurs 2 et 3 s’interrogent directement par GET /vin/{vin}/vehicle.
Que signifie `fits=false` quand la réponse porte `complete=false` ?
La liste de pièces du véhicule n’était pas complète ; aucun fits=false de cette vérification n’est donc une exclusion définitive. Les lignes sont signalées comme ouvertes, pas comme inadaptées — et l’atelier décide.
Une analyse sans résultat est-elle facturée ?
Un résultat vide n’est pas une erreur mais un résultat. Une analyse d’image effectuée — l’étiquette, par exemple — est facturée même si aucune référence n’était lisible ; la prestation est l’analyse. Crédit et consommation sont affichés par GET /client/credits et GET /client/usage.
Comment raccorder des ateliers qui ont déjà leur propre compte tapinomahub ?
Par une prise en charge des coûts avec PUT /client/sponsorship-grants/{grantReference} pour des points d’entrée choisis. L’atelier reste titulaire de son compte ; la facturation suit les règles du grant.
