Preview CVP-Vertrag 0.5.0-draft.1 (pre-production-draft) – Änderungen vorbehalten. GET /v1/master-data/infections ist vertraglich definiert, aber noch nicht implementiert.

Für Entwickler

Die offene CVP-API

CVP ist der offene API-Vertrag des coderis-Vermittlers – eine gemeinsame Sprache für Besteller und Betreiber: Bestellungen anlegen und verfolgen, Angebote empfangen und entscheiden, Statusereignisse melden. Ein Vertrag für Krankenfahrt und qualifizierten Krankentransport.

Überblick

Drei API-Flächen, ein Vertrag

Alle öffentlichen Operationen liegen unter /v1 und sind in der Referenz vollständig dokumentiert – mit Beispielen, Feldbeschreibungen und Fehlerkatalog.

Besteller: Bookings

Bestellungen anlegen, verfolgen, ändern und stornieren; Verfügbarkeit unverbindlich vorab prüfen.

  • POST /v1/bookings
  • GET /v1/bookings/{id}
  • POST /v1/availability-checks

Betreiber: Dispatch + Events

Angebote (Proposals) empfangen, annehmen oder mit Terminalternativen ablehnen; Statusereignisse idempotent melden.

  • GET /v1/dispatch/proposals
  • POST /v1/dispatch/proposals/{id}:accept
  • POST /v1/events

Zustellung: Webhooks

HMAC-signierte Ereignisse (X-CVP-Signature) über Zuschläge, Statuswechsel und Terminalternativen.

  • POST /v1/webhooks
  • proposal.offered
  • booking.confirmed

Vertragsprinzipien

Gebaut für den Betrieb, nicht für die Demo

Sicherheit

  • OAuth2 Client Credentials für alle Operationen; Betreiber-Operationen zusätzlich mit mTLS.
  • Datenschutzminimierte Proposals: Personendaten erst nach dem Zuschlag sichtbar.
  • Signierte Webhooks mit Schlüsselkennung und Zeitstempel gegen Replay.

Robustheit

  • Idempotency-Key auf allen Commands – Schutz vor Doppelbestellungen und Doppeltransporten.
  • ETag / If-Match auf Änderungen, X-Correlation-Id durchgängig.
  • Strukturierte Terminalternativen: Ablehnungen können 1–3 spätere Zeitfenster vorschlagen.

Evolution

  • Tolerant-Reader-Policy: Requests strikt, Responses additiv erweiterbar.
  • Versionierung über den Pfad (/v1), maschinell geprüfte Breaking-Change-Baselines.
  • Jedes Feld klassifiziert: Datenschutzklasse und Sichtbarkeit sind Teil des Vertrags.
Vollständige Referenz öffnen

OpenAPI 3.1 · 20 Operationen + 1 Webhook · generiert aus dem normativen Vertrag