- Marketplace et boutique en ligne de pièces
- Logiciel par lequel des pièces automobiles sont proposées et achetées : marketplaces à vendeurs multiples, boutiques de négociants ou de centres VHU, plateformes alimentées par flux. Il est exploité par un éditeur ; les annonces viennent de centres VHU, de négociants et de concessions, les acheteurs sont des ateliers, des flottes et des particuliers. Entre fiche et recherche se trouvent des champs qui manquent ou sont complétés à la main — c’est là qu’intervient l’API.
Où les données manquent dans le processus
Une marketplace vaut ce que valent les fiches de ses vendeurs, et elles arrivent rarement complètes. Ce que le vendeur ne fournit pas, la plateforme doit le compléter ou le laisser vide — et les champs vides coûtent de la visibilité, voir données de stock pour marketplaces. Les endroits typiques :
- À la mise en ligne. Le vendeur saisit une référence OE mais ni type d’article ni références antérieures. La catégorie sort d’un menu déroulant, et les acheteurs cherchent avec la référence de leur pièce déposée — souvent plus ancienne que celle annoncée.
- Dans les annonces multilingues. La désignation de la pièce est traduite à la main par langue ou reste dans la langue d’origine.
- Dans les images. Les photos prises à l’atelier ont des fonds chargés, et l’état figure à côté en texte libre que personne n’attribue de façon homogène.
- Après la mise en ligne. Personne ne vérifie si une pièce proposée est visée par un rappel, parce que les registres ne sont pas reliés au stock.
- Côté acheteur. Savoir si la pièce convient au véhicule de l’acheteur se règle par une question ou pas du tout — et le retour survient après l’expédition.
Ce que l’API fournit
| Étape | Appel | Résultat |
|---|---|---|
| Créer une annonce | GET /parts/oe/{oeNumber} | Référence normalisée, exactement un tapiGenArt, chaîne de remplacement, classement VDI 4081 ; 404 sans correspondance confirmée |
| Remplir les champs de recherche | GET /parts/oe/{oeNumber}/seo | Enrichissement SEO par langue et marketplace avec champs produit, contenu et caractéristiques |
| Traduire la désignation | GET /translation/translations | Exactement une désignation de pièce vers les langues cibles prises en charge — ni titres, ni phrases, ni listes |
| Détourer une image | POST /vision/part/remove/bg | PNG avec alpha ou fond blanc ; les pixels de la pièce restent inchangés ; found=false si elle n’est pas délimitable |
| Classer l’état | POST /vision/part/quality | Niveau A, B ou C à partir de 1 à 3 photos, contrôle visuel seul (visualOnly) ; gradable=false avec reason |
| Vérifier les rappels | POST /recalls/parts | Jusqu’à 100 positions par appel contre les registres de rappel ; par position statut, mesures, confiance |
| Compatibilité au panier | POST /vin/cart-check | Jusqu’à 30 positions OE contre le VIN de l’acheteur ; par position fits, plus complete pour le caractère définitif |
Un déroulé du début à la fin
- Le vendeur met une pièce en ligne. Votre logiciel appelle
GET /parts/oe/{oeNumber}. Sur200, vous reprenez la référence normalisée, letapiGenArtcomme base de la catégorie et la chaîne de remplacement dans le champ des références — voir numéro GenArt. Sur404, il n’y a pas eu de correspondance confirmée : l’annonce est créée quand même, les champs restent vides. - Champs de recherche et versions linguistiques.
GET /parts/oe/{oeNumber}/seofournit les champs produit, contenu et caractéristiques pour la langue et la marketplace. La désignation passe une par une parGET /translation/translations. - Préparer les images. Chaque photo du vendeur passe par
POST /vision/part/remove/bg; le modèle ne détermine que le contour, la composition se fait dans le code. Une à trois photos de la même pièce vont àPOST /vision/part/qualityet renvoient un niveau que vous signalez comme contrôle visuel — voir photos de pièces. - Pièces neuves sans photo. Pour les pièces neuves sans photo propre,
POST /vision/part/generatelance un job d’image produit. Le mode par défaut estreferences_required; qui choisitknowledge_onlyreçoitbasis=knowledgeetpartIdentityVerified=falseet affiche l’image comme représentation, pas comme photo. - Passage nocturne des rappels. Un job envoie le stock actif par lots de 100 positions au plus à
POST /recalls/parts, avecvehicle.makeetvehicle.modelquand ils sont connus. Les annonces concernées reçoivent un avertissement et une tâche pour le vendeur. - L’acheteur ajoute au panier. S’il indique son VIN,
POST /vin/cart-checkvérifie jusqu’à 30 positions —mode=typepour le type de véhicule,mode=vehiclepour le véhicule précis.fits=falseaveccomplete=trueest un non définitif ;complete=falsereste une question ouverte — voir vendre des pièces d’occasion en ligne.
curl \ -H 'X-Api-Key: <API_KEY>' \ 'https://api.tapinomahub.com/parts/oe/5Q0919275C'
L’intégration
- Stocker la clé côté serveur. La clé de l’en-tête
X-Api-Keyva dans la configuration de votre backend — jamais dans le navigateur, jamais dans un flux, jamais dans un compte vendeur. Le parcours du contrat à la mise en production figure dans la documentation. - Commencer par un point d’entrée. Pour une marketplace, c’est
GET /parts/oe/{oeNumber}à la mise en ligne : un appel, trois champs remplis, mesurable aussitôt sur la recherche par référence. - Définir la correspondance des champs.
tapiGenArtvers votre catégorie, la chaîne de remplacement dans le champ des références,part.manufactureretpart.namedans les champs de l’annonce — et tout champ renvoyé ànullreste vide chez vous. - Distinguer échec et résultat vide.
404au recoupement OE,found=falseau détourage etgradable=falseau classement sont des résultats vides : créer l’annonce, laisser le champ vide, générer une tâche. Seule une erreur technique est relancée. - Récupérer les réponses 202.
POST /vin/cart-checketPOST /vision/part/generaterépondent aux traitements plus longs par202,Location,Retry-Afteret un identifiant de job. Le statut vient deGET /vin/cart-check/jobs/{jobId}et deGET /vision/part/generation-jobs/{jobId}— au rythme deRetry-After. - Déployer et observer. D’abord un groupe de vendeurs, puis tous.
GET /client/usagemontre quels appels tournent et à quelle fréquence ; l’en-têteX-Tapinoma-Usage-Warningprévient avant l’épuisement du crédit.
Points de vigilance
- Poser un Idempotency-Key. Si un appel tourne deux fois après un redémarrage, la répétition est reconnue via l’en-tête
Idempotency-Keyet signalée dans l’en-tête de réponseX-Tapinoma-Idempotent-Replay. Exception : les appels qui délivrent une clé une seule fois — après un délai dépassé, rapprocher l’existant au lieu de recréer. - Ne pas combler les champs vides. Un
nulldanspart.listPriceest une information. En faire un texte de substitution produit les retours qui consomment la visibilité. - Ne pas afficher le contenu SEO comme compatibilité. L’enrichissement SEO crée les textes de publication et les caractéristiques. Une affirmation de compatibilité doit venir du contrôle de pièce ou de VIN prévu à cet effet.
- Conserver le tapiId. Dès qu’un compte acheteur a rapproché un véhicule par un parcours VIN, gardez le
tapiId;GET /vehicles/{tapiId}en renvoie les données techniques dans le cadre du parcours VIN déjà facturé, sans VIN et sans équipements. - Stocker les résultats, ne pas interroger à chaque affichage. Ce que renvoie
GET /parts/oe/{oeNumber}appartient à la référence dans votre base ; chaque requête est facturée sur le crédit. - Jamais la clé dans le navigateur. Le contrôle du panier passe aussi par votre backend ; le VIN de l’acheteur ne figure jamais dans une URL de page. Des quotas par espace contiennent un flux qui republie tout chaque nuit.
- Vérifier avant publication. L’enrichissement SEO est fait pour être relu, pas pour être diffusé sans regard. L’usage des résultats revient au client.
Ce que l’API ne fait pas
L’API fournit des recoupements et des analyses, pas un jeu de données : ce qui est dû, c’est la requête ; l’usage et la vérification des résultats vous reviennent, à vous et à vos vendeurs. L’évaluation de prix de GET /parts/oe/{oeNumber}/price est indicative et ne constitue pas une garantie de prix. Le niveau d’état est un contrôle visuel, pas une expertise ; une plaque d’immatriculation sur une image n’entraîne aucune recherche du titulaire. Les données véhicule du fournisseur 1 ne sont pas récupérées directement par des systèmes tiers — il existe pour cela la redirection navigateur via POST /vin/redirect-sessions, dont la session expire après dix minutes et ne contient ni données véhicule ni données d’accès. Et là où les sources ne donnent rien, le champ reste vide — une référence n’est pas une compatibilité, et une photo sans constat fiable ne reçoit pas de niveau.
Questions fréquentes
Chaque vendeur doit-il conclure son propre contrat avec tapinomahub ?
Non. La marketplace crée via POST /client/partner-workspaces un espace séparé et facturable individuellement par vendeur — un contrat, de nombreux espaces.
Que se passe-t-il pour une référence OE sans correspondance ?
GET /parts/oe/{oeNumber} répond 404. C’est un résultat vide, pas une erreur : l’annonce est créée, les champs d’enrichissement restent vides et le vendeur reçoit une tâche.
Puis-je afficher l’enrichissement SEO comme « convient aussi à » ?
Non. Il crée des textes de publication et des caractéristiques, mais ne prouve pas la compatibilité. Utilisez pour cela le contrôle de pièce ou de VIN prévu à cet effet.
L’image détourée est-elle redessinée ?
Non. POST /vision/part/remove/bg ne détermine que le contour ; les pixels de la pièce viennent inchangés de la photo. Une image issue de POST /vision/part/generate en mode knowledge_only est en revanche une représentation signalée comme telle.
