Skip to main content
POST
/
deliveries
curl --request POST \
  --url https://api.comstruct.com/v1/deliveries \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "deliveryNumber": "LS-2024-001234",
  "deliveryDate": "2024-01-15T08:30:00Z",
  "projectNumber": "PRJ-2024-001",
  "items": [
    {
      "title": "Beton C30/37",
      "quantity": 8.5,
      "unit": "m3",
      "productNumber": "BET-C30-37"
    }
  ]
}
'
{
"success": true,
"message": "Delivery note has no changes"
}

Übersicht

Mit diesem Endpunkt können Lieferanten Lieferscheine in comstruct erstellen. Der Lieferschein wird automatisch dem entsprechenden Projekt zugeordnet, sofern eine Zuordnung möglich ist.

Pflichtfelder

FeldBeschreibung
deliveryNumberEindeutige Lieferscheinnummer des Lieferanten
deliveryDateDatum und Uhrzeit der Lieferung (ISO 8601 Format)

Projektzuordnung

Die Lieferung kann über verschiedene Felder einem Projekt zugeordnet werden (in Prioritätsreihenfolge):
  1. projectId: Direkte UUID-Referenz zum Projekt
  2. projectNumber: Projektnummer für automatischen Abgleich
  3. projectTitle: Projekttitel für Fuzzy-Matching
  4. customerName: Kundenname für Projektsuche

Positionen (Items)

Jede Lieferung sollte mindestens eine Position mit einem title enthalten. Das type-Feld ist optional und wird automatisch basierend auf Titel und Einheit bestimmt, wenn nicht angegeben.

Unterstützte Einheiten

EinheitBeschreibung
m3Kubikmeter
tTonnen
kgKilogramm
stkStück
hStunden
pauPauschale (Standard)

Response Codes

CodeBeschreibung
201Lieferschein erfolgreich erstellt
200Lieferschein empfangen, aber keine Änderungen (Duplikat oder unverändert)
400Ungültige Eingabe - Validierung fehlgeschlagen
403Keine Berechtigung - fehlender Scope deliveries:write

Authorizations

X-API-Key
string
header
required

API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.

Erforderliche Berechtigungen:

  • deliveries:read - Lieferdaten lesen
  • deliveries:write - Lieferungen erstellen und ändern
  • invoices:read - Rechnungsdaten lesen
  • invoices:write - Rechnungen erstellen und ändern
  • projects:read - Projektdaten lesen
  • projects:write - Projekte erstellen und ändern
  • project_regions:read - Projektregionsdaten lesen
  • project_regions:write - Projektregionen erstellen und ändern
  • accounts:read - Kontodaten lesen
  • accounts:write - Konten erstellen und ändern
  • payment_terms:read - Zahlungsbedingungsdaten lesen
  • payment_terms:write - Zahlungsbedingungen erstellen und ändern
  • tax_codes:read - Steuercodedaten lesen
  • tax_codes:write - Steuercodes erstellen und ändern
  • users:read - Benutzerdaten lesen (erforderlich für Projekt-Benutzerverwaltung)
  • roles:read - Rollendaten lesen (erforderlich für Projekt-Rollenzuweisung)
  • tenant_settings:read - Mandanteneinstellungen lesen (erforderlich für Projekterstellung)
  • suppliers:write - Lieferanten erstellen und ändern
  • purchase_orders:write - Bestellungen erstellen

Body

application/json
deliveryNumber
string
required

Die Referenznummer für die Lieferung. Muss für den Lieferanten eindeutig sein.

Example:

"1234'23"

deliveryDate
string<date-time>
required

Datum und Uhrzeit der Lieferung. Muss im ISO 8601-Format sein.

Example:

"2024-01-15T08:30:00Z"

projectNumber
string

Die Projektnummer, zu der die Lieferung gehört. Wird für die Zuordnung der Lieferung zu einem Projekt verwendet.

Example:

"PRJ-2024-001"

projectTitle
string

Der Titel des Projekts. Kann als Alternative zur projectNumber für die Projektzuordnung verwendet werden.

Example:

"Highway Construction A1"

supplierId
string<uuid>

Die ID des Lieferanten, zu dem die Lieferung gehört.

projectId
string<uuid>

Die ID des Projekts, zu dem die Lieferung gehört. Wenn angegeben, hat diese Vorrang vor projectNumber.

customerName
string

Der Name des Kunden, der die Lieferung erhält. Kann für die Projektzuordnung verwendet werden.

Example:

"Bauunternehmen Müller GmbH"

vehicleNumber
string

Das Kennzeichen des Fahrzeugs, mit dem die Lieferung transportiert wird.

Example:

"M-AB 1234"

plant
string

Der Name oder die Kennung des Werks/der Anlage, von der die Lieferung stammt.

Example:

"Werk München-Nord"

documentUrl
string<uri>

Ein Link zum Lieferschein-Dokument. Kann das vollständige Dokument sein, base64-kodiert.

Example:

"https://example.com/delivery-note.pdf"

comment
string

Ein optionaler Kommentar zur Lieferung.

status
string

Der Status der Lieferung (z.B. DELIVERED, IN_TRANSIT, PENDING).

Example:

"DELIVERED"

items
object[]

Eine Liste der in der Lieferung enthaltenen Positionen.

Response

Lieferschein empfangen, aber keine Änderungen vorgenommen (Duplikat oder unverändert)

success
boolean
Example:

true

message
string
Example:

"Delivery note has no changes"