Bestellungen¶
Die Order-Service API bietet Endpunkte zur Verwaltung von Bestellungen, Rechnungen und Bestellstatus. Die API unterstützt umfassende Workflows, vom Erfassen einer Bestellung bis zur Verwaltung von Rechnungen und Statusaktualisierungen.
Bestellverwaltung¶
Mit den bereitgestellten Endpunkten können Bestellungen basierend auf Bestellnummer oder ID abgerufen, aktualisiert oder storniert werden. Es wird auch ermöglicht, Bestellungen nach Lieferanten-ID zu filtern.
Rechnungsverwaltung¶
Die Rechnungs-API ermöglicht das Erstellen, Abrufen und Löschen von Bestellrechnungen, die mit den zugehörigen Bestellungen verknüpft sind. Diese Rechnungen können im PDF-Format als Dokument hochgeladen und verwaltet werden.
Statusverwaltung¶
Die Statusverwaltung ermöglicht das Aktualisieren von Bestellstatus wie erstellt, bestätigt, versendet oder erstattet. Statusaktualisierungen können über die ID der Bestellung oder des Status erfolgen, um den Fortschritt von Bestellungen zu verfolgen.
Struktur der Bestellung und ihrer Entitäten¶
classDiagram
class Order {
+String id
+String orderNr
+String userId
+String supplierId
+double shippingCost
+double netValue
+double grossValue
+String tenantId
+PersonalData data
+OrderItem[] items
}
class OrderItem {
+String productId
+String productNr
+String title
+String imageUrl
+String ean
+int quantity
+double unitPrice
}
class OrderInvoice {
+String id
+String orderId
+String originalName
+String mimeType
+String data
}
class OrderStatus {
+String id
+String orderId
+String status
+String additionalData
}
class PersonalData {
+PersonalAddress billingAddress
+PersonalAddress deliveryAddress
+String paymentMethod
}
class PersonalAddress {
+String street
+String streetNr
+String zip
+String city
+String country
+String salutation
+String company
+String name
+String lastName
+String email
}
Order --o OrderItem : "has items"
Order --o OrderInvoice : "has invoice"
Order --o OrderStatus : "has status"
Order --o PersonalData : "has data"
PersonalData --o PersonalAddress : "has billing and delivery address"
Beispiel einer Bestellung¶
{
"id": "65e089a582ff6b54563e30a1",
"orderNr": "ADVX-95",
"userId": "60eebc38e89b0e3a5a5e7f7b",
"supplierId": "60ddb932b4a3da72a476fb8d",
"shippingCost": 5.99,
"netValue": 100.00,
"grossValue": 119.99,
"items": [
{
"productId": "664dc56308f6ee6ec7032892",
"productNr": "12940115156",
"title": "In-Ear Kopfhörer",
"imageUrl": "https://example.com/image.jpg",
"ean": "0017817798525",
"quantity": 2,
"unitPrice": 50.00
}
],
"data": {
"billingAddress": {
"street": "Musterstrasse",
"streetNr": "12",
"zip": "12345",
"city": "Musterstadt",
"country": "Germany",
"salutation": "Herr",
"company": "Musterfirma",
"name": "Max",
"lastName": "Mustermann",
"email": "[email protected]"
},
"deliveryAddress": {
"street": "Musterstrasse",
"streetNr": "12",
"zip": "12345",
"city": "Musterstadt",
"country": "Germany",
"salutation": "Herr",
"company": "Musterfirma",
"name": "Max",
"lastName": "Mustermann",
"email": "[email protected]"
},
"paymentMethod": "Invoice"
}
}
Route- und Endpunktdokumentation¶
Route: /orderservice