holzleitner_api (EXPERIMENTAL)
Backend für die Holzleitner-Lieferservice-App — Tour, Beladung, Ausführung.
This Dart package is automatically generated by the OpenAPI Generator project:
- API version: 0.1.0
- Generator version: 7.10.0
- Build package: org.openapitools.codegen.languages.DartDioClientCodegen
Requirements
- Dart 2.15.0+ or Flutter 2.8.0+
- Dio 5.0.0+ (https://pub.dev/packages/dio)
Installation & Usage
pub.dev
To use the package from pub.dev, please include the following in pubspec.yaml
dependencies:
holzleitner_api: 1.0.0
Github
If this Dart package is published to Github, please include the following in pubspec.yaml
dependencies:
holzleitner_api:
git:
url: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
#ref: main
Local development
To use the package from your local drive, please include the following in pubspec.yaml
dependencies:
holzleitner_api:
path: /path/to/holzleitner_api
Getting Started
Please follow the installation procedure and then run the following:
import 'package:holzleitner_api/holzleitner_api.dart';
final api = HolzleitnerApi().getAccountsApi();
final int personalnummer = 789; // int | Personalnummer des Accounts
try {
final response = await api.getAccount(personalnummer);
print(response);
} catch on DioException (e) {
print("Exception when calling AccountsApi->getAccount: $e\n");
}
Documentation for API Endpoints
All URIs are relative to http://localhost
| Class | Method | HTTP request | Description |
|---|---|---|---|
| AccountsApi | getAccount | GET /accounts/{personalnummer} | Liest den Account zu einer Personalnummer. |
| AdminApi | deliveredBelegnummern | GET /admin/delivered-belegnummern | Liefert die Belegnummern ausgelieferter (abgeschlossener) Lieferungen, deren Liefermail noch nicht versendet wurde (`mail_sent_at IS NULL`). „Ausgeliefert" = es existiert ein Abschluss. Mit `day` (DD-MM-YYYY) nur Abschlüsse dieses Berliner Kalendertages; ohne `day` alle offenen (über alle Tage) — so bleiben Belege über Mitternacht nicht hängen. |
| AdminApi | importErp | POST /admin/import-erp | Stößt den ERP-Import für ein Datum an und liefert die Zusammenfassung. |
| AdminApi | markMailSent | POST /admin/mark-mail-sent | Markiert die Liefermails der angegebenen Belegnummern als versendet (`mail_sent_at = now()`, nur wo noch offen). Vom Mailclient aufzurufen, NACHDEM ERPframe die Mails erfolgreich verschickt hat — danach erscheinen die Belege nicht mehr in `GET /admin/delivered-belegnummern`. |
| AdminApi | pushCompletion | POST /admin/push-completion | Stößt das ERP-Rückschreiben eines bereits lokal abgeschlossenen Lieferabschlusses erneut an (idempotenter Retry, falls der automatische Push beim Abschluss fehlschlug). |
| AttachmentsApi | getAttachment | GET /attachments/{id} | Liefert ein gerendertes Vorschaubild des Attachments (Bytes), geladen aus DOCUframe. Auflösung/Format über Query-Parameter steuerbar (`?w=&h=&q=&ext=&page=`). |
| CarsApi | createMyCar | POST /me/cars | Legt ein neues Fahrzeug für den angemeldeten Fahrer an. |
| CarsApi | listMyCars | GET /me/cars | Listet die Fahrzeuge des angemeldeten Fahrers. |
| CarsApi | updateMyCar | PATCH /me/cars/{car_id} | Aktualisiert ein Fahrzeug (Kennzeichen ändern / deaktivieren). |
| DeliveriesApi | applyCredit | POST /deliveries/{delivery_id}/credit | Wendet ein Betrags-Gutschrift-Ereignis an (`set`/`remove`). Append-only, idempotent über `clientEventId`. Nur bei aktiver Lieferung; bei `set` sind Betrag (0 < x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (`null`, wenn entfernt). |
| DeliveriesApi | assignCar | PUT /deliveries/{delivery_id}/assigned-car | Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört. |
| DeliveriesApi | cancel | POST /deliveries/{delivery_id}/cancel | Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`. |
| DeliveriesApi | complete | POST /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — `state = completed`. Nur aus `active`. |
| DeliveriesApi | createNote | POST /deliveries/{delivery_id}/notes | Legt eine neue Notiz an einer Lieferung an. Mindestens eines von `text` und `imageAttachment` muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt). |
| DeliveriesApi | deleteNote | DELETE /deliveries/{delivery_id}/notes/{note_id} | Löscht eine Notiz. Antwortet mit `204 No Content`. |
| DeliveriesApi | deleteServiceValue | DELETE /deliveries/{delivery_id}/services/{service_id} | Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt"). Nur bei aktiver Lieferung. Antwort `204`. |
| DeliveriesApi | hold | POST /deliveries/{delivery_id}/hold | Setzt die Lieferung auf `held`. Nur aus `active` zulässig. |
| DeliveriesApi | resume | POST /deliveries/{delivery_id}/resume | Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig. |
| DeliveriesApi | setService | PUT /deliveries/{delivery_id}/services/{service_id} | Setzt (Upsert) den Wert eines Service für eine Lieferung. Genau das zum Service-Typ passende Feld (`boolValue`/`numericValue`) muss gesetzt sein; numerische Werte werden gegen min/max geprüft. Nur bei aktiver Lieferung. |
| DeliveriesApi | updateNote | PATCH /deliveries/{delivery_id}/notes/{note_id} | Ändert Text/Bild einer Notiz. Innerhalb des (geteilten) Accounts darf jeder Fahrer Notizen pflegen — kein Autor-Check. `delivery_id` ist Teil des Pfads (REST-Konsistenz), die Notiz wird über `note_id` adressiert. |
| DeliveriesApi | uploadNoteImage | POST /deliveries/{delivery_id}/notes/image | Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld `file`) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (`~ObjectID`) als `image_attachment` der Notiz. |
| HealthApi | health | GET /health | Health-Endpoint für Load-Balancer und Container-Probes. Bewusst kein Auth — eine `200 ok`-Antwort darf nicht von der Auth abhängen. |
| PaymentMethodsApi | createPaymentMethod | POST /payment-methods | Legt eine neue Zahlungsmethode an. |
| PaymentMethodsApi | deletePaymentMethod | DELETE /payment-methods/{id} | Hartes Löschen. `409 Conflict`, wenn die Methode von einer Lieferung referenziert wird — der Admin soll dann den `active = false`-Pfad nutzen. |
| PaymentMethodsApi | listPaymentMethods | GET /payment-methods | Listet die Zahlungsmethoden. |
| PaymentMethodsApi | updatePaymentMethod | PATCH /payment-methods/{id} | Patcht Anzeige-Name und/oder Aktiv-Flag. |
| ScansApi | applyScans | POST /scans | Wendet eine Liste von Scan-Events idempotent an. |
| ServicesApi | createService | POST /services | Legt einen neuen Service an. |
| ServicesApi | deleteService | DELETE /services/{id} | Hartes Löschen. `409 Conflict`, wenn der Service noch von einer Lieferung referenziert wird — dann stattdessen deaktivieren. |
| ServicesApi | listServices | GET /services | Listet die Services (sortiert nach `sortOrder`). |
| ServicesApi | updateService | PATCH /services/{id} | Patcht Name/Grenzen/Aktiv-Flag/Sortierung. `kind` ist nicht änderbar. |
| SyncApi | syncTour | POST /sync/tour | Sync-Endpoint für das ERP: legt eine Tagestour samt Lieferungen und Positionen idempotent an. Identität pro Tour `(driver_personalnummer, tour_date)`, pro Lieferung `(belegart_id, belegnummer)`. |
| ToursApi | getTour | GET /tours/{tour_id} | Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read. |
| ToursApi | listMyToursToday | GET /me/tours/today | Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT). |
| ToursApi | setDeliveryOrder | PUT /tours/{tour_id}/delivery-order | Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die vollständige neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt. |
Documentation For Models
- Account
- Address
- ApplyScansRequest
- ApplyScansResponse
- Article
- AssignCarRequest
- AuditAction
- CancelDeliveryRequest
- Car
- CarResponse
- CarsList
- CompleteDeliveryAcknowledgements
- ContactChannel
- ContactKind
- ContactRole
- ContactSource
- CreateCarRequest
- CreateDeliveryNoteRequest
- CreatePaymentMethodRequest
- CreateServiceRequest
- CreditAction
- Customer
- CustomerContact
- DeliveredBelegnummernResponse
- Delivery
- DeliveryCredit
- DeliveryCreditEventRequest
- DeliveryCreditResponse
- DeliveryItem
- DeliveryNote
- DeliveryNoteResponse
- DeliveryOrderEntry
- DeliveryResponse
- DeliveryServiceResponse
- DeliveryServiceValue
- DeliveryState
- DeliveryWithItems
- HoldDeliveryRequest
- ImportSummary
- MarkMailSentRequest
- MarkMailSentResponse
- PaymentMethod
- PaymentMethodResponse
- PaymentMethodsList
- ScanEvent
- ScanResult
- ScanResultStatus
- ScanState
- ScanStatus
- Service
- ServiceKind
- ServiceResponse
- ServicesList
- SetDeliveryOrderRequest
- SetDeliveryOrderResponse
- SetDeliveryServiceRequest
- SyncContactChannel
- SyncContactSource
- SyncDelivery
- SyncDeliveryItem
- SyncTourRequest
- SyncTourResponse
- Tour
- TourDetails
- TourSummary
- TourSummaryList
- UpdateCarRequest
- UpdateDeliveryNoteRequest
- UpdatePaymentMethodRequest
- UpdateServiceRequest
- Warehouse
Documentation For Authorization
Authentication schemes defined for the API:
admin_api_key
- Type: API key
- API key parameter name: X-Admin-Api-Key
- Location: HTTP header
bearer_auth
- Type: HTTP Bearer Token authentication (JWT)