Most integrations do not fail on technology. They fail because nobody decided where a response field belongs, what an empty field means, and who decides when two sources contradict each other. This text describes the integration you build once and only extend afterwards — whatever ERP is in the building.
The four data flows of a recycling business
- Vehicle in. Capture the VIN, match the vehicle, create the vehicle record. Once per vehicle, at the start of the chain.
- Parts out. Parts list for the vehicle, selection of positions to remove, stock entry per item.
- Market the article. Part data, marketplace data and images per article, distribution to the channels.
- Feedback. Sale, return, re-evaluation — the data that comes back from the channel and corrects the stock.
Field mapping: the actual work
| Response field | Typical ERP target field | For an empty value |
|---|---|---|
tapiId | Vehicle reference in the vehicle record | No match came about — create the record, raise a task |
mainType, subType | Series and version | Keep the free text from the registration document, do not guess |
kba.hsn, kba.tsn | German type keys | Leave the field empty; many imported vehicles have none |
parts[].number | OE number of the stock item | Create the item without a number and flag it for later capture |
parts[].tapiGenArt | Part type for category and analysis | Set the category manually, do not derive it from the name |
parts[].vdi | Confirmed VDI 4081 mappings | Preserve a returned [] and derive nothing; quarantine the response if this required field is absent |
matchLevel | Quality marker on the parts list | Never drop it — it decides whether the list is fit to sell from |
content.ebayTitle, itemSpecifics | Channel fields of the article | Do not publish the article, send it to the review queue |
The four technical points where it jams
- Asynchronous answers.
GET /vin/{vin}/partsandGET /vin/{vin}/economic-evaluationeither answer200or accept the job with202. An integration that only knows200works in testing and fails in production; store the job reference and poll at the stated interval. - One call per client at a time. Further parallel requests end in
429 client_request_in_progress. A queue in the ERP is mandatory, not polish. - Idempotency. Writing calls accept an
Idempotency-Key. The same key returns the same result without running again — the simplest protection against double charging on a rerun. - Make billing visible. The headers
X-Tapinoma-Billing-SourceandX-Tapinoma-Billing-Bundlestate how a call was charged. Logging them lets you explain any invoice line later.
Order of rollout
- Start with vehicle intake. The VIN integration saves the most time and is the easiest to measure.
- Write the field mapping down, including the meaning of every empty value. That document is the integration; the code is only its implementation.
- Test with five vehicles, including an import without type keys and one without a match.
- Define the failure case: create the record, leave the field empty, raise a task — never an estimated value.
- Roll out and measure for two weeks: handling time per vehicle, share of the review queue, later captures, calls per record.
Limits
- The API does not replace an ERP. It supplies data to the system of record; stock, documents and accounting stay there.
- Results belong in your database. No call on every page view; part data rarely changes and every repeat costs.
- Rights in the result follow the agreement. What may be stored is written there, not in the data model.
- Not every field is populated everywhere. Coverage differs by manufacturer, year and market; that belongs in the field mapping, not in support.
The full route from vehicle to evaluation is in From the VIN to the economic evaluation: the vehicle route, from part to channel in From the OE number to a marketplace-ready article. Without your own developers, ask the ERP vendor first — most recycler systems already carry an integration layer; see ERP and inventory systems: creating articles, checking fitment, billing per end customer and Connecting an API: when it pays off for dismantlers.
Sources and legal references
Frequently asked
Which process should be integrated first?
Vehicle intake via the VIN. It saves the most manual work and is the easiest to measure.
What happens when the API does not answer?
The record is created anyway, the field stays empty, and a task for later capture appears. A record must never hang on an external lookup.
How do I prevent double charging?
With an Idempotency-Key per business transaction. A repeat with the same key returns the same result without running again.
Do I need my own developers?
Not necessarily. Many inventory systems can be connected by their vendor; you still have to define the field mapping yourself.
