- Restwertbörse und Auktionsplattform
- Plattformen, auf denen beschädigte, zurückgenommene oder ausgemusterte Fahrzeuge — zunehmend auch einzelne Bauteile — mit Fotos und Beschreibung eingestellt und im Gebotsverfahren verkauft werden. Einsteller sind Versicherer, Sachverständige, Leasinggesellschaften, Flotten und Händler; Bieter sind Demontagebetriebe, Händler, Werkstätten und Exporteure. Der Restwert eines Unfallfahrzeugs entsteht hier aus den Geboten. Diese Seite richtet sich an die Betreiber und Entwickler solcher Plattformen.
Wo im Prozess Daten fehlen
Eine Restwertbörse lebt davon, dass beide Seiten dem Inserat vertrauen: Der Einsteller muss ein Fahrzeug in kurzer Zeit vollständig beschreiben, der Bieter in der Gebotsfrist entscheiden, was es ihm wert ist. An fünf Stellen entstehen regelmäßig Lücken:
- Beim Einstellen. Die Fahrgestellnummer wird aus dem Gutachten oder vom Foto abgetippt; ein vertauschtes Zeichen fällt erst auf, wenn ein Bieter das falsche Fahrzeug kalkuliert hat.
- Bei der Schadenbeschreibung. Jeder Einsteller fotografiert und formuliert anders. Zwei Inserate zum gleichen Schadenbild sind nicht vergleichbar.
- Bei den Bildern. Ob ein Foto noch ein lesbares Kennzeichen zeigt, prüft vor der Veröffentlichung niemand systematisch; bei Teileauktionen zeigen die Bilder Seriennummern und andere exemplarbezogene Kennungen, die der Verkäufer vor dem Zuschlag nicht preisgeben will.
- Beim Inseratstext. Titel, Beschreibung und Ausstattungsliste werden je Fahrzeug von Hand geschrieben — und für Bieter aus dem Ausland noch einmal in einer anderen Sprache.
- Beim Gebot. Der Verwerter rechnet in der Gebotsfrist aus Erfahrung: Welche Teile bringen Erlös, welche Ausstattung hat das Fahrzeug, darf es als Ware transportiert werden? Die Ausstattung steht nicht auf den Fotos, die Einordnung als Altfahrzeug bleibt Schätzung.
Was die Schnittstelle liefert
| Prozessschritt | Aufruf | Ergebnis |
|---|---|---|
| VIN vom Foto lesen | POST /scanner/vin/extract | Vollständige 17-stellige VIN von Windschutzscheibe, Typenschild, Türrahmenetikett oder Prägung; unlesbar heißt vin ist null |
| Zustand und Schaden beschreiben | POST /vision/condition-report, POST /vision/damage/describe | Rundgang in acht Zonen mit Gesamteinstufung A/B/C (bis zu 8 Aufnahmen); Schadentext in sechs festen Abschnitten (1–5 Aufnahmen) |
| Kennzeichen erkennen | POST /vision/license-plate | Zeichen, Vergleichsform, Land, Sicherheit und Position am Fahrzeug (vorne/hinten); bis zu 3 Aufnahmen; keine Halterabfrage |
| Teilebilder anonymisieren | POST /vision/identifiers/redact | Instanzbezogene Kennungen im Teilebild anonymisiert, Typ- und OE-Kennungen bleiben sichtbar; für Teileauktionen vor dem Zuschlag |
| Inserat erstellen | POST /vehicles/{tapiId}/listing | Titel, Beschreibung und Ausstattungs-Highlights in de, en oder fr; ohne Preise, ohne Zustandsaussagen |
| Vor dem Gebot kalkulieren | GET /vin/{vin}/economic-evaluation | Erlöspotenzial der Teile als min/average/max, Demontage-Ranking nach Erlös, Einkaufsempfehlung; nur provider=1 |
| Altfahrzeug einstufen | POST /vision/vehicle/elv-classification | Stufe kein_altfahrzeug_verdacht, gutachten_empfohlen oder altfahrzeug; je Kriterium Befund, Konfidenz und Belegbilder |
Ein Ablauf von Anfang bis Ende
- Fahrzeug identifizieren. Der Einsteller lädt die Fotos hoch; das Backend liest mit
POST /scanner/vin/extractdie Fahrgestellnummer vom Fahrzeugfoto. Ist sie nicht lesbar, istvingleichnull— das Feld bleibt leer und wird zur Nacharbeit. Liegt der Fahrzeugschein vor, erledigtPOST /vehicles/intakemitfileUrldiesen und den nächsten Schritt in einem Aufruf. - Fahrzeug abgleichen und `tapiId` erhalten. Mit
provider2 oder 3 antwortetGET /vin/{vin}/vehicledirekt. Provider 1 darf ein Drittsystem nicht direkt abrufen: Das Backend erstellt mitPOST /vin/redirect-sessionsausvin,returnUrlundstateeine Session und leitet den Nutzer aufredirectUrl; nach dem Abgleich in der tapinoma-Oberfläche kehrt er aufreturnUrlmitstatus=completed,tapiIdundstatezurück — oder mitstatus=cancelled. Fahrzeugdaten stehen nie im Redirect; die Session verfällt nach zehn Minuten. VIN-Ablauf und spätere Inseratsaufrufe laufen unter demselben Schlüssel, weil dietapiIdan den Client gebunden ist, der sie erhalten hat. - Zustand und Schaden dokumentieren. Der Rundgang mit bis zu 8 Aufnahmen geht an
POST /vision/condition-reportund kommt als Befund je Zone mit GesamteinstufungA/B/Czurück. Den eigentlichen Schaden beschreibtPOST /vision/damage/describeaus 1 bis 5 Aufnahmen in sechs festen Abschnitten; befundfreie Abschnitte werden als befundfrei ausgewiesen, beschrieben wird nur Sichtbares — siehe Unfallfahrzeuge. - Bilder vor der Veröffentlichung prüfen.
POST /vision/license-plateliest aus bis zu 3 Aufnahmen Zeichen, Land, Sicherheit und Position am Fahrzeug (vorne/hinten); mit den Zeichen gleicht Ihre Software das Fahrzeug gegen den Auftrag ab, und ein nicht leeresplateszeigt vor der Veröffentlichung, dass ein Bild noch ein lesbares Kennzeichen enthält. Das Unkenntlichmachen selbst leistet die Schnittstelle nicht. Bei Teileauktionen anonymisiertPOST /vision/identifiers/redactinstanzbezogene Kennungen im Teilebild, bevor es online geht; Typ- und OE-Kennungen bleiben sichtbar — siehe Teilebilder. - Inseratstext erzeugen.
POST /vehicles/{tapiId}/listingmitlanguageje Zielmarkt und Einstellerhinweisen innotesliefert Titel, Beschreibung und Ausstattungs-Highlights aus den dokumentierten Fahrzeugdaten. Der Text erfindet keine Eigenschaften und nennt weder Preise noch Zustand. - Bieterseite: vor dem Gebot kalkulieren. Vor der Analyse schließt der Bieter den Provider-1-Fahrzeugabgleich über
POST /vin/redirect-sessionsunter seinem eigenen Schlüssel ab. Erst dann läuftGET /vin/{vin}/economic-evaluationmitprovider=1: Sie antwortet mit200, wenn Teileliste und Marktpreisbewertungen bereits vorliegen, sonst mit202,Location,Retry-Afterund Job-ID; das Ergebnis holt dannGET /vin/economic-evaluation/jobs/{jobId}ab. Es enthält das Erlöspotenzial der Teile alsmin/average/max, ein nach Erlös sortiertes Demontage-Ranking und eine Einkaufsempfehlung. Kleinteile sind aussortiert, Marktpreisbewertungen werden bis zu 30 Tage wiederverwendet — siehe Fahrzeugankauf und Demontagetiefe. - Bieterseite: Altfahrzeug einstufen. Ob das Fahrzeug nach dem Zuschlag als Ware oder als Abfall transportiert wird, entscheidet über Logistik und Papiere.
POST /vision/vehicle/elv-classificationliefert aus 1 bis 10 Aufnahmen die Stufekein_altfahrzeug_verdacht,gutachten_empfohlenoderaltfahrzeug;altfahrzeugwird nur bei hoch belegtem Kriterium oder aus der Arithmetik mit mitgegebenem Marktwert und Reparaturschätzung vergeben. Die rechtliche Abgrenzung steht in Gebrauchtwagen oder Altfahrzeug.
curl \ -H 'X-Api-Key: <API_KEY>' \ 'https://api.tapinomahub.com/vin/<VIN>/economic-evaluation?provider=1'
Der Einbau
- Schlüssel serverseitig hinterlegen. Der Header
X-Api-Keywird nur aus dem Backend gesetzt. Weder Einsteller-Oberfläche noch Bieter-App sprechen mit der Schnittstelle direkt; auch die Redirect-Session entsteht auf dem Server. - Mit einem Endpunkt beginnen. Einstellerseite:
POST /vision/condition-report, weil er Inserate vergleichbar macht; Bieterseite: der Provider-1-Fahrzeugabgleich überPOST /vin/redirect-sessionsunter dem eigenen Schlüssel, erst dannGET /vin/{vin}/economic-evaluationmitprovider=1. Kennzeichen, Inserat und Altfahrzeug-Einstufung folgen als eigene Schritte. - Feldzuordnung festlegen. Welche Zonen des Zustandsberichts und welche Werte der Analyse landen in welchen Feldern des Inserats und der Bieteransicht? Diese Abbildung ist die eigentliche Arbeit; die Referenz steht im Integrationsleitfaden.
- Fehlerfall und Leerbefund trennen.
404 vehicle_not_foundundvingleichnullsind Leerbefunde, keine Fehler: Inserat anlegen, Feld leer lassen, Abgleich als Nacharbeit führen. Eine durchgeführte Bildanalyse wird berechnet, auch ohne Befund; wiederholt wird nur, wenn sie gar nicht erbracht werden konnte. - Abholung bei `202` einbauen. Die Wirtschaftlichkeitsanalyse antwortet mit
200, wenn Teileliste und Marktpreisbewertungen bereits vorliegen, sonst mit202,Location,Retry-Afterund Job-ID; das Ergebnis holt dannGET /vin/economic-evaluation/jobs/{jobId}aus einer Warteschlange Ihres Backends ab — nicht aus dem Browser des Bieters. Ihre Software muss beide Antworten verarbeiten. - Schrittweise ausrollen. Erst eine Einstellergruppe, dann die Bieter.
GET /client/usagezeigt, welche Aufrufe wie oft laufen;X-Tapinoma-Usage-Warningmeldet knappes Guthaben.
Worauf zu achten ist
- `Idempotency-Key` setzen. Ein doppelt abgeschickter Upload darf keine zweite Analyse auslösen; der Header macht die Wiederholung erkennbar (
X-Tapinoma-Idempotent-Replay), berechnet wird einmal. Ausnahme: Aufrufe, die einen Schlüssel ausgeben, werden nicht wiederholt — nach einem Timeout Bestand abgleichen. - Leere Felder leer lassen. Eine unlesbare VIN, eine Zone ohne Befund, eine Position ohne Marktreferenz: Das Ergebnis nennt die Lücke, das Inserat zeigt sie — kein Standardwert, keine Ergänzung aus einem ähnlichen Fahrzeug.
- `tapiId` am Inserat speichern — samt Client. Sie ist die stabile Kennung für Inseratstext und Fahrzeugdaten;
GET /vehicles/{tapiId}liefert die technischen Daten später als Bestandteil des zuvor bezahlten VIN-Ablaufs, aber nur mit dem Schlüssel des Clients, der dietapiIddort erhalten hat. Mit einem anderen Schlüssel antwortet die Schnittstelle404. - Schlüssel nie im Browser. Weder in der Einsteller-Oberfläche noch in der Bieter-App. Jeder Aufruf und jede Redirect-Session läuft über Ihr Backend.
- Rate-Limits einplanen. Vor Auktionsende fragen viele Bieter dieselben Inserate ab; Analysen gehören in eine Warteschlange, nicht in den Klick. Limits je Nutzer, Schlüssel oder Endpunkt setzen Sie über
PUT /client/users/{clientId}/rate-limits. - Ergebnis prüfen lassen. Zustandsbericht, Schadentext und Einkaufsempfehlung sind Arbeitshilfen; das Gebot bleibt eine Entscheidung des Bieters, die Freigabe des Inserats eine des Einstellers.
Was die Schnittstelle nicht tut
Zustandsbericht und Schadentext sind keine Gutachten und enthalten keine Reparatur- oder Restwertkalkulation; sie beschreiben, was auf den Aufnahmen sichtbar ist. Das Kennzeichen wird gelesen, nicht gegen ein Register geprüft; eine Halterabfrage gibt es nicht. Die Wirtschaftlichkeitsanalyse ist eine Einkaufsempfehlung aus Marktreferenzen, kein Restwert und keine Preisgarantie — der Restwert entsteht auf Ihrer Plattform aus den Geboten. Fahrzeugdaten von Provider 1 kann ein Drittsystem nicht direkt über GET /vin/{vin}/vehicle abrufen; dieser Abgleich läuft über POST /vin/redirect-sessions durch den Browser des Nutzers. Verkauft wird kein Datenbestand: Geschuldet ist die Durchführung der Abfrage oder Analyse; geprüft und verwendet wird das Ergebnis von Ihnen, Ihren Einstellern und Ihren Bietern.
Häufige Fragen
Kann die Plattform die Wirtschaftlichkeitsanalyse jedem Bieter anbieten?
Ja. Jeder Bieter erhält über POST /client/partner-workspaces einen eigenen Workspace, in dem POST /vin/redirect-sessions und GET /vin/{vin}/economic-evaluation freigeschaltet sind; wahlweise trägt die Plattform die Kosten über eine Kostenübernahme. Vor der Analyse schließt der Bieter den Provider-1-Fahrzeugabgleich über POST /vin/redirect-sessions unter seinem eigenen Schlüssel ab; erst dann läuft GET /vin/{vin}/economic-evaluation mit provider=1 und antwortet mit 200 oder — wenn sie erst laufen muss — mit 202 und Job-ID.
Was passiert, wenn die VIN auf dem Foto nicht lesbar ist?
POST /scanner/vin/extract liefert vin gleich null. Das ist ein Leerbefund, kein Fehler; die Analyse wird berechnet, das Feld bleibt leer und wird zur Nacharbeit. Liegt der Fahrzeugschein vor, liest POST /vehicles/intake die VIN daraus.
Warum läuft der Abgleich mit Provider 1 über einen Redirect?
Weil Drittsysteme Provider 1 nicht direkt abrufen dürfen. POST /vin/redirect-sessions erzeugt eine einmalig nutzbare Session, der Nutzer gleicht in der tapinoma-Oberfläche ab und kehrt mit tapiId zurück. Fahrzeugdaten stehen nie im Redirect; die Session verfällt nach zehn Minuten.
Ist die Einkaufsempfehlung der Restwert?
Nein. Sie ist eine Arbeitshilfe für den Bieter aus Marktreferenzen und Demontage-Ranking, ohne Preisgarantie. Der Restwert ist der Betrag, den das Fahrzeug tatsächlich erzielt — er entsteht aus den Geboten auf Ihrer Plattform.
