- Betriebssoftware für Demontagebetriebe
- Betriebssoftware für Demontagebetriebe führt die Fahrzeugakte von der Annahme bis zur Abgabe der Restkarosse: Fahrzeugdaten, Verwertungsnachweis, Trockenlegung, ausgebaute Teile, Lagerplatz und Verkauf in einer Datenbank. Genutzt wird sie von anerkannten Demontagebetrieben, Annahmestellen und Verwertern mit Teileverkauf. Diese Seite richtet sich an Hersteller solcher Software, die Fahrzeug- und Teiledaten per Abfrage in die Akte holen wollen, statt sie abtippen zu lassen.
Wo im Prozess Daten fehlen
Die Fahrzeugakte entsteht an der Annahme, und dort ist die Zeit knapp: Der Anlieferer wartet auf den Nachweis, der Fahrzeugschein liegt auf dem Tresen, das Fahrzeug steht auf dem Hof. An fünf Stellen wird heute abgetippt, geschätzt oder offen gelassen:
- Anlage der Akte. Fahrgestellnummer, Marke, Typ und Fahrzeugklasse werden vom Fahrzeugschein abgetippt. Eine falsch übertragene VIN macht den späteren Verwertungsnachweis angreifbar — siehe Zulassungsbescheinigung: Die Felder, die im Betrieb zählen.
- Einstufung des Fahrzeugs. Ob ein Fahrzeug als Altfahrzeug zu behandeln ist, wird auf dem Hof entschieden und selten mit Bildern belegt — siehe Altfahrzeugverordnung: Pflichten für Halter und Demontagebetriebe.
- Demontagetiefe. Welche Teile ausgebaut werden, entscheidet Erfahrung, nicht eine belegte Erlöserwartung je Teil — siehe Demontagetiefe: Welche Teile sich auszubauen lohnen.
- Teilenummer und Zustand beim Ausbau. Die Nummer vom Etikett landet mit öligen Händen auf einem Zettel; im Zustandsfeld steht „gut“, weil das Feld gefüllt sein musste — siehe Teileidentifikation: Vom Ausbauteil zum verkaufsfähigen Datensatz.
- Einordnung des Bestands. Hauptgruppe und Position nach VDI 4081 werden je Betrieb anders vergeben, weil kein Katalog im System hinterlegt ist.
Was die Schnittstelle liefert
| Prozessschritt | Aufruf | Ergebnis |
|---|---|---|
| Akte anlegen | POST /vehicles/intake | Dokumentfelder, Fahrzeugdaten samt tapiId, optional Zustandsbericht; components nennt, was geliefert wurde |
| Fahrzeug einstufen | POST /vision/vehicle/elv-classification | kein_altfahrzeug_verdacht, gutachten_empfohlen oder altfahrzeug aus 1 bis 10 Aufnahmen, je Kriterium Befund und Bilder |
| Teileliste holen | GET /vin/{vin}/parts | Teileliste auf Typebene nach der Intake-Bindung, matchLevel=vehicle_type_candidates; anderer provider: 409 vin_provider_mismatch |
| Demontage planen | GET /vin/{vin}/economic-evaluation | Erlösranking mit min/average/max je Teil, Einkaufsempfehlung; nur provider=1 — eigener Weg über die Browser-Session, nicht nach dem Intake auf derselben VIN |
| Etikett erfassen | POST /scanner/label/extract-partnumbers | Teile- und Referenznummern aus dem Etikettbild; Unlesbares bleibt leer |
| Zustand einstufen | POST /vision/part/quality | Stufe A/B/C aus 1 bis 3 Aufnahmen, visualOnly; gradable=false mit reason, wenn keine Aussage möglich ist |
| Bestand einordnen | GET /vdi | VDI-4081-Katalog mit Stand und Prüfwert; die Zuordnung je Teil kommt aus GET /parts/oe/{oeNumber} |
Ein Ablauf von Anfang bis Ende
- Annahme: Fahrzeugschein fotografieren. Die Software schickt die
fileUrldes Bildes anPOST /vehicles/intake, optional mit Rundgang-Fotos alsphotoUrlsfür einen Zustandsbericht. Zurück kommen Dokumentfelder, Fahrzeugdaten samttapiIdund der Bericht; was das Dokument nicht hergibt, bleibt leer. - Nachweis ausstellen. Fahrgestellnummer, Marke, Typ und Kennzeichen aus den Dokumentfeldern füllen den Verwertungsnachweis. Die Einstufung als Altfahrzeug belegt
POST /vision/vehicle/elv-classificationmit Befund und Bildern je Kriterium; die rechtliche Entscheidung bleibt beim Betrieb. - Teileliste abholen. Direkt nach dem Intake ruft die Software
GET /vin/{vin}/partsohneproviderauf. Der Intake hat die VIN an Datenweg 2 gebunden; der Aufruf übernimmt diese Bindung und liefert die Teileliste auf Fahrzeugtypebene mitmatchLevel=vehicle_type_candidates, in der Regel sofort mit200. Mehrere Varianten eines Bauteils können nebeneinander stehen. Ein expliziterprovider, der der bestehenden Bindung widerspricht, wird mit409 vin_provider_mismatchabgewiesen. - Oder: der Provider-1-Weg, vor dem ersten Abgleich gewählt. Das Erlösranking beruht auf der fahrzeuggenauen Teileliste von Provider 1, und den Provider-1-Abgleich darf ein Drittsystem nicht direkt aufrufen. Die Software entscheidet deshalb je Fahrzeug vor dem ersten Abgleich, welchen Weg sie geht: den Intake über Datenweg 2 mit der Teileliste auf Typebene — oder den Provider-1-Weg, bei dem Ihr Server mit
POST /vin/redirect-sessionsausvin,returnUrlund optionalstateeine Session anlegt und den Nutzer auf dieredirectUrlleitet; der Rücksprung aufreturnUrlbringtstatus=completedund dietapiId. Die Session verfällt nach zehn Minuten; Fahrzeugdaten stehen nie im Redirect. Einen Wechsel einer bestehenden VIN-Bindung dokumentiert die Spezifikation nicht; einprovider, der der Bindung widerspricht, wird mit409 vin_provider_mismatchabgewiesen. - Demontage planen. Auf dem Provider-1-Weg liefert
GET /vin/{vin}/economic-evaluationmitprovider=1nach dem Abgleich aus der Browser-Session das nach Erlös sortierte Ranking mitmin/average/maxje Teil; Kleinteile sind aussortiert. Liegen nicht alle Bewertungen vor, antwortet der Aufruf mit202,Location,Retry-Afterund Job-ID fürGET /vin/economic-evaluation/jobs/{jobId}. Die Software zeigt das Ranking als Arbeitsliste; wo die Linie verläuft, entscheidet der Betrieb. - Ausbau: Etikett fotografieren.
POST /scanner/label/extract-partnumbersliest Teile- und Referenznummern;GET /parts/oe/{oeNumber}liefert bei bestätigtem Treffer Bezeichnung, genau einetapiGenArtund die VDI-4081-Zuordnung,404heißt kein Treffer. - Zustand einstufen. Ein bis drei Aufnahmen gehen an
POST /vision/part/quality; zurück kommtA,BoderCmitlimitations— odergradable=falsemitreason; dann bleibt das Feld leer. - Bestand führen.
GET /vdiliefert den Katalog mit Stand und Prüfwert, gegen den die Software ihre Hauptgruppen abgleicht; Trockenlegung, Teileentnahme und Abgabe der Restkarosse stehen an derselbentapiId— siehe Trockenlegung: Welche Stoffe vor der Demontage heraus müssen.
curl \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"fileUrl": "https://<IHR_SERVER>/akten/4711/fahrzeugschein.jpg",
"photoUrls": [
"https://<IHR_SERVER>/akten/4711/rundgang-front.jpg",
"https://<IHR_SERVER>/akten/4711/rundgang-heck.jpg"
]
}' \
'https://api.tapinomahub.com/vehicles/intake'Der Einbau
- Schlüssel serverseitig hinterlegen. Der
X-Api-Keygehört in die Konfiguration Ihres Backends; das Foto vom Tablet am Hof geht an Ihren Server, und nur Ihr Server ruft die API auf. - Mit einem Endpunkt beginnen. Für Betriebssoftware ist das
POST /vehicles/intakehinter der Annahme, weil jede spätere Angabe an der Akte hängt. Die Reihenfolge Vertrag, Schlüssel, Prozess, Go-live beschreibt der Integrationsleitfaden. - Feldzuordnung festlegen. Dokumentfelder, Fahrzeugdaten und Zustandsbericht haben feste Ziele in der Akte; die
tapiIdbekommt ein eigenes Feld, ebenso die Herkunft je Wert: gelesen, abgeglichen oder von Hand eingetragen. - Leerbefund und Fehler trennen. Bleibt in der Akte
tapiIdnullund meldetcomponentsden Fahrzeugbestandteil als nicht geliefert, ist das ein fachliches Ergebnis, kein Fehler: Akte anlegen, Fahrzeugfeld leer lassen, Klärungsaufgabe erzeugen; die Dokumentfelder bleiben Teil der Antwort, der Fahrzeuganteil wird anteilig erstattet. Nur ein technischer Fehler wird wiederholt. - Asynchrone Antworten abholen. Teileliste und Wirtschaftlichkeitsanalyse können mit
202antworten; auf dem Provider-1-Weg setzen beide den Abgleich aus der Browser-Session voraus, der vor dem ersten Abgleich der VIN gewählt wurde. Die Software merkt sich die Job-ID und fragtGET /vin/parts/jobs/{jobId}beziehungsweiseGET /vin/economic-evaluation/jobs/{jobId}nachRetry-Afterab, statt den Aufruf zu wiederholen. - Ausrollen. Zuerst bei einem Betrieb, 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 verhindert der Header Doppelanlagen 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. Bleibt ein Dokumentfeld leer oder kommt
gradable=false, bleibt das Feld in der Akte leer und bekommt eine Klärungsaufgabe. Eine geratene Fahrgestellnummer im Verwertungsnachweis ist schlimmer als eine sichtbare Lücke. - `tapiId` speichern. Sie ist der Anker der Akte:
GET /vehicles/{tapiId}liefert die technischen Daten als Bestandteil des zuvor bezahlten VIN-Ablaufs, ohne VIN und ohne Ausstattung, und jedes ausgebaute Teil hängt daran. - Schlüssel nie im Browser. Auch eine Web- oder Tablet-Anwendung ruft die API aus dem Backend auf; das Endgerät spricht nur mit Ihrem Server.
- Rate-Limits je Workspace setzen.
PUT /client/users/{clientId}/rate-limitsbegrenzt je Nutzer, Schlüssel oder Endpunkt, damit ein Bildimport bei einem Betrieb nicht das Kontingent aller anderen aufbraucht;X-Tapinoma-Usage-Warningmeldet knappes Guthaben. - Ergebnis prüfen lassen. Ranking und Zustandsstufe sind Grundlagen für eine Entscheidung, nicht die Entscheidung; Marktpreisbewertungen werden bis zu 30 Tage wiederverwendet. Der Demonteur bestätigt, die Software dokumentiert, woher ein Wert stammt.
Was die Schnittstelle nicht tut
Die Schnittstelle verkauft keinen Datenbestand: Geschuldet ist die Abfrage beziehungsweise Analyse und die Ausgabe des Ergebnisses; die Prüfung vor der Verwendung liegt beim Betrieb. Sie stellt keinen Verwertungsnachweis aus; sie liefert die Angaben dafür und belegt, woher sie stammen. Die Altfahrzeug-Einstufung ist eine Sichtprüfung aus Bildern, kein Gutachten; der Zustandsbericht enthält keine Reparatur- oder Restwertkalkulation; die Wirtschaftlichkeitsanalyse ist eine Erlöserwartung, keine Preisgarantie. Eine Halterabfrage gibt es nicht. 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. Wo ein Feld nicht belegt ist, bleibt es null — die Schnittstelle rät nicht, und Ihre Software sollte es auch nicht tun.
Häufige Fragen
Kann jeder Demontagebetrieb eine eigene Abrechnung haben?
Ja. POST /client/partner-workspaces legt je Betrieb einen eigenen, einzeln abrechenbaren Workspace an. Ob der Betrieb selbst zahlt oder Sie als Hersteller über eine Kostenübernahme, ist je Workspace und Endpunkt einstellbar.
Was passiert, wenn der Fahrzeugschein unlesbar ist?
Die Felder, die das Bild nicht hergibt, bleiben leer. Das Auslesen wird berechnet, weil es erbracht wurde; nur ein Bestandteil der Akte, der gar nicht geliefert wurde, wird anteilig erstattet — components nennt ihn. Die Software legt die Akte an und gibt das Dokument zur Nacherfassung.
Ist das Demontage-Ranking eine Ausbauanweisung?
Nein. Es ist eine nach Erlöspotenzial sortierte Liste mit min/average/max je Teil und keine Preisgarantie. Wo die Linie verläuft, entscheidet der Betrieb — siehe Demontagetiefe: Welche Teile sich auszubauen lohnen.
Warum kommt die Teileliste manchmal erst mit `202`?
Bei Provider 1 wird ohne Cache-Treffer ein Job gestartet; die Antwort nennt Location, Retry-After und die Job-ID. Die Software fragt GET /vin/parts/jobs/{jobId} ab, statt den Aufruf zu wiederholen.
