Praxis & Prozesse · Teilehandel

Vom Fundstück zum richtigen Teil.

Ein belastbarer End-to-End-Prozess für ERP-Anbieter, Teilehändler und Verwerter, Marktplätze sowie Integratoren – mit sauberer Mandantentrennung und nachvollziehbaren Prüfentscheidungen.

Zwei Einstiegspfade, ein konsistenter Teile-Datensatz.

01 · Idealprozess

Zwei sichere Wege zur Teileidentität

Die Pfade können einzeln funktionieren. Liegen Etikett und Spenderfahrzeug vor, werden sie zusammengeführt: Die OE-Nummer identifiziert das Teil, die VIN liefert den Fahrzeugkontext.

A

Etikett → OE-Abfrage

Optimal für ausgebaute, gelagerte oder einzeln angelieferte Teile.

  1. Bild erfassenEtikett gerade, scharf und vollständig fotografieren; Bildrecht und Übermittlungsbefugnis sicherstellen.
  2. Alle Merkmale extrahierenPOST /scanner/label/extract-all mit quality=low starten; nur bei unzureichendem Ergebnis höher gehen.
  3. Nummern als Kandidaten behandelnprimary_part_number, weitere Teilenummern, Hersteller, Variante und Produktionsdaten getrennt übernehmen.
  4. OE-Kandidaten bestätigenJede plausible Nummer über GET /parts/oe/{oeNumber} abgleichen und Ersetzungsketten beachten.
  5. Optional anreichernAftermarket-Referenzen, Preisbewertung und SEO nur nach erfolgreicher OE-Bestätigung abrufen.
  6. Prüfstatus setzenTreffer, Widersprüche und verwendete Quellen am Mandanten-Datensatz protokollieren; unklare Fälle in die manuelle Prüfung geben.
B

Fahrzeugschein → VIN & VIN-Teile

Optimal für Verwerter, Fahrzeugannahme und Teile aus bekanntem Spenderfahrzeug.

  1. Dokument erfassenFahrzeugschein nur mit gültiger Berechtigung scannen; personenbezogene Felder im Kundensystem minimieren.
  2. VIN extrahieren und prüfenPOST /scanner/vin/extract für Fahrzeugfotos oder POST /scanner/registration-document für Fahrzeugschein-Bild/PDF; VIN auf 17 Zeichen und Lesefehler prüfen.
  3. Fahrzeug abgleichenGET /vin/{vin}/vehicle. Provider 1 nutzt den dokumentierten Browser-Redirect, Provider 2 und 3 den Direktabruf.
  4. Stabile Referenz sicherntapiId, Fahrzeuganzeige und die tatsächlich verwendete Provider-Bindung am Mandanten-Fahrzeug speichern.
  5. VIN-Fahrzeug, dann VIN-TeileGET /vin/{vin}/parts ohne abweichenden Provider. Bei Provider 1 schließt der Job zwingend zuerst den Fahrzeugabgleich ab und ermittelt erst danach die Teile. Bei 202 die Job-URL gemäß Retry-After abfragen.
  6. Treffercharakter bewertenmatchLevel, fehlende Kategorien und Varianten berücksichtigen; Kandidaten sind nicht automatisch Einbaugarantien.

Zusammenführung: OE-Treffer ∩ VIN-Kontext

Übereinstimmung von bestätigter OE-Nummer und VIN-Teileliste ist das stärkste Signal. Bei Abweichung nicht automatisch korrigieren, sondern Quelle, Variante, Ersetzungskette und Teilfoto prüfen.

02 · Zielgruppen

Ein Prozess, vier Betriebsmodelle

Der fachliche Kern bleibt gleich. Verantwortlichkeit, Speichertiefe und Übergabepunkt unterscheiden sich je nach Rolle im Ökosystem.

ERP

ERP-Anbieter

Orchestriert den Prozess und speichert operative Daten strikt auf Mandantenebene.

  • Jeden ERP-Mandanten auf einen eigenen tapinoma-Workspace/API-Key und eigene Nutzungsgrenzen abbilden.
  • Hub-Konditionen nur aktiv und endpunktspezifisch über PUT /client/sponsorship-grants/{grantReference} freigeben.
  • tenant_id bei Fahrzeug, Teil, Scan-Auftrag, Prüfentscheidung und Export erzwingen.
  • Globale Stammdaten nur dort teilen, wo Vertrag und Rechte dies erlauben; keine Rohdokumente mandantenübergreifend cachen.
  • Idempotente Importjobs und fachliche Statuswerte statt bloßer „API erfolgreich“-Flags verwenden.
DMS

Teilehändler & Verwerter

Arbeitet im eigenen System; der Hub ergänzt den bestehenden Artikel- und Demontageprozess.

  • Etikettfoto direkt am Lagerplatz oder während der Demontage aufnehmen und mit interner Artikel-ID verknüpfen.
  • Spender-VIN einmal am Fahrzeug erfassen; tapiId und geprüfte Fahrzeugdaten für alle zugehörigen Teile wiederverwenden.
  • Zustand, Laufleistung, Lagerplatz und eigene Bilder bleiben führend im Händlersystem.
  • Nur grüne Treffer automatisch freigeben; Varianten, Sicherheitsbauteile und Widersprüche durch Fachpersonal prüfen.
Market

Marktplätze

Übernimmt bereits geprüfte Angebote oder bietet eine geführte Erfassung für Verkäufer.

  • Mandant ist der Verkäufer bzw. Händler; Angebote, Kontingente und Herkunftsnachweise bleiben getrennt.
  • Veröffentlichung erst nach fachlicher Freigabe und mit sichtbarer Unterscheidung zwischen fahrzeugspezifischem Treffer und Typ-Kandidat.
  • Keine Kompatibilitätsbehauptung aus einer Aftermarket-Referenz allein ableiten.
  • Kanalspezifische Titel und SEO von der geprüften Teileidentität ableiten, nicht umgekehrt.
Connect

Integratoren

Übersetzt zwischen Hub-Prozess und den Objekt-/Jobmodellen angebundener Systeme.

  • Connector hält Hub-Antworten in einer versionsfesten Zwischenschicht; Feldmapping nicht direkt an UI-Felder koppeln.
  • Account/Mandant eindeutig einem Hub-Unter-Nutzer zuordnen und API-Keys niemals gemeinsam über Kunden hinweg nutzen.
  • 202-Jobs asynchron und mit Retry-After verarbeiten; keine kurzen Dauer-Polling-Schleifen.
  • Original-Antwort, Mapping-Version und Exportstatus nachvollziehbar, aber datensparsam protokollieren.

03 · Daten & Mandanten

Klare Grenzen statt Datenkopien

Das Kundensystem bleibt führend für Bestand und Angebot. Hub-Ergebnisse werden als belegte Anreicherung mit Quelle und Prüfstatus gespeichert.

Mandantenbezogen

Nie zwischen Kunden vermischen

  • Interne Artikel- und Fahrzeug-IDs
  • Scan-Auftrag und Bildreferenz
  • Zustand, Lagerplatz, Einkauf, Verkäufer
  • Prüfentscheidung und Exportstatus
  • Nutzung, Kontingent und Kostenstelle

Referenzierbar

Nur im vertraglich erlaubten Umfang

  • Normalisierte OE-Nummer
  • tapiId als stabile Fahrzeugreferenz
  • Ersetzungskette und Katalogantwort
  • Technische Bezeichnungen
  • API- und Mapping-Version

Temporär / minimiert

Kurze Frist, enger Zweck

  • Rohbild des Fahrzeugscheins
  • Personenbezogene Dokumentfelder
  • Öffentlich abrufbare Scan-URL
  • Fehlerpayloads mit Eingangsdaten
  • Debug- und Supportexporte
01 · Eingangsource_captureMandant, interne ID, Bildreferenz, Zweck, Zeitpunkt
02 · Kandidatpart_candidateErkannte Nummern und Merkmale, noch nicht freigegeben
03 · Referenzcatalog_matchOE-Antwort, Ersatzkette, VIN-Kontext, matchLevel
04 · PrüfungverificationAmpel, Gründe, Prüfer oder Automatikregel
05 · Ausgabechannel_offerPreis, Text, Kanalstatus und Exportversion

04 · API-Rezepte

Der Prozess als konkrete Aufrufkette

Die Beispiele zeigen die Orchestrierung. Pflichtfelder, vollständige Antwortschemata, Nutzungsbedingungen und aktuelle Preise stehen in der API-Dokumentation.

POST1. Etikett vollständig auslesen/scanner/label/extract-all

Zweck: Mögliche Teilenummern und weitere verwertbare Merkmale erfassen.

  • Mit low beginnen.
  • Alle Nummern bleiben Kandidaten.
  • Bild-URL nach der Verarbeitung entziehen oder löschen.
curl -X POST \
  'https://api.core.gobecom.com/hub/index.php/scanner/label/extract-all' \
  -H 'X-Api-Key: <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "imageUrl": "https://files.example/label-4711.jpg",
    "quality": "low"
  }'
GET2. OE-Nummer bestätigen und anreichern/parts/oe/{oeNumber}

Zweck: Erkannte Nummer fachlich bestätigen und eine mögliche Ersetzungskette erhalten.

  • Jeden plausiblen Kandidaten separat abfragen.
  • 404 bedeutet: nicht bestätigt, nicht automatisch „ungültig“.
  • Danach optional /parts/oe/{oeNumber}/aftermarket-references, /parts/oe/{oeNumber}/price-evaluation und /parts/oe/{oeNumber}/seo ergänzen.
curl \
  -H 'X-Api-Key: <API_KEY>' \
  'https://api.core.gobecom.com/hub/index.php/parts/oe/5Q0919275C'

# Optional nach erfolgreichem OE-Treffer:
# /parts/oe/5Q0919275C/aftermarket-references
# /parts/oe/5Q0919275C/price-evaluation
# /parts/oe/5Q0919275C/seo
POST3. Fahrzeugschein in Fahrzeugdaten überführen/scanner/registration-document

Zweck: VIN und technische Felder aus einem Fahrzeugschein-Bild oder PDF strukturiert erfassen.

  • Personenbezogene Felder nicht für den Teileprozess übernehmen.
  • VIN vor Folgeaufrufen auf Lesefehler prüfen.
  • Quelldokument nicht als dauerhaften Fahrzeugbeleg behandeln.
curl -X POST \
  'https://api.core.gobecom.com/hub/index.php/scanner/registration-document' \
  -H 'X-Api-Key: <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "fileUrl": "https://files.example/registration-4711.pdf",
    "quality": "low"
  }'
POST3a. VIN direkt aus einem Fahrzeugfoto lesen/scanner/vin/extract

Zweck: Eine vollständig sichtbare VIN hinter der Windschutzscheibe, auf einem Türrahmenetikett oder einer Prägung auslesen.

  • Unvollständige oder mehrdeutige Ergebnisse liefern vin: null.
  • Nur Bilder, keine PDFs, an diesen Endpunkt senden.
  • Mit low beginnen und nur bei Bedarf auf mid oder high erhöhen.
curl -X POST \
  'https://api.core.gobecom.com/hub/index.php/scanner/vin/extract' \
  -H 'X-Api-Key: <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "imageUrl": "https://files.example/windshield-vin.jpg",
    "quality": "low"
  }'
GET4. Fahrzeug binden, Teile abrufen, Job verfolgen/vin/{vin}/vehicle → /vin/{vin}/parts

Zweck: Stabile Fahrzeugreferenz und Teileliste mit maschinenlesbarem Treffercharakter erhalten.

  • Provider 1 kann den Browser-Redirect erfordern.
  • Bei Provider 1 gilt auch im asynchronen Job zwingend: erst erfolgreicher Fahrzeugabgleich mit tapiId, dann Teileabruf. Ohne Fahrzeugkontext wird kein Teileergebnis freigegeben.
  • Nach der Fahrzeugabfrage Provider bei der Teileabfrage weglassen.
  • Bei 202 Location und Retry-After beachten; Status über GET /vin/parts/jobs/{jobId} abrufen.
# Direktabruf-Beispiel mit Provider 2
curl -H 'X-Api-Key: <API_KEY>' \
  'https://api.core.gobecom.com/hub/index.php/vin/WVWZZZ1JZXW000001/vehicle?country=de&provider=2'

# Gebundenen Provider automatisch wiederverwenden
curl -i -H 'X-Api-Key: <API_KEY>' \
  'https://api.core.gobecom.com/hub/index.php/vin/WVWZZZ1JZXW000001/parts?country=de'

# Nur bei 202: Status-URL aus der Antwort abfragen
curl -H 'X-Api-Key: <API_KEY>' \
  'https://api.core.gobecom.com/hub/index.php/vin/parts/jobs/<JOB_ID>'
PUT5. Hub-Konditionen aktiv sponsern/client/sponsorship-grants/{grantReference}

Zweck: Ein ERP gibt ausgewählten tapinoma-Workspaces seine Konditionen ausdrücklich für Hub-Abfragen frei.

  • Der ERP-Master ruft den Endpunkt mit dem eigenen API-Key auf.
  • Workspace, Endpunkte, Kanal hub und Laufzeit werden explizit festgelegt.
  • Die Oberfläche liest eingehende Grants über GET /client/sponsorship-grants/received und zeigt Sponsor, Umfang und Status an.
  • Ein Widerruf beendet nur die künftige Kostenübernahme, nicht den direkten tapinoma-Account oder vorhandene Ergebnisse.
curl -X PUT \
  'https://api.core.gobecom.com/hub/index.php/client/sponsorship-grants/erp-customer-4711' \
  -H 'X-Api-Key: <ERP_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{"beneficiaryClientId":4711,"endpointKeys":["vin.vehicle","vin.parts"],"channels":["hub"]}'

05 · Qualität

Eine Ampel, die Gründe zeigt

Die Ampel ist eine Empfehlung für das Kundensystem, kein Feld der Hub-API. Sie muss aus belegbaren Signalen und fachlichen Regeln entstehen.

Grün · automatisch freigabefähig

OE-Treffer bestätigt, Nummer eindeutig, Label-Hersteller plausibel und – falls vorhanden – Übereinstimmung mit einer fahrzeugspezifischen VIN-Teileliste. Keine ungeklärte Variante.

Gelb · Fachprüfung

Mehrere Nummernkandidaten, Ersetzungskette, VIN-Typkandidaten, unbestätigte Fahrzeugzuordnung, fehlende Kategorie oder abweichende Variantenmerkmale.

Rot · nicht veröffentlichen

Kein bestätigbarer OE-Treffer, widersprüchliche Hersteller/Nummern, unlesbares Bild, Provider-Mismatch oder fehlende Berechtigung zur Verarbeitung.

Definition of Done

Ein Teil ist prozessual fertig, wenn:

  • Mandant und interne Artikel-ID eindeutig sind.
  • OE-Nummer normalisiert und bestätigt ist.
  • Quelle, Zeitpunkt und API-/Mapping-Version feststehen.
  • VIN-Kontext samt matchLevel berücksichtigt wurde, falls vorhanden.
  • Zustand, Bilder und kommerzielle Angaben vom Händler stammen.
  • Freigabegrund und Kanalstatus nachvollziehbar sind.

Häufige Fehlmuster

Diese Abkürzungen erzeugen später teure Rückläufer:

  • OCR-Ergebnis direkt als Artikelnummer speichern.
  • Aftermarket-Referenz als Einbaugarantie darstellen.
  • Provider nach erfolgter VIN-Bindung wechseln.
  • 202 als Fehler oder als fertige Teileliste behandeln.
  • Dokumentbilder dauerhaft und mandantenübergreifend cachen.
  • SEO-Text vor der Teileidentität erzeugen.

06 · Betrieb

Statuscodes werden zu Arbeitszuständen

Integrationen sollten HTTP-Antworten in fachliche Zustände übersetzen. So bleiben ERP, Connector und Marktplatz auch bei asynchronen Antworten konsistent.

AntwortFachlicher ZustandReaktion im KundensystemAutomatik
200Ergebnis vorhandenAntwort speichern, Regeln ausführen, Prüfampel aktualisieren.Ja, wenn fachliche Kriterien erfüllt sind.
202VIN-Teileauftrag angenommenJob-ID und Status-URL speichern; erst nach Retry-After erneut abfragen.Ja, asynchron.
409Interaktion oder Klärung nötigBei redirect_required Redirect-Session starten; bei Provider-Mismatch Bindung respektieren.Geführt, nicht blind wiederholen.
404Kein bestätigter TrefferKandidaten prüfen, Eingabe korrigieren oder manuelle Recherche anstoßen.Keine Veröffentlichung.
429Limit erreichtMandantenspezifisch verzögern; Kontingent und Plan sichtbar machen.Backoff, kein Parallelsturm.
5xxTemporär nicht verfügbarBegrenzt und idempotent wiederholen; nach Schwellenwert in Supportzustand wechseln.Mit Backoff und Obergrenze.

Bereit für die technische Umsetzung?

In der API-Dokumentation stehen alle Endpunkte, Schemas, Antwortfelder und verbindlichen Nutzungshinweise. Dieser Leitfaden beschreibt die empfohlene Orchestrierung im Kundensystem.

Zur API-Dokumentation