Files

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

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&quot;). 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

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)

Author