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 call.
The actual status transition is derived server-side from the change_type field — status is intentionally not part of the request body so the state machine stays on the server.
Keine Änderungen (“No changes”) and skips the write. ERP
systems can therefore safely include the full order payload on confirmations
without risking accidental mutations.| Scope | Tenant type |
|---|---|
orders:write | Supplier API key (SUPPLIER_AND_OPTIONAL_CUSTOMER) |
| Header | Required | Description |
|---|---|---|
x-api-key | Yes | API key with scope orders:write |
Content-Type | Yes | application/json |
| Parameter | Type | Description |
|---|---|---|
id | uuid | Unique ID of the order to update |
change_type)| Value | Effect | Precondition |
|---|---|---|
CONFIRM_ORDER | Sets status to CONFIRMED | — |
DECLINE_ORDER | Sets status to DECLINED | — |
EDIT_ORDER | Applies the fields in changes; status stays the same | — |
CONFIRM_CANCEL_ORDER | Sets status to CANCEL_CONFIRMED | Order must be in status CANCELLED |
CONFIRM_ON_DEMAND | Sets status to ON_DEMAND_CONFIRMED | — |
RECEIVE_ORDER | Sets status to RECEIVED | — |
changes is only consumed for EDIT_ORDER. For every other change type the body of changes is ignored.
EDIT_ORDER)| Field | Type | Description |
|---|---|---|
supplier_order_number | string | Supplier-side order number |
planned_delivery_time | string (ISO 8601) | Planned delivery date / time |
comment | string | Supplier comment on the order |
properties | object | Free-form additional metadata (shallow-merged with existing properties) |
items | array | Order line items — replaces the existing item list |
items[])| Field | Type | Description |
|---|---|---|
title | string | Line item title |
quantity | number (≥ 0) | Quantity |
unit | string | Unit of measure (m3, t, kg, stk, h, pau, …) |
description | string | Optional long description |
product_number | string | Supplier product number |
type | string | Line item type |
marked | boolean | Flag the line item as verified |
EDIT_ORDER produces no real diff, the endpoint replies with Keine Änderungen and writes nothing.properties is shallow-merged with the existing payload — keys you don’t send keep their previous value.items is fully replaced when present in changes.comment is forwarded in that email.| Code | Description |
|---|---|
200 | Order updated successfully or no changes detected |
400 | Invalid input — validation failed |
401 | Unauthorized — API key is not linked to a supplier |
403 | Forbidden — missing orders:write scope, or order belongs to another supplier |
404 | Order not found / invalid id |
500 | Internal server error |
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