ZEVRA › Kennzeichen-Check einbinden · Stand:
Einbindung in 4 Schritten

Kennzeichen-Check einbinden: selbst aktivieren, ohne Rückfrage

Mit Zevra Kennzeichen-Check binden Sie die Live-Prüfung für Wunschkennzeichen selbst ein. Sie registrieren sich, kopieren Ihren Schlüssel und fügen eine Zeile Code oder einen Aufruf ein.

Zum Kennzeichen-Check · Abdeckung ansehen · Datensicherheit bei Zevra

Wie wird der Kennzeichen-Check aktiviert?

1

Registrieren

Firma, Ansprechpartner, E-Mail und Website angeben. Die Registrierung ist offen für jedes Unternehmen.

Jetzt registrieren →

2

E-Mail bestätigen und Schlüssel kopieren

Nach der Bestätigung erscheint Ihr Testschlüssel mit 100 kostenlosen Prüfungen im Kundenbereich. Er wird einmal angezeigt.

3

Einbinden

Für das Widget fügen Sie eine Zeile in Ihre Seite ein. Für die Schnittstelle senden Sie einen Aufruf aus Ihrem System.

4

Erste Prüfung testen

Im Kundenbereich prüfen Sie eine Kombination und sehen Verbrauch und Kosten. Danach schließen Sie das Abonnement ab.

Wie binde ich das Widget ein?

Eine Zeile vor dem schließenden body-Element genügt. Das Widget zeigt Eingabefeld, Ergebnis und freie Alternativen und übernimmt keine Stile Ihrer Seite.

<script src="https://zevra24.de/kc.js"
  data-site-key="IHR_SITE_SCHLUESSEL"
  data-prefix="RE"
  async></script>

Der Site-Schlüssel ist an Ihre Domain gebunden. Der geheime Schlüssel der Schnittstelle gehört nicht in eine Webseite.

Beispiel: Widget in einer Händlerseite, Kombination vergeben mit 3 freien Alternativen

Beispiel: Widget in einer Händlerseite, Kombination vergeben mit 3 freien Alternativen

Wie rufe ich die Schnittstelle auf?

Jeder Aufruf braucht den Kopf X-WKZ-Key mit Ihrem Schlüssel. Der Schlüssel gehört in den Kopf, nie in die URL und nie in den Browser.

curl "https://app.zevra24.de/api/kc/v1/search?prefix=RE&letters=AB&numbers=123" \
  -H "X-WKZ-Key: IHR_SCHLUESSEL"
{
 "plate": "RE-AB 123",
 "available": true,
 "reason": "checked",
 "latency_ms": 3771
}

Maschinenlesbare Beschreibung der Schnittstelle (OpenAPI 3.1)

Welche Aufrufe gibt es?

AufrufZweck
GET /searchIst diese Kombination frei?
POST /search/batchBis zu 50 Kombinationen in einem Aufruf
GET /offices?code=REWelche Zulassungsstelle gehört zu einem Kürzel? Ohne Schlüssel.
GET /usageVerbrauch und Kosten des laufenden Zeitraums
POST /reservationsReservierung anlegen (in Vorbereitung, in der Sandbox testbar)
GET /reservations/IDStatus einer Reservierung abfragen
curl -X POST https://app.zevra24.de/api/kc/v1/search/batch \
  -H "X-WKZ-Key: IHR_SCHLUESSEL" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"prefix":"RE","letters":"AB","numbers":"123"},{"prefix":"RE","letters":"AB","numbers":"124"}]}'

Was bedeutet die Antwort?

Wert von availableBedeutung
trueDie Behörde meldet die Kombination als frei
falseDie Behörde meldet sie als vergeben
nullKeine Aussage möglich. Bitte nie als vergeben anzeigen.

Welche Antworten werden gezählt?

reasonBedeutungGezählt
checkedAntwort der Behördeja
checked_via_twinAntwort der Partnerstelle, die das Kürzel verwaltetja
check_failedPortal der Behörde antwortet nicht oder nicht verlässlichnein
office_not_queryableStelle lässt keine automatische Prüfung zu; portal_url führt zum Portalnein
ambiguous_prefixKürzel gehört zu mehreren Stellen; mit plz oder office_id wiederholennein
unknown_prefixKürzel unbekanntnein
invalidForm der Kombination ist nicht zulässignein

Wie teste ich ohne Kosten in der Sandbox?

Im Kundenbereich erzeugen Sie einen Sandbox-Schlüssel. Er beginnt mit wkz_sbx_, erreicht keine Behörde und wird nicht berechnet. Die Buchstaben der Kombination bestimmen das Ergebnis.

BuchstabenPrüfungReservierung
OKfreireserviert
NOvergebennicht verfügbar
ERPortal antwortet nichtPortal antwortet nicht
FEfreireserviert, Gebühr der Behörde von 12,80 € verauslagt
QQfreibleibt in der Warteschlange

Wie reserviere ich über die Schnittstelle?

Sie senden Kombination und Halterdaten mit dem Kopf Idempotency-Key. Derselbe Schlüssel mit demselben Inhalt liefert denselben Vorgang, nie eine zweite Reservierung. Die Antwort nennt den Vorgang, der Status folgt per Abfrage oder Webhook.

Die echte Reservierung ist in Vorbereitung. In der Sandbox ist der Ablauf zum Start testbar.

curl -X POST https://app.zevra24.de/api/kc/v1/reservations \
  -H "X-WKZ-Key: wkz_sbx_IHR_SANDBOX_SCHLUESSEL" \
  -H "Idempotency-Key: auftrag-2026-0001" \
  -H "Content-Type: application/json" \
  -d '{"prefix":"RE","letters":"OK","numbers":"123","customerReference":"Auftrag 0001",
       "halter":{"name":"Mustermann","vorname":"Max","plz":"45657","ort":"Recklinghausen"}}'
{
 "id": "RES-7F3K2M9Q",
 "status": "queued",
 "environment": "sandbox",
 "plate": "RE-OK 123",
 "customerReference": "Auftrag 0001",
 "reservationCode": null,
 "authorityFeeAdvancedCents": 0
}

Wie erfahre ich den Status einer Reservierung?

Im Kundenbereich hinterlegen Sie eine https-Adresse. Zevra sendet bei jedem Statuswechsel das Ereignis reservation.updated. Jede Nachricht ist mit HMAC-SHA256 signiert.

  • X-Zevra-Timestamp nennt den Zeitpunkt der Nachricht in Sekunden.
  • X-Zevra-Signature ist HMAC-SHA256 über Zeitstempel, Punkt und Inhalt, mit Ihrem Secret.
  • Antwortet Ihr System nicht mit 2xx, wiederholt Zevra die Zustellung nach 1, 5, 30, 120 und 720 Minuten.
import hmac, hashlib

def echt(secret, timestamp, body, signature):
    soll = hmac.new(secret.encode(), f"{timestamp}.{body}".encode(), hashlib.sha256).hexdigest()
    return hmac.compare_digest(soll, signature)

Welche Fehler meldet die Schnittstelle?

HTTPerrorBedeutung
401unauthorizedSchlüssel fehlt oder ist ungültig
403revokedSchlüssel ist nicht mehr aktiv
403subscription_requiredReservierung nur mit aktivem Abonnement
409idem_conflictIdempotency-Key wurde bereits mit anderem Inhalt verwendet
429quota_exhaustedMonatslimit erreicht; die Prüfung pausiert bis zum nächsten Zeitraum
429rate_limitedMehr als 120 Anfragen in einer Minute

Welche Antwortzeiten und Grenzen gelten?

  • Antwortzeit einer Prüfung, gemessen über 7 Tage und 7.020 Prüfungen: die Hälfte unter 4,2 Sekunden, 75 % unter 7,3 Sekunden, 95 % unter 14,6 Sekunden.
  • Spätestens nach 58 Sekunden kommt eine Antwort. Bitte Zeitlimit auf 65 Sekunden stellen.
  • Je Schlüssel sind 120 Anfragen pro Minute möglich. Eine Sammelabfrage zählt je Kombination.
  • Ein freies Kennzeichen ist keine Zuteilung. Zugeteilt wird erst bei der Zulassung.

Fragen zur Einbindung

Brauche ich einen Entwickler für das Widget?
Nein. Das Widget ist eine Zeile Code, die Sie in Ihre Seite einfügen. Für die Schnittstelle brauchen Sie jemanden, der einen HTTP-Aufruf in Ihr System einbaut.
Wie lange dauert die Aktivierung?
Der Testschlüssel erscheint direkt nach der Bestätigung Ihrer E-Mail-Adresse. Eine Freigabe durch Zevra ist dafür nicht nötig.
Was passiert nach den 100 Testprüfungen?
Die Prüfung pausiert, bis Sie das Abonnement abschließen. Es kostet 50 € im Monat und 0,05 € je Prüfung.
Welche Daten werden übertragen?
Für die Prüfung werden das Kürzel und die gewünschte Kombination übertragen. Erst für eine Reservierung kommen Name und Anschrift des Halters hinzu. Sie werden verschlüsselt gespeichert und nach 30 Tagen gelöscht.
Gehört der Schlüssel in den Browser?
Nein. Der geheime Schlüssel gehört auf Ihren Server. Für Webseiten gibt es das Widget mit einem Site-Schlüssel, der an Ihre Domain gebunden ist.

Bereit für die erste Prüfung?

50 € Grundgebühr im Monat · 0,05 € je Prüfung · 100 Prüfungen kostenlos zum Test