- Fahrzeugbörse und Inseratsportal
- Software, über die Fahrzeuge inseriert und gesucht werden: Börsen mit vielen Anbietern, Portale für Unfall- und Restwertfahrzeuge, Inseratsverwaltungen einzelner Händler und Einstellwerkzeuge, die per Feed an mehrere Börsen ausspielen. Betrieben wird sie von einem Portalanbieter; die Inserate stammen von Autohäusern, Händlern, Verwertern, Flotten und Privatanbietern, die Suchenden sind Käufer, Händler und Werkstätten. Zwischen Einstellen und Veröffentlichung liegen Felder, die abgetippt, geschätzt oder leer gelassen werden — dort setzt die Schnittstelle an. Diese Seite richtet sich an die Anbieter solcher Portale.
Wo im Prozess Daten fehlen
Ein Inserat ist so gut wie das, was der Anbieter beim Einstellen eingibt — selten vollständig, nicht immer richtig. Was fehlt, kostet Sichtbarkeit im Filter und Vertrauen beim Käufer; was falsch ist, kostet Rückfragen und Rücktritte. Die typischen Stellen:
- Einstellen. Der Anbieter tippt Fahrgestellnummer, Erstzulassung und Schlüsselnummern aus der Zulassungsbescheinigung ab. Ein Zahlendreher in der VIN fällt erst auf, wenn ein Käufer die Nummer mit dem Fahrzeug vergleicht; bei ausländischen Dokumenten fehlt oft schon die Zuordnung der Felder.
- Filterfelder. Getriebe, Antrieb, Aufbau und Motorisierung stehen nicht vollständig im Schein. Was der Anbieter nicht einträgt, bleibt leer, und das Inserat erscheint in der Suche nicht.
- Inseratstext. Titel und Beschreibung entstehen aus Textbausteinen oder werden aus dem letzten Inserat kopiert — samt Ausstattung, die dieses Fahrzeug nicht hat.
- Fotos. Aufnahmen vom Hof mit Nachbarfahrzeugen im Hintergrund, uneinheitlich und oft mit lesbarem Kennzeichen. Ob eines lesbar ist, wird vor der Veröffentlichung selten geprüft; das Abdecken selbst bleibt Sache des Portals.
- Zustand und Rückrufe. Zustandsangaben stammen vom Anbieter und sind nicht belegt; ob zur Baureihe eine Rückrufmaßnahme vorliegt, weiß weder das Portal noch der Käufer.
Was die Schnittstelle liefert
| Prozessschritt | Aufruf | Ergebnis |
|---|---|---|
| Zulassungsdokument auslesen | POST /scanner/document/registration/international | Normalisierte Kernfelder plus jedes gelesene Feld in fields, Aufdruck in sourceValue; Stufe standard |
| Fahrzeugabgleich im Browser | POST /vin/redirect-sessions | Einmalige Session mit redirectUrl; Rücksprung auf returnUrl mit status, tapiId und state |
| Inseratstext erzeugen | POST /vehicles/{tapiId}/listing | Titel, Beschreibung und Ausstattungs-Highlights in de, en oder fr; ohne Preis- und Zustandsaussagen |
| Zustandsbericht aus dem Rundgang | POST /vision/condition-report | Befunde je Zone aus bis zu 8 Aufnahmen in fester Reihenfolge, Gesamteinstufung A, B oder C |
| Fahrzeugfoto freistellen | POST /vision/vehicle/remove/bg | Freigestelltes Bild; das Modell bestimmt nur den Umriss, die Bildpunkte stammen unverändert aus der Aufnahme |
| Lesbares Kennzeichen erkennen | POST /vision/license-plate | Zeichen, Vergleichsform, Land, Sicherheit und Lage am Fahrzeug aus bis zu 3 Aufnahmen; keine Bildkoordinaten, keine Halterabfrage |
| Rückrufhinweis am Inserat | GET /recalls/vehicles/{vin} | Maßnahmen zur Baureihe mit Aktenzeichen, Register, Mangelbeschreibung, Abhilfe, Stop-Drive-Kennung und Konfidenz |
Ein Ablauf von Anfang bis Ende
- Dokument fotografieren. Der Anbieter fotografiert die Zulassungsbescheinigung; das Portal-Backend legt die Datei ab und übergibt ihre Adresse als
fileUrlanPOST /scanner/document/registration/international— für deutsche Scheine genügtPOST /scanner/document/registration. Die Fahrzeugfelder füllen die Maske vor; Namen, Adressen, Kennzeichen und VIN werden nie übersetzt, und die Halterfelder übernimmt das Portal nicht, siehe Daten im Altfahrzeug: Was im Infotainment bleibt, wenn das Fahrzeug geht. - Fahrzeugabgleich starten. Für Provider 1 antwortet
GET /vin/{vin}/vehicleeinem Drittsystem mitredirect_required. Das Backend erstellt deshalb mitPOST /vin/redirect-sessionseine Session ausvin, der absoluten HTTPS-returnUrlund einemstatemit der eigenen Inseratsnummer und leitet den Anbieter auf dieredirectUrl. Provider 2 und 3 sind direkt abfragbar. - Rücksprung verarbeiten. Nach dem Abgleich in der tapinoma-Oberfläche kommt der Anbieter auf die
returnUrlzurück — mitstatus=completed,tapiIdundstateoder mitstatus=cancelled. Fahrzeug-, Ausstattungs- oder Zugangsdaten stehen nie im Redirect; die Session verfällt nach zehn Minuten. Das Portal speichert dietapiIdam Inserat. - Filterfelder und Text füllen.
GET /vehicles/{tapiId}liefert die technischen Fahrzeugdaten als Bestandteil des zuvor bezahlten VIN-Ablaufs, ohne VIN und ohne Ausstattung.POST /vehicles/{tapiId}/listingmitlanguageund optionalen Händlernotizen innotesliefert Titel, Beschreibung und Ausstattungs-Highlights — ohne erfundene Eigenschaften, ohne Preis, ohne Zustandsaussage. - Rundgang aufnehmen. Bis zu 8 Aufnahmen gehen an
POST /vision/condition-report; zurück kommen Befunde je Zone in fester Reihenfolge und eine GesamteinstufungA,BoderC.POST /vehicles/intakefasst Dokument, Fahrzeugabgleich und Zustandsbericht in einem Aufruf zusammen — der Abgleich läuft dort fest über Provider 2 ohne Redirect, undphotoUrlsnimmt bis zu fünf Aufnahmen. - Fotos aufbereiten.
POST /vision/vehicle/remove/bgstellt das Fahrzeug frei; das Modell bestimmt nur den Umriss, die Bildpunkte bleiben die der Aufnahme, siehe Freistellen ohne Neuzeichnen.POST /vision/license-platesagt, ob und welches Kennzeichen auf einer Aufnahme lesbar ist — Zeichen, Land, vorne oder hinten; er liefert keine Bildkoordinaten und macht nichts unkenntlich. Meldet er ein lesbares Kennzeichen, hält das Portal die Freigabe an; das Abdecken bleibt eine eigene Leistung des Portals. - Rückrufhinweis anzeigen.
GET /recalls/vehicles/{vin}gleicht die Baureihe gegen die amtlichen Register ab — Kraftfahrt-Bundesamt, EU Safety Gate, NHTSA. Die VIN wird nur aus dem eigenen Bestand aufgelöst, ein Lieferantenabruf findet nicht statt. Das Portal zeigt den Hinweis als Arbeitshilfe am Inserat.
curl \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: <UUID_JE_VORGANG>' \
-d '{"language": "de", "notes": "Anhängerkupplung nachgerüstet"}' \
'https://api.tapinomahub.com/vehicles/<TAPI_ID>/listing'Der Einbau
- Schlüssel serverseitig hinterlegen. Der API-Key geht als Header
X-Api-Keyvom Portal-Backend aus und gehört in dessen Konfiguration — nie in die Einstellmaske im Browser, nie in den Quelltext. - Einen Endpunkt wählen. Das Auslesen des Zulassungsdokuments beim Einstellen ist der naheliegende Einstieg, weil es sofort Tippfehler ersetzt. Der Inseratstext über
POST /vehicles/{tapiId}/listingsetzt einen abgeschlossenen VIN-Ablauf voraus und kommt danach. - Feldzuordnung festlegen. Welches Antwortfeld landet in welchem Inseratsfeld? Diese Abbildung ist die eigentliche Arbeit. Das Inserat braucht zusätzlich ein Feld für die
tapiIdund einen Vermerk, welche Werte aus der Abfrage stammen. - Leerbefund und Fehler unterscheiden.
404 vehicle_not_foundist kein Fehler, sondern ein Ergebnis: nicht gefunden. Das Portal legt das Inserat trotzdem an, lässt die Felder leer und bittet den Anbieter um Ergänzung — nie als rote Fehlermeldung;status=cancelledbeim Rücksprung ist ebenfalls keiner. Ein Verbindungsabbruch dagegen darf wiederholt werden, mit demselbenIdempotency-Key. - Lang laufende Vorgänge abholen. Antwortet ein Endpunkt mit
202, nennenLocationundRetry-AfterJob und Wartezeit. Der Status wird am zugehörigen Job-Endpunkt abgeholt, nicht durch einen zweiten Aufruf des Ausgangsendpunkts. - Ausrollen und beobachten. Zuerst ein Anbieter mit überschaubarem Bestand, dann die Fläche.
GET /client/usageund der AntwortheaderX-Tapinoma-Usage-Warningzeigen den Guthabenverbrauch; den Weg von Vertrag bis Go-live beschreibt der Integrationsleitfaden.
Worauf zu achten ist
- `Idempotency-Key` setzen. Empfohlen ist eine UUID je fachlichem Vorgang, mindestens 8 Zeichen, etwa
inserat-<nr>-listing-<uuid>— nicht die Inseratsnummer allein, weil ein Schlüssel nach dem ersten Erfolg als vervollständigt gilt und Dokumentauslesen, Redirect-Session und Inseratstext sonst dieselbe gespeicherte Antwort erhielten. Nach einem Verbindungsabbruch wiederholt das Backend den Aufruf mit demselben Schlüssel und erhält dieselbe Antwort, erkennbar am HeaderX-Tapinoma-Idempotent-Replay; gespeichert wird 24 Stunden lang und nur bei Erfolg. Ausnahme sind Aufrufe, die einen geheimen Schlüssel ausgeben (Unter-Nutzer, Partner-Workspaces): nach einem Timeout den Bestand abgleichen statt blind wiederholen. - Leere Felder leer lassen. Liefert die Antwort
null, bleibt das Feld leer — kein Standardwert, kein Textbaustein, keine Ableitung aus ähnlichen Inseraten. Eine plausible Ausstattung im Inserat ist gefährlicher als eine sichtbare Lücke, weil der Käufer sie als Zusage liest. - `tapiId` speichern. Sie ist stabil und der Schlüssel zu
GET /vehicles/{tapiId}undPOST /vehicles/{tapiId}/listing. Ergebnisse gehören in die Datenbank des Portals, nicht in jeden Seitenaufruf; jede Anfrage kostet. - Schlüssel nie im Browser. Die Einstellmaske spricht mit dem Portal-Backend, das Backend mit der Schnittstelle. Auch die Redirect-Session für Provider 1 entsteht serverseitig; der Browser sieht nur die
redirectUrl, und beim Rücksprung prüft das Backend, dassstatezu einem eigenen Vorgang gehört. - Rate-Limits je Anbieter setzen.
PUT /client/users/{clientId}/rate-limitsbegrenzt je Nutzer, Schlüssel oder Endpunkt, damit ein fehlerhafter Bestandsimport eines Händlers nicht das Guthaben des Portals aufbraucht. - Ergebnis prüfen lassen. Inseratstext, Zustandsbericht, freigestelltes Bild und Rückrufhinweis sind Arbeitshilfen. Der Anbieter liest den Text und sichtet die Bilder vor der Veröffentlichung; der Rückrufhinweis gilt für die Baureihe, nicht als Nachweis für dieses Fahrzeug.
Was die Schnittstelle nicht tut
Die Schnittstelle bewertet kein Fahrzeug und nennt keinen Preis — der Inseratstext enthält bewusst keinen, und eine Preisgarantie gibt es nicht. Der Zustandsbericht aus POST /vision/condition-report beschreibt Sichtbares und ist kein Gutachten; er kalkuliert weder Reparatur noch Restwert, siehe Unfallfahrzeuge: Totalschaden, Restwert und was für den Verwerter zählt. Zum Kennzeichen gibt es keine Halterabfrage, keinen Registerabgleich und keine Unkenntlichmachung — POST /vision/license-plate macht Kennzeichen lesbar, nicht unkenntlich. Provider 1 ist für Drittsysteme nur über den Browser-Redirect erreichbar. Und sie verkauft keinen Datenbestand: Geschuldet ist die Abfrage beziehungsweise Analyse mit ihrem Ergebnis; die Verantwortung für das Inserat bleibt beim Anbieter. Was das Material nicht hergibt, bleibt eine Lücke — warum, steht in VIN-Abfrage in der Praxis: Ablauf, Ergebnis, Abrechnung.
Häufige Fragen
Warum antwortet `GET /vin/{vin}/vehicle` mit `redirect_required`?
Weil Provider 1 von Drittsystemen nicht direkt abgerufen werden darf. Der Abgleich läuft über eine Browser-Session aus POST /vin/redirect-sessions; beim Rücksprung erhält das Portal die tapiId, aber keine Fahrzeugdaten. Provider 2 und 3 sind direkt abfragbar.
Verändert das Freistellen das Fahrzeugfoto?
Nein. Das Modell bestimmt nur den Umriss; die Bildpunkte des Fahrzeugs stammen unverändert aus der eingereichten Aufnahme. Das Ergebnis ist eine Fotografie, kein neu gezeichnetes Bild.
Erfindet der Inseratstext Ausstattung oder nennt er Preise?
Nein. POST /vehicles/{tapiId}/listing schreibt Titel, Beschreibung und Highlights aus den dokumentierten Fahrzeugdaten und den Händlernotizen in notes; was nicht belegt ist, kommt nicht vor, Preise und Zustandsaussagen nie. Der Anbieter liest den Text vor der Veröffentlichung.
Können wir die Nutzung für unsere Händler bezahlen?
Ja. Beim Anlegen eines Partner-Workspace über POST /client/partner-workspaces kann das Portal die Kosten der freigeschalteten Endpunkte übernehmen; für bestehende Konten dient PUT /client/sponsorship-grants/{grantReference}. Gibt das Portal partnerTermsAllowed frei und wählt der Händler den Modus partner, wird jede abgedeckte Anfrage zu den Konditionen des Portals abgerechnet.
