- Marktplatz- und Shopsystem für Teile
- Software, über die Fahrzeugteile angeboten und gekauft werden: Marktplätze mit vielen Verkäufern, Shopsysteme einzelner Händler oder Verwerter, Plattformen mit Anbindung per Feed. Betrieben wird sie von einem Softwareanbieter; die Angebote stammen von Verwertern, Teilehändlern und Autohäusern, die Käufer sind Werkstätten, Flotten und Privatkunden. Zwischen Datensatz und Suche liegen Felder, die fehlen oder von Hand ergänzt werden — dort setzt die Schnittstelle an.
Wo im Prozess Daten fehlen
Ein Marktplatz ist so gut wie die Datensätze seiner Verkäufer, und die kommen selten vollständig an. Was der Verkäufer nicht liefert, muss die Plattform ergänzen oder leer lassen — und leere Felder kosten Sichtbarkeit, siehe Bestandsdaten für Marktplätze. Die typischen Stellen:
- Beim Einstellen. Der Verkäufer trägt eine OE-Nummer ein, aber keine Artikelart und keine Vorgängernummern. Die Kategorie kommt aus einem Aufklappmenü, und Käufer suchen mit der Nummer auf ihrem ausgebauten Teil — die ist oft älter als die im Angebot.
- Bei mehrsprachigen Angeboten. Die Teilebezeichnung wird je Sprache von Hand übersetzt oder bleibt in der Ausgangssprache stehen.
- Bei den Bildern. Aufnahmen aus der Halle haben unruhige Hintergründe, und der Zustand steht als Freitext daneben, den niemand einheitlich vergibt.
- Nach dem Einstellen. Ob ein angebotenes Teil von einem Rückruf betroffen ist, prüft niemand, weil die Register nicht an den Bestand angeschlossen sind.
- Auf der Käuferseite. Ob das Teil zum Fahrzeug des Käufers passt, wird per Rückfrage geklärt oder gar nicht — und die Retoure entsteht nach dem Versand.
Was die Schnittstelle liefert
| Prozessschritt | Aufruf | Ergebnis |
|---|---|---|
| Angebot anlegen | GET /parts/oe/{oeNumber} | Normalisierte Nummer, genau eine tapiGenArt, Ersetzungskette, Fitment, VDI-4081-Zuordnung; 404 ohne bestätigten Basistreffer |
| Suchfelder füllen | GET /parts/oe/{oeNumber}/seo | SEO-Anreicherung je Sprache und Marktplatz mit Produkt-, Inhalts- und Merkmalsfeldern |
| Bezeichnung übersetzen | GET /translation/translations | Genau eine Teilebezeichnung in die unterstützten Zielsprachen — keine Titel, Sätze oder Listen |
| Bild freistellen | POST /vision/part/remove/bg | PNG mit Alpha oder Weiß; die Bildpunkte des Teils bleiben unverändert; found=false, wenn nicht abgrenzbar |
| Zustand einstufen | POST /vision/part/quality | Stufe A, B oder C aus 1–3 Aufnahmen, nur Sichtprüfung (visualOnly); gradable=false mit reason |
| Rückrufe prüfen | POST /recalls/parts | Bis zu 100 Positionen je Aufruf gegen die Rückrufregister; je Position Status, Maßnahmen, Konfidenz |
| Passung im Warenkorb | POST /vin/cart-check | Bis zu 30 OE-Positionen gegen die VIN des Käufers; je Position fits, dazu complete für die Belastbarkeit |
Ein Ablauf von Anfang bis Ende
- Der Verkäufer stellt ein Teil ein. Ihre Software ruft
GET /parts/oe/{oeNumber}auf. Kommt200, übernehmen Sie die normalisierte Nummer, dietapiGenArtals Grundlage der Kategorie und die Ersetzungskette in das Nummernfeld — siehe GenArt-Nummer. Kommt404, gab es keinen bestätigten Basistreffer: Das Angebot wird trotzdem angelegt, die Felder bleiben leer. - Suchfelder und Sprachfassungen.
GET /parts/oe/{oeNumber}/seoliefert Produkt-, Inhalts- und Merkmalsfelder für Sprache und Marktplatz. Die Teilebezeichnung geht einzeln durchGET /translation/translations. - Bilder aufbereiten. Jede Aufnahme des Verkäufers läuft durch
POST /vision/part/remove/bg; das Modell bestimmt nur den Umriss, das Zusammensetzen geschieht im Code. Ein bis drei Aufnahmen desselben Teils gehen anPOST /vision/part/qualityund liefern eine Stufe, die Sie als Sichtprüfung kennzeichnen — siehe Teilebilder. - Neuteile ohne Aufnahme. Für Neuteile ohne eigenes Foto startet
POST /vision/part/generateeinen Produktbild-Job. Standard istreferences_required; werknowledge_onlywählt, bekommtbasis=knowledgeundpartIdentityVerified=falsezurück und zeigt das Bild als Darstellung, nicht als Foto. - Nächtlicher Rückrufdurchlauf. Ein Job schickt den aktiven Bestand in Paketen von bis zu 100 Positionen an
POST /recalls/parts, mitvehicle.makeundvehicle.model, wo bekannt. Betroffene Angebote bekommen einen Hinweis und eine Aufgabe für den Verkäufer. - Der Käufer legt in den Warenkorb. Gibt er seine VIN an, prüft
POST /vin/cart-checkbis zu 30 Positionen dagegen —mode=typefür den Fahrzeugtyp,mode=vehiclefür das konkrete Fahrzeug.fits=falsemitcomplete=trueist ein abschließendes Nein;complete=falsebleibt eine offene Frage — siehe Gebrauchtteile online verkaufen.
curl \ -H 'X-Api-Key: <API_KEY>' \ 'https://api.tapinomahub.com/parts/oe/5Q0919275C'
Der Einbau
- Schlüssel serverseitig hinterlegen. Der Schlüssel im Header
X-Api-Keygehört in die Konfiguration Ihres Backends — nie in den Browser, nie in einen Feed, nie in ein Verkäuferkonto. Der Weg von Vertrag bis Go-live steht in der Dokumentation. - Mit einem Endpunkt beginnen. Für Marktplätze ist das
GET /parts/oe/{oeNumber}beim Einstellen: ein Aufruf, drei gefüllte Felder, sofort messbar an der Nummernsuche. - Feldzuordnung festlegen.
tapiGenArtauf Ihre Kategorie, die Ersetzungskette in das Nummernfeld,part.manufacturerundpart.namein die Angebotsfelder — und jedes Feld, dasnullliefert, bleibt bei Ihnen leer. - Fehlerfall und Leerbefund trennen.
404beim OE-Abgleich,found=falsebeim Freistellen undgradable=falsebei der Zustandsstufe sind Leerbefunde: Angebot anlegen, Feld leer lassen, Aufgabe erzeugen. Nur ein technischer Fehler wird wiederholt. - Antworten mit 202 abholen.
POST /vin/cart-checkundPOST /vision/part/generateantworten bei längeren Vorgängen mit202,Location,Retry-Afterund einer Job-ID. Der Status kommt ausGET /vin/cart-check/jobs/{jobId}beziehungsweiseGET /vision/part/generation-jobs/{jobId}— im Abstand vonRetry-After. - Ausrollen und beobachten. Erst eine Verkäufergruppe, dann alle.
GET /client/usagezeigt, welche Aufrufe wie oft laufen; der HeaderX-Tapinoma-Usage-Warningmeldet sich, bevor das Guthaben ausgeht.
Worauf zu achten ist
- Idempotency-Key setzen. Läuft ein Aufruf nach einem Neustart doppelt, wird die Wiederholung über den Header
Idempotency-Keyerkannt und im AntwortheaderX-Tapinoma-Idempotent-Replayausgewiesen. Ausnahme: Aufrufe, die einen Schlüssel einmalig ausgeben — nach einem Timeout Bestand abgleichen statt erneut anlegen. - Leere Felder nicht füllen. Ein
nullinpart.listPriceist eine Aussage. Wer daraus einen Platzhalter macht, erzeugt die Retouren, die die Sichtbarkeit wieder aufzehren. - SEO-Inhalte nicht als Passung anzeigen. Die SEO-Anreicherung erstellt Veröffentlichungstexte und Artikelmerkmale. Eine Passungsaussage muss aus dem dafür vorgesehenen Teile- oder VIN-Abgleich stammen.
- tapiId speichern. Hat ein Käuferkonto ein Fahrzeug über einen VIN-Ablauf abgeglichen, behalten Sie die
tapiId;GET /vehicles/{tapiId}liefert die technischen Daten als Bestandteil des zuvor bezahlten VIN-Ablaufs, ohne VIN und ohne Ausstattung. - Ergebnisse speichern, nicht bei jedem Seitenaufruf abfragen. Was
GET /parts/oe/{oeNumber}liefert, gehört an die Nummer in Ihrer Datenbank; jede Anfrage wird aus dem Guthaben berechnet. - Schlüssel nie im Browser. Auch der Warenkorb-Check läuft über Ihr Backend; die VIN des Käufers steht nie in einer Seiten-URL. Rate-Limits je Workspace begrenzen einen Feed, der nachts alles neu einstellt.
- Ergebnis vor Veröffentlichung prüfen. Die SEO-Anreicherung ist zur Prüfung gedacht, nicht zur ungesehenen Ausspielung. Die Verwendung der Ergebnisse liegt beim Kunden.
Was die Schnittstelle nicht tut
Die Schnittstelle liefert Abgleiche und Analysen, keinen Datenbestand: Geschuldet ist die Abfrage, die Verwendung und Prüfung der Ergebnisse liegt bei Ihnen und Ihren Verkäufern. Die Preisbewertung aus GET /parts/oe/{oeNumber}/price ist indikativ und keine Preisgarantie. Die Zustandsstufe ist eine Sichtprüfung, kein Gutachten; ein Kennzeichen auf einem Bild führt zu keiner Halterabfrage. Fahrzeugdaten von Provider 1 werden von Drittsystemen nicht direkt abgerufen — dafür gibt es den Browser-Redirect über POST /vin/redirect-sessions, dessen Session nach zehn Minuten verfällt und weder Fahrzeug- noch Zugangsdaten enthält. Und wo die Quellen nichts hergeben, bleibt das Feld leer — eine Referenz ist keine Passung, und eine Aufnahme ohne belastbare Aussage bekommt keine Stufe.
Häufige Fragen
Muss jeder Verkäufer einen eigenen Vertrag mit tapinomahub schließen?
Nein. Der Marktplatz legt über POST /client/partner-workspaces je Verkäufer einen getrennten, einzeln abrechenbaren Workspace an — ein Vertrag, viele Mandanten.
Was passiert bei einer OE-Nummer ohne Treffer?
GET /parts/oe/{oeNumber} antwortet mit 404. Das ist ein Leerbefund, kein Fehler: Das Angebot wird angelegt, die Anreicherungsfelder bleiben leer, und der Verkäufer bekommt eine Aufgabe.
Darf ich die SEO-Anreicherung als „passt auch für“ anzeigen?
Nein. Sie erzeugt Veröffentlichungstexte und Artikelmerkmale, aber keinen Passungsnachweis. Dafür ist der Teile- oder VIN-Abgleich vorgesehen.
Wird das freigestellte Bild neu gezeichnet?
Nein. POST /vision/part/remove/bg bestimmt nur den Umriss; die Bildpunkte des Teils stammen unverändert aus der Aufnahme. Ein Bild aus POST /vision/part/generate im Modus knowledge_only ist dagegen eine gekennzeichnete Darstellung.
