For the complete documentation index, see llms.txt. This page is also available as Markdown.

Purchase Request Form

The purchase request form ("Ankaufanfrage") is a four-step wizard in which a visitor offers you their own vehicle. They describe the car, its condition, optionally upload photos, and leave their contact details — you receive the enquiry as a lead.

Overview

This is the reverse of a vehicle enquiry: the visitor is the seller and you are the buyer. The wizard collects, step by step:

  1. Fahrzeug — make, model, first registration and mileage, plus optional details behind a "Weitere Angaben" disclosure (variant, fuel type, transmission, power, engine displacement, body type, colour, doors, seats, VIN, HSN/TSN, licence plate, previous owners).

  2. Zustand — accident damage and, if affirmed, a free-text damage description; exterior and technical condition, next inspection, service history, tyre set, roadworthiness, non-smoker, and equipment features.

  3. Fotos — optional photo upload (can be switched off entirely).

  4. Kontakt — price expectation, desired selling period, any outstanding financing, the location selector, a free-text message, and the seller's contact details.

Only eight fields are mandatory: make, model, month and year of first registration, mileage, first name, last name, e-mail address, and the privacy consent checkbox. Everything else is optional, so a visitor can send a usable enquiry in under a minute.

The wizard will not let a visitor skip forward past a step whose required fields are incomplete. Going back is always possible via the "Zurück" button; on viewports of 768px and wider the progress bar additionally renders as a stepper whose completed steps are clickable. Below that width it is a plain progress bar with a "Schritt n von m" caption, so "Zurück" is the only way back.

Adding the form

Option 1 — inline

The wizard renders directly in the page:

<div
  data-carpose-component="purchase-request-form"
  data-api-key="your-api-key"
  data-privacy-url="https://your-site.de/datenschutz"
></div>

Option 2 — behind a button

Set data-variant="modal" and the page shows only a button; the wizard opens in a dialog:

Option 3 — from the floating buttons

The wizard can also be reached from the floating-buttons overlay as a "Fahrzeug verkaufen" button. Enable it for your account in the Carposé dashboard, or override that per page by putting data-purchase-request="true" (or "false") on the floating-buttons script tag or element — see Wizard buttons.

Opened this way the wizard uses its default copy and takes the privacy link from your account settings, since there is no mount element to read attributes from.

Configuration Attributes

Attribute
Required
Default
Description

data-api-key

Yes

Your Carposé API key

data-variant

No

inline

inline renders the wizard in place; modal renders a button that opens it in a dialog

data-title

No

Fahrzeug verkaufen

Headline above the wizard

data-subtitle

No

Sagen Sie uns, was Sie fahren — wir melden uns mit einem Angebot.

Intro line. Set it to an empty value (data-subtitle="") to hide it — that is different from omitting the attribute, which keeps the default

data-button-label

No

Fahrzeug verkaufen

Caption of the trigger button, for data-variant="modal". Note this falls back to the built-in default, not to your data-title — set both if you want a custom caption on the button as well

data-photo-upload

No

true

"false" removes the photo step entirely, leaving a three-step wizard

data-store-select

No

true

"false" hides the location selector. With the selector on, a single location is assigned silently and only two or more locations produce a visible choice

data-success-url

No

Redirect here after a successful submission instead of showing the confirmation panel. Only http:// and https:// URLs are accepted

data-privacy-url

No

Target of the link in the privacy consent checkbox. Only http:// and https:// URLs are accepted. Omitting it does not remove the checkbox — consent stays mandatory — but its label then renders as plain text with nothing to click, so set it on every embed

Photos

When the photo step is enabled, the visitor can attach images of the vehicle by picking them or dropping them onto the step. The wizard checks each file before anything is sent and names the ones it turns away:

Limit
Value

Formats

JPEG, PNG and WebP

Size per file

10 MB

Number of images

12

The server applies its own ceiling on top of that and may accept fewer.

Photos are uploaded after the enquiry itself has been stored, so a failed upload never costs you the lead — the confirmation tells the visitor which images did not go through and that you will be in touch regardless. Because the upload runs before the wizard reports success, it also delays the success event and any data-success-url redirect; see the success event.

After submission

On success the visitor sees a confirmation panel and receives an e-mail acknowledgement; the enquiry appears among your leads in the Carposé dashboard. If you set data-success-url, the visitor is redirected there instead.

If the same visitor sends many requests in a short time, the server rate-limits them and the wizard shows a message asking them to try again in a few minutes.

Events

The wizard dispatches carpose-vehicle-purchase-form-* events for open, step, submit, success and error. See Vehicle Search events for the payloads.

Notes

  • All wizard copy is German.

  • The form renders inside a Shadow DOM, so your page styles cannot affect it and its styles cannot leak out. It does inherit your page's font family on purpose, so it blends into your typography. See Shadow DOM Architecture.

  • More than one purchase request form can be placed on the same page — for example an inline one and a modal trigger.

Last updated