Grenke Leasing-API
https://wiki.bluesafety.com/books/grenke
Engine
Diese Minimal-Engine kann jetzt:
- Variablen
- einfache Schleifen
- verschachtelte Pfade
- DTOs für Request, Response und E-Signature
- Enum für den Grenke-Status
- Actions für die einzelnen API-Schritte
- Orchestrator-Service für den Gesamtprozess
- Dubletten vermeidest
- pro Entity unterschiedliche Unique-Felder definieren kannst
- optional Daten vor dem Speichern mappen/filtern kannst
- fachlich typisierte Werte per Enum
- valide Payloads pro Endpoint
- getrennte REST-Endpunkte statt eines Monster-Flows
- State-Metadaten in den Responses
- Abbruchlogik für Cancelled / Declined
- Kennzeichnung für MissingInfo → Mailflow
- PDF-Base64 optional direkt als Datei speicherbar
- keine direkte API-Logik mehr im Controller
- zentrale Fehlerbehandlung
- zentrale Authentifizierung
- wiederverwendbare get/post/put/delete-Methoden
- leichter testbar
TODO
- loops
- if / else
- Filter wie Datum formatieren
- echte Blade-Direktiven
- verschachtelte Schleifen mit komplett isoliertem Scope
Setup
Erwarteter Ablauf im Service:
Standardfall
POST /basic/v1/requestsGET /basic/v1/requests/\{financingId\} bis state === ReadyToSignGET /basic/v1/requests/\{financingId\}/e-signature/configurationPOST /basic/v1/requests/\{financingId\}/e-signature
Ausnahmefall
POST /basic/v1/requestsPUT /basic/v1/requests/\{financingId\}/cancel-e-signaturePUT /basic/v1/requests/\{financingId\}/switchToPaperContract
Sonderfall
GET /basic/v1/requests/\{financingId\} bis state === MissingInfo
MissingInfo
- weclapp mailTemplate/id/{id} laden
- subject + body aus dem JSON lesen
- mit WeclappTemplateRenderer rendern
- an LesseeData->email senden
- devices aus FinancingObjects befüllen
- optional contacts aus deinen lokalen CRM/weclapp-Daten ergänzen