- ERP und Warenwirtschaft im Teilehandel
- Warenwirtschafts- und ERP-Systeme führen Artikelstamm, Lager, Einkauf, Verkauf und Rechnung in einer Datenbank. Im Fahrzeugteilehandel nutzen sie Verwerter, Teilehändler und Großhändler — und der Artikelstamm ist dort die Stelle, an der Teiledaten entweder belegt oder aus dem Gedächtnis eingetragen sind. Diese Seite richtet sich an Anbieter, die eine Abfrage in ein solches System einbauen.
Wo im Prozess Daten fehlen
Ein Artikelstamm im Teilehandel entsteht selten am Stück. Er wächst aus Lieferscheinen, Etiketten, Katalogsuchen und Zurufen aus dem Lager — und an jeder dieser Stellen wird heute etwas abgetippt, geschätzt oder offen gelassen:
- Artikelanlage aus einer Nummer. Die OE-Nummer kommt vom Etikett, vom Lieferschein oder aus einem Foto in mehreren Schreibweisen. Ob
5Q0 919 275 Cund5Q0919275Cderselbe Artikel sind, entscheidet heute der Sachbearbeiter — mehr dazu unter OE-Nummer: Die Originalteilenummer richtig lesen. - Bezeichnung, Hersteller und Artikelart. Der Artikel heißt „Sensor“, weil das Feld gefüllt sein musste. Eine belegte Bezeichnung, eine Artikelart und die Ersetzungskette fehlen.
- Preisfindung. Der Verkaufspreis eines Gebrauchtteils wird aus dem Gedächtnis gesetzt, weil eine Vergleichsgrundlage im System nicht vorliegt.
- Passung im Auftrag. Ein Kunde bestellt fünf Positionen für ein Fahrzeug, und ob sie passen, klärt sich beim Einbau — oder in der Retoure.
- Etiketten im Wareneingang. Zuliefernummer, OE-Nummer und Referenzen stehen auf dem Etikett und werden per Hand in die Maske übertragen, siehe Teileidentifikation: Vom Ausbauteil zum verkaufsfähigen Datensatz.
Was die Schnittstelle liefert
| Prozessschritt | Aufruf | Ergebnis |
|---|---|---|
| Nummer bereinigen | GET /parts/oe/normalize | Normalisierte OE-Nummer mit Status matched, unresolved, ambiguous oder invalid und dokumentierten Ersatznummern |
| Artikel anreichern | GET /parts/oe/{oeNumber} | part mit Hersteller, Bezeichnung, Listenpreis, Fitment, Ersetzungskette, genau einer tapiGenArt und VDI-4081-Zuordnung |
| Preis bewerten | GET /parts/oe/{oeNumber}/price | Indikative Preisbewertung aus Vergleichs- und Marktreferenzen, keine Preisgarantie |
| Auftrag prüfen | POST /vin/cart-check | Je Position fits=true|false gegen die VIN, bis zu 30 Positionen, complete markiert ein abschließendes Nein |
| Etikett erfassen | POST /scanner/label/extract-partnumbers | Teile- und Referenznummern aus dem Etikettbild; Unlesbares bleibt leer |
| Bezeichnung übersetzen | GET /translation/translations | Genau eine Teilebezeichnung in den unterstützten Zielsprachen |
Ein Ablauf von Anfang bis Ende
- Wareneingang: Etikett fotografieren. Das ERP schickt das Bild an
POST /scanner/label/extract-partnumbersund erhält Teile- und Referenznummern. Was auf dem Bild nicht lesbar ist, kommt nicht zurück — die Analyse wird trotzdem berechnet, weil sie erbracht wurde. - Nummer bereinigen.
GET /parts/oe/normalizebringt die gelesene Nummer in die Vergleichsform;ambiguousundinvalidlanden in einer Klärliste statt im Artikelstamm. - Artikel anlegen.
GET /parts/oe/{oeNumber}liefert bei bestätigtem Treffer200mit Bezeichnung, Hersteller, Artikelart und Ersetzungskette;404heißt: kein Treffer im OE-Bestand, kein Fehler. - Preis vorschlagen.
GET /parts/oe/{oeNumber}/pricegibt eine indikative Bewertung, die der Sachbearbeiter sieht und bestätigt. Sie ersetzt nicht die Preisentscheidung. - Auftrag prüfen. Vor der Auftragsbestätigung sendet das ERP die VIN und die OE-Positionen an
POST /vin/cart-check, mitmode=typefür den Fahrzeugtyp odermode=vehiclefür das konkrete Fahrzeug. - Ausgeben. Für mehrsprachige Marktplätze und Belege übersetzt
GET /translation/translationsdie Bezeichnung; der Artikel geht mit belegten Feldern in Lager und Verkauf, siehe Lager im Verwerterbetrieb: Der Platz, der das Teil wiederfindet.
curl \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"name": "<KUNDENNAME>",
"externalReference": "erp-kunde-4711",
"endpointKeys": ["parts.oe", "vin.cart_check"],
"sponsorship": true
}' \
'https://api.tapinomahub.com/client/partner-workspaces'Der Einbau
- Schlüssel serverseitig hinterlegen. Der
X-Api-Keygehört in die Konfiguration Ihres Backends. Er darf nie in einen Browser oder ein Client-Bundle gelangen — auch nicht „nur für den Test“. - Mit einem Endpunkt beginnen. Für ein ERP ist das fast immer
GET /parts/oe/{oeNumber}hinter der Artikelanlage. Die Reihenfolge Vertrag, Schlüssel, Prozess, Go-live beschreibt der Integrationsleitfaden. - Feldzuordnung festlegen. Bezeichnung, Hersteller, Artikelart und Ersetzungskette haben feste Ziele im Stamm; die
tapiGenArtbekommt ein eigenes Feld, damit Filter und Marktplätze darauf zugreifen, siehe GenArt-Nummer: Was für ein Teil ist das eigentlich?. - Leerbefund und Fehler trennen.
404bei der OE-Abfrage ist ein fachliches Ergebnis: kein bestätigter Treffer. Das ERP legt den Artikel an, lässt die Felder leer und erzeugt eine Klärungsaufgabe. Nur ein technischer Fehler wird wiederholt. - Asynchrone Antworten abholen. Warenkorbprüfungen können mit
202,LocationundRetry-Afterantworten. Das ERP merkt sich die Job-ID und fragtGET /vin/cart-check/jobs/{jobId}ab, statt den Aufruf zu wiederholen. - Ausrollen. Zuerst bei einem Endkunden, dann in der Breite.
GET /client/usageund je WorkspaceGET /client/users/{clientId}/usagezeigen, welche Aufrufe wie oft laufen.
Worauf zu achten ist
- `Idempotency-Key` setzen. Bei wiederholbaren Aufrufen wie der Warenkorbprüfung schützt der Header vor Doppelbuchungen nach einem Timeout;
X-Tapinoma-Idempotent-Replayzeigt die Wiederholung an. Ausnahme:POST /client/partner-workspacesgibt einen geheimen Schlüssel einmalig aus und wird nicht gereplayt — nach einem Timeout den Bestand abgleichen, nicht blind wiederholen. - Leere Felder nicht füllen. Kommt
manufacturer,nameoderlistPricealsnull, bleibt das Stammdatenfeld leer, und der Artikel bekommt eine Klärungsaufgabe. Ein Standardwert im Artikelstamm ist gefährlicher als eine sichtbare Lücke. - `tapiId` speichern. Wo ein Fahrzeug über einen VIN-Ablauf abgeglichen wurde, gehört die
tapiIdin die Fahrzeugakte;GET /vehicles/{tapiId}liefert die technischen Daten als Bestandteil dieses bezahlten Ablaufs, ohne VIN und ohne Ausstattung. - Schlüssel nie im Browser. Auch ein Web-ERP ruft die API aus dem Backend auf; der Browser spricht nur mit Ihrem Server.
- Rate-Limits je Workspace setzen.
PUT /client/users/{clientId}/rate-limitsbegrenzt je Nutzer, Schlüssel oder Endpunkt, damit ein fehlerhafter Import bei einem Endkunden nicht das Kontingent aller anderen aufbraucht. - Ergebnis prüfen lassen. Preisbewertung und Passungsangaben sind Grundlagen für eine Entscheidung im ERP, nicht die Entscheidung. Der Sachbearbeiter bestätigt, das System dokumentiert, woher ein Wert stammt.
Was die Schnittstelle nicht tut
Die Schnittstelle verkauft keinen Datenbestand: Geschuldet ist die Abfrage und die Ausgabe des Ergebnisses; die Prüfung vor der Verwendung liegt beim Kunden. Die Preisbewertung ist indikativ und keine Preisgarantie. Fahrzeugdaten des Providers 1 dürfen von Drittsystemen nicht direkt abgerufen werden: GET /vin/{vin}/vehicle antwortet dort mit redirect_required, der Abgleich läuft über eine Browser-Session aus POST /vin/redirect-sessions, die nach zehn Minuten verfällt; Provider 2 und 3 sind direkt abfragbar. Eine Halterabfrage, ein Gutachten oder eine Restwertkalkulation liefert die API nicht. Und wo ein Feld nicht belegt ist, bleibt es null — die Schnittstelle rät nicht, und Ihr ERP sollte es auch nicht tun.
Häufige Fragen
Kann jeder Endkunde eine eigene Abrechnung haben?
Ja. POST /client/partner-workspaces legt je Endkunde einen eigenen, einzeln abrechenbaren Workspace an. Ob der Endkunde selbst zahlt oder der ERP-Anbieter über eine Kostenübernahme, ist je Workspace und Endpunkt einstellbar.
Was passiert, wenn eine OE-Nummer nicht gefunden wird?
GET /parts/oe/{oeNumber} antwortet mit 404. Das ist ein Leerbefund, kein Fehler: Das ERP legt den Artikel an, lässt die Felder leer und erzeugt eine Klärungsaufgabe.
Ist die Preisbewertung ein Verkaufspreis?
Nein. Sie ist eine indikative Bewertung aus Vergleichs- und Marktreferenzen und keine Preisgarantie. Den Preis setzt der Betrieb; das ERP zeigt die Bewertung als Grundlage.
Wird eine Etikett-Analyse berechnet, wenn nichts lesbar war?
Ja. Die Leistung ist die Analyse, nicht der Treffer; eine durchgeführte Analyse wird berechnet, auch wenn das Bild nichts hergab. Das ERP speichert dann ein leeres Ergebnis und gibt das Etikett zur manuellen Erfassung.
