SANDBOX / ZUSAMMENHÄNGENDE TESTFÄLLE
Eine Identität.
Ein ganzer Ablauf.
Der Fahrzeugschein, die VIN-Abfrage und der Kaufvertrag gehören zum selben Testfahrzeug. Eine OE aus dessen Teileliste führt zum passenden Teilefall und Etikett. Alle Angaben sind vollständig synthetisch.
So starten Sie
Verwenden Sie Ihren Sandbox-Key serverseitig im Header x-api-key gegen https://api.tapinomahub.com. JSON-Anfragen verwenden Content-Type: application/json. Übernehmen Sie die Bild-URLs aus der Galerie exakt, einschließlich Pfad und Dateiname.
In den folgenden Abläufen wird jeweils die Antwort des vorherigen Schritts weiterverwendet. So fällt auf, wenn Ihre Anwendung eine VIN, OE oder Fahrzeugreferenz versehentlich vertauscht.
22 vollständige Prozessbeispiele als JSON enthalten alle Anfragen und vollständigen Soll-Antworten. Der Datenkatalog beschreibt die Identitäten und Verbindungen. Beide Dateien sind auch im Testpaket enthalten. Die bisherigen Bilder, Dokumente und 154 Einzelbeispiele bleiben erhalten.
ABLAUF 01
Vom Fahrzeugschein zur Teileabfrage
Beispiel vehicle-03: TAPSANDBX00000103. Dieselbe VIN ist im Fahrzeugschein, im Kaufvertrag und in den gespeicherten Antworten enthalten.
Fahrzeugschein auslesen
Übernehmen Sie data.vehicle.vin aus der Antwort in die nächsten VIN-Anfragen.
Anfrage und relevante Antwortfelder · HTTP 200
POST/scanner/document/registration{ "fileUrl": "https://tapinomahub.com/sandbox/fixtures/vehicle-03/registration.png" }Antwortauszug · vollständige Antwort in processes.json
{ "data": { "vehicle": { "vin": "TAPSANDBX00000103" }, "registrationNumber": "SBX-TE 103" } }Kaufvertrag zuordnen
vehicle.vin muss mit data.vehicle.vin des Fahrzeugscheins übereinstimmen. Kennzeichen und Modell gehören ebenfalls zu demselben Fall.
Anfrage und relevante Antwortfelder · HTTP 200
POST/scanner/document/purchase-contract{ "fileUrl": "https://tapinomahub.com/sandbox/fixtures/vehicle-03/purchase-contract.png" }Antwortauszug · vollständige Antwort in processes.json
{ "vehicle": { "vin": "TAPSANDBX00000103", "licensePlate": "SBX-TE 103", "model": "Kivo" } }Fahrzeug über die gelesene VIN abrufen
Die Antwort muss dieselbe vin liefern. Übernehmen Sie tapiId für den späteren Abruf der Fahrzeugreferenz.
Anfrage und relevante Antwortfelder · HTTP 200
GET/vin/TAPSANDBX00000103/vehicle?provider=2Antwortauszug · vollständige Antwort in processes.json
{ "vin": "TAPSANDBX00000103", "tapiId": "5b1a1000-0000-4000-8000-000000000103", "displayName": "Sandbox Avelun Kivo 1.0" }Teileliste derselben VIN abrufen
Jede parts[].number lässt sich anschließend unverändert mit GET /parts/oe/{oeNumber} abfragen und ist mit einem Etikett in der Tabelle unten verbunden.
Anfrage und relevante Antwortfelder · HTTP 200
GET/vin/TAPSANDBX00000103/parts?provider=2Antwortauszug · vollständige Antwort in processes.json
{ "vin": "TAPSANDBX00000103", "tapiId": "5b1a1000-0000-4000-8000-000000000103", "parts": [ { "number": "SBX1101A", "name": "Sandbox Stossfaenger vorn" }, { "number": "SBX1201A", "name": "Sandbox Bremsscheibe vorn" }, { "number": "SBX1701A", "name": "Sandbox Aussenspiegel links" } ] }Fahrzeugreferenz weiterverwenden
Die tapiId aus der VIN-Antwort wird in den Pfad eingesetzt. Die Fahrzeugreferenz muss zum selben Modell gehören.
Anfrage und relevante Antwortfelder · HTTP 200
GET/vehicles/5b1a1000-0000-4000-8000-000000000103Antwortauszug · vollständige Antwort in processes.json
{ "tapiId": "5b1a1000-0000-4000-8000-000000000103", "make": "Sandbox Avelun", "model": "Kivo" }
Wählen Sie anschließend eine OE aus der gelieferten Teileliste, beispielsweise SBX1101A, und setzen Sie den Teileprozess unten fort. Die übrigen Fahrzeugfälle funktionieren nach demselben Muster.
ABLAUF 02
Vom Etikett zur geprüften Zuordnung
Beispiel part-03: Die OE SBX1101A steht sowohl auf dem Etikett als auch in der Teileliste von vehicle-03. Das Etikett nennt zusätzlich die eigene Ersatz-OE SBX1101B.
OE vom Etikett lesen
Übernehmen Sie data.primaryPartNumber in die Normalisierung. Weitere gelesene Nummern sind eigene, ebenfalls hinterlegte OE-Fälle.
Anfrage und relevante Antwortfelder · HTTP 200
POST/scanner/label/extract-all{ "imageUrl": "https://tapinomahub.com/sandbox/fixtures/part-03/label.png" }Antwortauszug · vollständige Antwort in processes.json
{ "status": "ok", "data": { "primaryPartNumber": "SBX1101A", "otherPartNumbers": [ "SBX1101B" ], "manufacturer": "Sandbox Avelun", "notes": [ "Synthetisches Testetikett" ] } }Gelesene Nummer normalisieren
Übernehmen Sie normalizedOeNumber in die OE-Abfrage, Identifikation und Passungsprüfung. Eine Ersatznummer bleibt als eigener Datensatz erhalten.
Anfrage und relevante Antwortfelder · HTTP 200
GET/parts/oe/normalize?oeNumber=SBX1101AAntwortauszug · vollständige Antwort in processes.json
{ "normalizedOeNumber": "SBX1101A", "equivalentOeNumbers": [ "SBX1101B" ] }Genau dieses Teil abrufen
oeNumber und part.number müssen zur gelesenen Nummer passen. Der Teiletyp und die Beschreibung bleiben in den folgenden Schritten zugeordnet.
Anfrage und relevante Antwortfelder · HTTP 200
GET/parts/oe/SBX1101AAntwortauszug · vollständige Antwort in processes.json
{ "oeNumber": "SBX1101A", "part": { "number": "SBX1101A", "name": "Sandbox Stossfaenger vorn" }, "replacementChain": [ { "from": "SBX1101A", "to": "SBX1101B" } ] }Teil mit einem passenden Fahrzeug verbinden
Verwenden Sie die OE zusammen mit einer VIN aus der Liste passender Fahrzeuge. Eine wörtliche Listenposition und ein passendes Ersatzteil werden getrennt ausgewiesen.
Anfrage und relevante Antwortfelder · HTTP 200
POST/parts/identify{ "vin": "TAPSANDBX00000103", "customerOeNumbers": [ "SBX1101A" ] }Antwortauszug · vollständige Antwort in processes.json
{ "normalizedOeNumber": "SBX1101A", "vinPart": { "name": "Sandbox Stossfaenger vorn", "number": "SBX1101A", "tapiGenArt": "TGA-001101", "category": "ST", "listPrice": 299 } }Passende Kombination prüfen
Die normalisierte OE wird mit einer passenden VIN im Typmodus geprüft. Erwartet wird fits: true.
Anfrage und relevante Antwortfelder · HTTP 200
POST/vin/cart-check{ "vin": "TAPSANDBX00000103", "mode": "type", "oeNumbers": [ "SBX1101A" ] }Antwortauszug · vollständige Antwort in processes.json
{ "vin": "TAPSANDBX00000103", "mode": "type", "complete": true, "results": [ { "oe": "SBX1101A", "fits": true } ] }Unpassende Kombination prüfen
Nur die VIN wird auf ein bekanntes, unpassendes Testfahrzeug gewechselt; die OE bleibt gleich. Erwartet wird fits: false.
Anfrage und relevante Antwortfelder · HTTP 200
POST/vin/cart-check{ "vin": "TAPSANDBX00000104", "mode": "type", "oeNumbers": [ "SBX1101A" ] }Antwortauszug · vollständige Antwort in processes.json
{ "vin": "TAPSANDBX00000104", "mode": "type", "complete": true, "results": [ { "oe": "SBX1101A", "fits": false } ] }
ABLAUF 03
VIN mit Browser-Rücksprung verwenden
Übernehmen Sie die aus dem Fahrzeugschein gelesene VIN für POST /vin/redirect-sessions. Setzen Sie als returnUrl eine eigene erreichbare HTTPS-Adresse ein; die Beispieladresse unten ist nur ein Platzhalter.
{
"vin": "TAPSANDBX00000103",
"returnUrl": "https://ihre-anwendung.example/callback",
"state": "vehicle-03-prozesstest"
}- Öffnen Sie die neu zurückgegebene
redirectUrlim Browser. Den API-Key nur für die serverseitige Sitzungserstellung verwenden. - Führen Sie den Fahrzeugabgleich aus und bestätigen Sie ihn.
- Am Rücksprung müssen
status=completed, der unverändertestateundtapiId=5b1a1000-0000-4000-8000-000000000103ankommen. - Rufen Sie
/vehicles/5b1a1000-0000-4000-8000-000000000103ab. Die Fahrzeugreferenz ist identisch mit derjenigen aus der direkten VIN-Abfrage.
Bei Abbruch kommt status=cancelled ohne tapiId. Verwenden Sie für jeden Durchlauf eine neue Sitzung. Abgelaufene oder bereits verbrauchte Sitzungen sind eigene Negativtests. Die zusätzliche Muster-Ausstattung im Browser demonstriert die Anzeige und ist keine belegte Konfiguration der hier beschriebenen VIN-Stammdaten.
DATENKARTE
Alle Fahrzeuge und ihre Teile
Die OE-Spalte zeigt die wörtliche VIN-Teileliste. Klicken Sie auf eine OE, um zum Etikett und den zugehörigen Fahrzeugen zu gelangen.
| Fall / Fahrzeug | VIN / Fahrzeugreferenz | Dokumente | OE in der Teileliste |
|---|---|---|---|
| vehicle-03Sandbox Avelun Kivo 1.0 | TAPSANDBX000001035b1a1000-0000-4000-8000-000000000103 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1101A SBX1201A SBX1701A |
| vehicle-04Sandbox Avelun Lanos Tour 1.6 D | TAPSANDBX000001045b1a1000-0000-4000-8000-000000000104 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1201A SBX1601A |
| vehicle-05Sandbox Seltryn Evaro 64 Electric | TAPSANDBX000001055b1a1000-0000-4000-8000-000000000105 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1301A SBX1401A SBX1501A |
| vehicle-06Sandbox Avelun Velta 1.8 Hybrid | TAPSANDBX000001065b1a1000-0000-4000-8000-000000000106 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1801A SBX2001A |
| vehicle-07Sandbox Avelun Sero 1.5 Plug-in | TAPSANDBX000001075b1a1000-0000-4000-8000-000000000107 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1801A SBX1901A |
| vehicle-08Sandbox Avelun Cargo 150 2.0 D | TAPSANDBX000001085b1a1000-0000-4000-8000-000000000108 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1601A |
| vehicle-09Sandbox Avelun Luna 1.6 | TAPSANDBX000001095b1a1000-0000-4000-8000-000000000109 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX2001A |
| vehicle-10Sandbox Avelun Grandis 2.0 D | TAPSANDBX000001105b1a1000-0000-4000-8000-000000000110 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1601A SBX1901A |
| vehicle-11Sandbox Avelun Canto 1.2 | TAPSANDBX000001115b1a1000-0000-4000-8000-000000000111 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1701A |
| vehicle-12Sandbox Seltryn Nivor E 82 Electric | TAPSANDBX000001125b1a1000-0000-4000-8000-000000000112 | Fahrzeugschein vergleichenKaufvertrag vergleichen | SBX1301B SBX1401A SBX1501A |
Alle OE-Nummern und passenden Fahrzeuge
Eine Passung bedeutet nicht zwingend, dass die OE wörtlich in der ursprünglichen Teileliste steht. Ersatzteile sind als eigene Fälle erhalten.
| Fall / Teil | OE / Etikett | Passende Fahrzeugfälle | Weitere OE der Ersatzfamilie |
|---|---|---|---|
| Sandbox Stossfaenger vornpart-03 | SBX1101AEtikett und OE-Antwort vergleichen | vehicle-03 | SBX1101B |
| Sandbox Bremsscheibe vornpart-04 | SBX1201AEtikett und OE-Antwort vergleichen | vehicle-03 vehicle-04 | Keine weitere OE hinterlegt |
| Sandbox Stossfaenger vorn, ueberarbeitete Befestigungpart-05 | SBX1101BEtikett und OE-Antwort vergleichen | vehicle-03 | SBX1101A |
| Sandbox LED-Scheinwerfer linkspart-06 | SBX1301AEtikett und OE-Antwort vergleichen | vehicle-05 | SBX1301B |
| Sandbox LED-Scheinwerfer links, ueberarbeitete Ausfuehrungpart-07 | SBX1301BEtikett und OE-Antwort vergleichen | vehicle-05 vehicle-12 | SBX1301A |
| Sandbox Elektrischer Fahrmotorpart-08 | SBX1401AEtikett und OE-Antwort vergleichen | vehicle-05 vehicle-12 | Keine weitere OE hinterlegt |
| Sandbox Antriebswechselrichterpart-09 | SBX1501AEtikett und OE-Antwort vergleichen | vehicle-05 vehicle-12 | Keine weitere OE hinterlegt |
| Sandbox Diesel-Einspritzventilpart-10 | SBX1601AEtikett und OE-Antwort vergleichen | vehicle-04 vehicle-08 vehicle-10 | Keine weitere OE hinterlegt |
| Sandbox Aussenspiegel linkspart-11 | SBX1701AEtikett und OE-Antwort vergleichen | vehicle-03 vehicle-11 | Keine weitere OE hinterlegt |
| Sandbox Rueckleuchte rechtspart-12 | SBX1801AEtikett und OE-Antwort vergleichen | vehicle-06 vehicle-07 | Keine weitere OE hinterlegt |
| Sandbox Rueckfahrkamerapart-13 | SBX1901AEtikett und OE-Antwort vergleichen | vehicle-07 vehicle-10 | Keine weitere OE hinterlegt |
| Sandbox Innenraumgeblaesepart-14 | SBX2001AEtikett und OE-Antwort vergleichen | vehicle-06 vehicle-09 | Keine weitere OE hinterlegt |
Ersatzteile und absichtlich unpassende Kombinationen
SBX1101A → SBX1101B und SBX1301A → SBX1301B bilden zwei Ersatzbeziehungen ab. Die ursprünglichen A-Nummern bleiben in den Fahrzeug-Teilelisten von vehicle-03 beziehungsweise vehicle-05. Die B-Nummern bleiben eigenständig abrufbar und passen als Ersatz. vehicle-12 enthält SBX1301B bereits wörtlich.
Bewahren Sie die ursprünglich gelesene OE in Ihrer Anwendung auf. Die reine OE-Abfrage liefert genau diesen Datensatz. Die Identifikation im Fahrzeugkontext kann dagegen die zugehörige Listenposition liefern: SBX1101B mit vehicle-03 wird zu vinPart.number = SBX1101A; entsprechend wird SBX1301B mit vehicle-05 der vorhandenen A-Position zugeordnet. normalizedOeNumber des Identifikationsergebnisses bezeichnet dann ebenfalls diese Listenposition. Vergleichen Sie vinPart.number mit der VIN-Teileliste und nutzen Sie die Ersatzbeziehung aus der OE-Abfrage, um die abweichende Eingangsnummer zu erklären.
Für Negativtests ist zum Beispiel SBX1101A mit vehicle-04 unpassend. SBX1301A ist mit vehicle-03 unpassend. Beide Seiten sind bekannte Testdaten; allein die Zuordnung stimmt absichtlich nicht. Die einzelnen Teileabläufe in processes.json enthalten jeweils einen positiven und einen negativen Warenkorbtest.
Grenzen für reproduzierbare Tests
- Die Bildadresse wählt einen festen Testfall. Die Sandbox führt dabei keine tatsächliche Bilderkennung durch. Veränderte Bild-URLs, andere Dateitypen oder nicht registrierte Kombinationen können die bisherige Standardantwort liefern; verwenden Sie die gespeicherten PNG-URLs.
- Die PDF-Sammlungen sind zum Ansehen und Vergleichen gedacht. Für die hier beschriebenen Scannerabläufe verwenden Sie die jeweilige einzelne PNG-Seite.
- Direkte VIN-Beispiele verwenden
provider=2. Browser-Rücksprung und direkte Abfrage liefern dieselbe Fallidentität. Asynchrone Aufträge besitzen dynamische Kennungen und Statuszeiten; vergleichen Sie deren abschließende Nutzdaten. - Asynchrone Warenkorbtests im Modus
vehicleakzeptieren bei diesen Fällen die dokumentiertepartNumbers-Liste in ihrer angegebenen Reihenfolge ohne Duplikate. Andere Listen werden vor der Auftragserstellung abgewiesen. Der Modustypeeignet sich für freie Kombinationen sowie positive und negative Passungstests. - Keine der Angaben beschreibt ein reales Fahrzeug, eine reale Person oder reale Marktverhältnisse. Bestehende Testfälle und Dateien werden durch diese Prozessdokumentation ergänzt.