Erforderliche Berechtigungen: orders:write
Ermöglicht es einem Lieferanten, eine ihm zugeordnete Bestellung zu aktualisieren — Bestätigen, Ablehnen, Bearbeiten, Stornierung bestätigen, Abruf bestätigen oder Eingang bestätigen.
Der API-Schlüssel muss mit einem Lieferanten verknüpft sein (SUPPLIER_AND_OPTIONAL_CUSTOMER). Lieferanten können ausschließlich Bestellungen aktualisieren, die ihrem Lieferantenkonto zugeordnet sind.
Verhalten der change_type-State-Machine:
CONFIRM_ORDER — Setzt den Status auf CONFIRMED.DECLINE_ORDER — Setzt den Status auf DECLINED.EDIT_ORDER — Wendet die in changes übergebenen Felder an, ohne den Status zu ändern.CONFIRM_CANCEL_ORDER — Setzt den Status auf CANCEL_CONFIRMED (nur möglich, wenn die Bestellung im Status CANCELLED ist).CONFIRM_ON_DEMAND — Setzt den Status auf ON_DEMAND_CONFIRMED.RECEIVE_ORDER — Setzt den Status auf RECEIVED.Das Feld changes wird nur für EDIT_ORDER ausgewertet — bei den übrigen Änderungstypen wird es ignoriert. So können ERP-Systeme bei Bestätigungen risikofrei den vollständigen Bestelldatensatz mitschicken, ohne ihn versehentlich zu mutieren.
Werden keine tatsächlichen Änderungen erkannt (z. B. weil die übergebenen Werte mit dem aktuellen Stand übereinstimmen), liefert der Endpunkt Keine Änderungen zurück und führt keinen Schreibvorgang aus.
Documentation Index
Fetch the complete documentation index at: https://developer.comstruct.com/llms.txt
Use this file to discover all available pages before exploring further.
PATCH-Aufruf abgewickelt.
Der eigentliche Statusübergang wird serverseitig aus dem Feld change_type abgeleitet — das Feld status ist im Body bewusst nicht zugelassen, damit die Statusmaschine im Backend bleibt.
Keine Änderungen und führt keinen
Schreibvorgang aus. ERP-Systeme können bei Bestätigungen daher gefahrlos den
vollständigen Bestelldatensatz mitschicken.| Scope | Tenant-Typ |
|---|---|
orders:write | Lieferanten-API-Schlüssel (SUPPLIER_AND_OPTIONAL_CUSTOMER) |
| Header | Pflicht | Beschreibung |
|---|---|---|
x-api-key | Ja | API-Schlüssel mit Scope orders:write |
Content-Type | Ja | application/json |
| Parameter | Typ | Beschreibung |
|---|---|---|
id | uuid | Eindeutige ID der zu aktualisierenden Bestellung |
change_type)| Wert | Wirkung | Vorbedingung |
|---|---|---|
CONFIRM_ORDER | Setzt den Status auf CONFIRMED | — |
DECLINE_ORDER | Setzt den Status auf DECLINED | — |
EDIT_ORDER | Wendet die in changes übergebenen Felder an, Status bleibt unverändert | — |
CONFIRM_CANCEL_ORDER | Setzt den Status auf CANCEL_CONFIRMED | Bestellung muss im Status CANCELLED sein |
CONFIRM_ON_DEMAND | Setzt den Status auf ON_DEMAND_CONFIRMED | — |
RECEIVE_ORDER | Setzt den Status auf RECEIVED | — |
changes wird ausschließlich für EDIT_ORDER ausgewertet. Bei den übrigen Änderungstypen wird der Inhalt von changes ignoriert.
EDIT_ORDER)| Feld | Typ | Beschreibung |
|---|---|---|
supplier_order_number | string | Lieferanteneigene Bestellnummer |
planned_delivery_time | string (ISO 8601) | Geplantes Lieferdatum |
comment | string | Lieferantenkommentar zur Bestellung |
properties | object | Frei strukturierte Zusatzinformationen (Shallow-Merge mit bestehenden properties) |
items | array | Bestellpositionen — überschreibt die bestehende Positionsliste |
items[])| Feld | Typ | Beschreibung |
|---|---|---|
title | string | Positionsbezeichnung |
quantity | number (≥ 0) | Bestellmenge |
unit | string | Mengeneinheit (m3, t, kg, stk, h, pau, …) |
description | string | Optionale Detailbeschreibung |
product_number | string | Produktnummer beim Lieferanten |
type | string | Positionstyp |
marked | boolean | Position als verifiziert markieren |
EDIT_ORDER keine echten Änderungen erkannt, antwortet der Endpunkt mit Keine Änderungen.properties wird flach gemerged mit den bestehenden Werten; Schlüssel ohne neuen Wert bleiben erhalten.items wird vollständig ersetzt, wenn das Feld in changes übergeben wird.comment wird in dieser Mail mitgeführt.| Code | Beschreibung |
|---|---|
200 | Bestellung erfolgreich aktualisiert oder keine Änderungen erkannt |
400 | Ungültige Eingabe — Validierung fehlgeschlagen |
401 | Nicht autorisiert — API-Schlüssel ist mit keinem Lieferanten verknüpft |
403 | Verboten — fehlender Scope orders:write oder Bestellung gehört einem anderen Lieferanten |
404 | Bestellung nicht gefunden / id ungültig |
500 | Interner Serverfehler |
API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.
Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.
Bestellungs-ID (UUID)
Treibt die Statusübergänge der Bestellung:
CONFIRM_ORDER → Status CONFIRMEDDECLINE_ORDER → Status DECLINEDEDIT_ORDER → Status unverändert; changes werden angewendetCONFIRM_CANCEL_ORDER → Status CANCEL_CONFIRMED (Bestellung muss vorher CANCELLED sein)CONFIRM_ON_DEMAND → Status ON_DEMAND_CONFIRMEDRECEIVE_ORDER → Status RECEIVEDCONFIRM_ORDER, DECLINE_ORDER, EDIT_ORDER, CONFIRM_CANCEL_ORDER, CONFIRM_ON_DEMAND, RECEIVE_ORDER Optionaler Kommentar des Lieferanten zu dieser Änderung. Wird in der Benachrichtigung an das Bauunternehmen mitgesendet.
2000Konkrete Feldänderungen. Wird nur für change_type: EDIT_ORDER ausgewertet — bei allen anderen Änderungstypen wird der Inhalt ignoriert, sodass ERP-Systeme den vollständigen Bestelldatensatz risikofrei mitschicken können.
Bestellung erfolgreich aktualisiert oder keine Änderungen erkannt