Zum Inhalt

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


Letztes Update: 2024-09-17