- ERP et gestion commerciale dans le commerce de pièces
- Les logiciels de gestion commerciale et les ERP tiennent le fichier articles, le stock, les achats, les ventes et la facturation dans une seule base. Dans le commerce de pièces automobiles, ils sont utilisés par les centres VHU, les négociants en pièces et les grossistes — et le fichier articles est l’endroit où les données pièces sont soit documentées, soit saisies de mémoire. Cette page s’adresse aux éditeurs qui intègrent une requête dans un tel logiciel.
Où les données manquent dans le processus
Un fichier articles dans le commerce de pièces se construit rarement d’un bloc. Il grandit à partir de bons de livraison, d’étiquettes, de recherches catalogue et d’appels depuis l’entrepôt — et à chacun de ces points, quelque chose est aujourd’hui ressaisi, estimé ou laissé vide :
- Créer un article à partir d’une référence. La référence OE arrive de l’étiquette, du bon de livraison ou d’une photo, en plusieurs graphies. Savoir si
5Q0 919 275 Cet5Q0919275Csont le même article relève aujourd’hui du gestionnaire — voir Référence OE : bien lire une référence d’origine. - Désignation, constructeur et type d’article. L’article s’appelle « capteur » parce que le champ devait être rempli. Une désignation documentée, un type d’article et la chaîne de remplacement manquent.
- Fixation du prix. Le prix de vente d’une pièce d’occasion est posé de mémoire, faute de base de comparaison dans le système.
- Compatibilité dans la commande. Un client commande cinq positions pour un véhicule, et leur compatibilité se règle au montage — ou au retour.
- Étiquettes à la réception. Référence fournisseur, référence OE et références croisées figurent sur l’étiquette et sont recopiées à la main dans le masque, voir Identification des pièces : de la dépose à la fiche vendable.
Ce que l’API fournit
| Étape | Appel | Résultat |
|---|---|---|
| Nettoyer la référence | GET /parts/oe/normalize | Référence OE normalisée avec statut matched, unresolved, ambiguous ou invalid et références de remplacement documentées |
| Enrichir l’article | GET /parts/oe/{oeNumber} | part avec constructeur, désignation, prix catalogue, compatibilité, chaîne de remplacement, un seul tapiGenArt, classement VDI 4081 |
| Évaluer le prix | GET /parts/oe/{oeNumber}/price | Évaluation indicative à partir de références comparatives et de marché, sans garantie de prix |
| Vérifier la commande | POST /vin/cart-check | fits=true|false par position contre le VIN, jusqu’à 30 positions, complete marque un non définitif |
| Lire une étiquette | POST /scanner/label/extract-partnumbers | Références pièce et références croisées lues sur l’image ; l’illisible reste vide |
| Traduire une désignation | GET /translation/translations | Exactement une désignation de pièce dans les langues cibles prises en charge |
Un déroulé de bout en bout
- Réception : photographier l’étiquette. L’ERP envoie l’image à
POST /scanner/label/extract-partnumberset reçoit les références pièce et les références croisées. Ce qui n’est pas lisible sur l’image n’est pas renvoyé — l’analyse est facturée malgré tout, parce qu’elle a été effectuée. - Nettoyer la référence.
GET /parts/oe/normalizemet la référence lue sous sa forme de comparaison ;ambiguousetinvalidvont dans une liste à clarifier, pas dans le fichier articles. - Créer l’article.
GET /parts/oe/{oeNumber}renvoie200pour une correspondance confirmée, avec désignation, constructeur, type d’article et chaîne de remplacement ;404signifie aucune correspondance dans le référentiel OE, pas une erreur. - Proposer un prix.
GET /parts/oe/{oeNumber}/pricedonne une évaluation indicative que le gestionnaire voit et confirme. Elle ne remplace pas la décision de prix. - Vérifier la commande. Avant la confirmation, l’ERP envoie le VIN et les positions OE à
POST /vin/cart-check, avecmode=typepour le type de véhicule oumode=vehiclepour le véhicule précis. - Publier. Pour les places de marché et documents multilingues,
GET /translation/translationstraduit la désignation ; l’article part en stock et en vente avec des champs documentés, voir Le stock en centre VHU : l’emplacement qui retrouve la pièce.
curl \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"name": "<NOM_CLIENT>",
"externalReference": "erp-client-4711",
"endpointKeys": ["parts.oe", "vin.cart_check"],
"sponsorship": true
}' \
'https://api.tapinomahub.com/client/partner-workspaces'L’intégration
- Stocker la clé côté serveur. La
X-Api-Keyva dans la configuration de votre backend. Elle ne doit jamais atteindre un navigateur ou un bundle client — pas même « juste pour le test ». - Commencer par un point d’entrée. Pour un ERP, c’est presque toujours
GET /parts/oe/{oeNumber}derrière la création d’article. L’ordre contrat, clé, processus, mise en production est décrit dans le guide d’intégration. - Définir la correspondance des champs. Désignation, constructeur, type d’article et chaîne de remplacement ont des cibles fixes dans le fichier ; le
tapiGenArtreçoit un champ à part entière pour que filtres et places de marché puissent l’exploiter, voir Numéro GenArt : de quel genre de pièce s’agit-il ?. - Distinguer résultat vide et erreur.
404sur la requête OE est un résultat métier : aucune correspondance confirmée. L’ERP crée l’article, laisse les champs vides et génère une tâche de clarification. Seule une erreur technique se réessaie. - Récupérer les réponses asynchrones. Les vérifications de panier peuvent répondre
202avecLocationetRetry-After. L’ERP mémorise l’identifiant du job et interrogeGET /vin/cart-check/jobs/{jobId}au lieu de répéter l’appel. - Déployer. D’abord chez un client final, puis en largeur.
GET /client/usageet, par espace,GET /client/users/{clientId}/usagemontrent quels appels tournent et à quelle fréquence.
Points de vigilance
- Poser un `Idempotency-Key`. Sur les appels répétables comme la vérification de panier, l’en-tête protège des doubles imputations après un délai dépassé ;
X-Tapinoma-Idempotent-Replaysignale la relecture. Exception :POST /client/partner-workspacesémet une clé secrète une seule fois et n’est pas rejoué — après un délai dépassé, rapprocher l’existant au lieu de répéter à l’aveugle. - Ne pas combler les champs vides. Si
manufacturer,nameoulistPricerevient ànull, le champ du fichier reste vide et l’article reçoit une tâche de clarification. Une valeur par défaut dans le fichier articles est plus dangereuse qu’un manque visible. - Conserver le `tapiId`. Quand un véhicule a été rapproché par un parcours VIN, le
tapiIdva dans le dossier véhicule ;GET /vehicles/{tapiId}en renvoie les données techniques dans le cadre de ce parcours facturé, sans VIN et sans équipements. - Jamais la clé dans le navigateur. Un ERP web appelle lui aussi l’API depuis le backend ; le navigateur ne parle qu’à votre serveur.
- Fixer des limites par espace.
PUT /client/users/{clientId}/rate-limitslimite par utilisateur, clé ou point d’entrée, pour qu’un import défectueux chez un client final n’épuise pas le contingent de tous les autres. - Faire vérifier le résultat. Évaluation de prix et indications de compatibilité sont la base d’une décision dans l’ERP, pas la décision. Le gestionnaire confirme, le système documente d’où vient une valeur.
Ce que l’API ne fait pas
L’API ne vend pas de base de données : ce qui est dû, c’est la requête et la restitution de son résultat ; la vérification avant usage incombe au client. L’évaluation de prix est indicative et sans garantie de prix. Les données véhicule du fournisseur 1 ne peuvent pas être appelées directement par des systèmes tiers : là, GET /vin/{vin}/vehicle répond redirect_required, et le rapprochement passe par une session navigateur issue de POST /vin/redirect-sessions, qui expire après dix minutes ; les fournisseurs 2 et 3 sont interrogeables directement. Une recherche du titulaire, une expertise ou un calcul de valeur résiduelle ne font pas partie de l’API. Et là où un champ n’est pas documenté, il reste null — l’API ne devine pas, et votre ERP ne devrait pas non plus.
Questions fréquentes
Chaque client final peut-il avoir sa propre facturation ?
Oui. POST /client/partner-workspaces crée par client final un espace distinct, facturable séparément. Que le client final paie lui-même ou que l’éditeur prenne les coûts en charge se règle par espace et par point d’entrée.
Que se passe-t-il si une référence OE n’est pas trouvée ?
GET /parts/oe/{oeNumber} répond 404. C’est un résultat vide, pas une erreur : l’ERP crée l’article, laisse les champs vides et génère une tâche de clarification.
L’évaluation de prix est-elle un prix de vente ?
Non. C’est une évaluation indicative à partir de références comparatives et de marché, sans garantie de prix. L’entreprise fixe le prix ; l’ERP affiche l’évaluation comme base.
Une analyse d’étiquette est-elle facturée si rien n’était lisible ?
Oui. La prestation est l’analyse, pas le résultat ; une analyse effectuée est facturée même si l’image n’a rien donné. L’ERP enregistre alors un résultat vide et transmet l’étiquette à la saisie manuelle.
