{ "message": "Die aktualisierte Bestellung wurde an das Bauunternehmen gesendet.", "error": null}
Bestellungen (Lieferanten)
Lieferantenbestellung aktualisieren
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.
Optional kann pdf_base64 ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert.
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.
Mit diesem Endpunkt können Lieferanten eine ihnen zugeordnete Bestellung über die comstruct API aktualisieren — Bestätigung, Ablehnung, Bearbeitung, Bestätigung einer Stornierung, Bestätigung eines Abrufs sowie Bestätigung des Bestelleingangs werden über einen einzigen 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.
Wenn die übergebenen Felder mit dem aktuellen Stand der Bestellung
übereinstimmen, antwortet der Endpunkt mit Keine Änderungen und führt keinen
Schreibvorgang aus. ERP-Systeme können bei Bestätigungen daher gefahrlos den
vollständigen Bestelldatensatz mitschicken.
Der API-Schlüssel muss mit einem Lieferanten verknüpft sein. Reine Kunden-API-Schlüssel können diesen Endpunkt nicht verwenden. Lieferanten dürfen ausschließlich Bestellungen aktualisieren, die ihrem eigenen Lieferantenkonto zugeordnet sind.
Das Feld comment ist ein optionales String-Feld auf oberster Ebene (max. 2000 Zeichen), das mit jedemchange_type mitgesendet werden kann. Es wird von Lieferanten verwendet, um:
Hinweise bei der Bestellbestätigung hinzuzufügen (z. B. ‘Bestätigt, Lieferung nächste Woche geplant’)
Gründe bei Ablehnung zu erklären (z. B. ‘Material erst ab Q2 verfügbar’)
Kontext bei Bearbeitungen zu geben (z. B. ‘Menge auf Kundenwunsch erhöht’)
Das Feld comment wird immer in der Änderungsbenachrichtigung an den Kunden mitgeführt, unabhängig davon, welcher change_type verwendet wurde. Es eignet sich daher ideal für die Kommunikation vom Lieferanten zum Kunden.
Das Feld comment ist getrennt von dem editierbaren Feld changes.comment in EDIT_ORDER. Der Top-Level-comment gilt für diese spezifische Aktion, während changes.comment den dauerhaft gespeicherten Kommentar der Bestellung aktualisiert.
Optionaler Dateiname für den gespeicherten Dokumenttitel
Das PDF kann zu jedem change_type mitgeschickt werden — z. B. Bestellung bestätigen und Auftragsbestätigung in einem Request. Identische PDFs werden per Content-Hash dedupliziert.
Nur tatsächlich geänderte Felder werden geschrieben — übereinstimmende Werte werden serverseitig erkannt und übersprungen.
Werden in 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.
Bei jeder erfolgreichen Mutation wird automatisch eine Änderungsbenachrichtigung an das Bauunternehmen gesendet — comment wird in dieser Mail mitgeführt.
Konkrete 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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"comstruct API Dokumentation","colors":{"primary":"#2F6879","light":"#3A8599","dark":"#1E4A57"},"logo":{"light":"https://mintcdn.com/comstruct/Jpsyju8lznqRSEZJ/logo/light.svg?fit=max\u0026auto=format\u0026n=Jpsyju8lznqRSEZJ\u0026q=85\u0026s=acbbee3c044994a3e7752740782d923f","dark":"https://mintcdn.com/comstruct/Jpsyju8lznqRSEZJ/logo/dark.svg?fit=max\u0026auto=format\u0026n=Jpsyju8lznqRSEZJ\u0026q=85\u0026s=3849d724919d807467f3b58d490d50c0"},"favicon":"https://mintcdn.com/comstruct/CqrhxzMG7_sRCFwK/favicon.png?fit=max\u0026auto=format\u0026n=CqrhxzMG7_sRCFwK\u0026q=85\u0026s=ff5a12229b0e3075a0e33fe7354ddae3","api":{},"navbar":{"links":[{"href":"mailto:support@comstruct.com","label":"Support"}],"primary":{"type":"button","label":"App öffnen","href":"https://app.comstruct.com"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/comstruct","website":"https://comstruct.com"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:support@comstruct.com"}]},"languages":[{"language":"de","default":true,"href":""},{"language":"en","href":"en"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"comstruct","hasAudioNarration":false,"actualSubdomain":"comstruct","customDomains":["developer.comstruct.com"],"gitSource":{"type":"github","owner":"comstruct-engineering","repo":"comstruct-one","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af339cb0d36c20f768025e9","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"de","tag":"API-Referenz","count":69},{"language":"en","tag":"API Reference","count":69},{"language":"de","tag":"Rechnungs-Dimensionen","count":15},{"language":"en","tag":"Invoice dimensions","count":15},{"language":"de","tag":"Lieferungen","count":11},{"language":"en","tag":"Deliveries","count":11},{"language":"de","tag":"Stammdaten","count":10},{"language":"en","tag":"Master data","count":10},{"language":"de","tag":"Rechnungen","count":9},{"language":"de","tag":"Projekte","count":9},{"language":"en","tag":"Invoices","count":9},{"language":"en","tag":"Projects","count":9},{"language":"de","tag":"Erste Schritte","count":5},{"language":"en","tag":"Getting started","count":5},{"language":"de","tag":"Integrationsleitfäden","count":4},{"language":"en","tag":"Integration guides","count":4},{"language":"de","tag":"Bestellungen","count":3},{"language":"de","tag":"Lieferanten","count":3},{"language":"en","tag":"Purchase orders","count":3},{"language":"en","tag":"Suppliers","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/supplier-orders-patch","slug":"/api-reference/supplier-orders-patch","pageMetadata":{"title":"Lieferantenbestellung aktualisieren","openapi":"PATCH /supplier-orders/{id}","description":"**Erforderliche Berechtigungen:** `orders:write`\n\nErmöglicht es einem Lieferanten, eine ihm zugeordnete Bestellung zu aktualisieren — Bestätigen, Ablehnen, Bearbeiten, Stornierung bestätigen, Abruf bestätigen oder Eingang bestätigen.\n\nDer 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.\n\n**Verhalten der `change_type`-State-Machine:**\n\n- `CONFIRM_ORDER` — Setzt den Status auf `CONFIRMED`.\n- `DECLINE_ORDER` — Setzt den Status auf `DECLINED`.\n- `EDIT_ORDER` — Wendet die in `changes` übergebenen Felder an, ohne den Status zu ändern.\n- `CONFIRM_CANCEL_ORDER` — Setzt den Status auf `CANCEL_CONFIRMED` (nur möglich, wenn die Bestellung im Status `CANCELLED` ist).\n- `CONFIRM_ON_DEMAND` — Setzt den Status auf `ON_DEMAND_CONFIRMED`.\n- `RECEIVE_ORDER` — Setzt den Status auf `RECEIVED`.\n\nDas 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.\n\nOptional kann `pdf_base64` ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert.\n\nWerden 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.\n","href":"/api-reference/supplier-orders-patch"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Erforderliche Berechtigungen:\"\n }), \" \", _jsx(_components.code, {\n children: \"orders:write\"\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"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.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Der API-Schlüssel muss mit einem Lieferanten verknüpft sein (\", _jsx(_components.code, {\n children: \"SUPPLIER_AND_OPTIONAL_CUSTOMER\"\n }), \"). Lieferanten können ausschließlich Bestellungen aktualisieren, die ihrem Lieferantenkonto zugeordnet sind.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsxs(_components.strong, {\n children: [\"Verhalten der \", _jsx(_components.code, {\n children: \"change_type\"\n }), \"-State-Machine:\"]\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"CONFIRM_ORDER\"\n }), \" — Setzt den Status auf \", _jsx(_components.code, {\n children: \"CONFIRMED\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"DECLINE_ORDER\"\n }), \" — Setzt den Status auf \", _jsx(_components.code, {\n children: \"DECLINED\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"EDIT_ORDER\"\n }), \" — Wendet die in \", _jsx(_components.code, {\n children: \"changes\"\n }), \" übergebenen Felder an, ohne den Status zu ändern.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"CONFIRM_CANCEL_ORDER\"\n }), \" — Setzt den Status auf \", _jsx(_components.code, {\n children: \"CANCEL_CONFIRMED\"\n }), \" (nur möglich, wenn die Bestellung im Status \", _jsx(_components.code, {\n children: \"CANCELLED\"\n }), \" ist).\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"CONFIRM_ON_DEMAND\"\n }), \" — Setzt den Status auf \", _jsx(_components.code, {\n children: \"ON_DEMAND_CONFIRMED\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"RECEIVE_ORDER\"\n }), \" — Setzt den Status auf \", _jsx(_components.code, {\n children: \"RECEIVED\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Das Feld \", _jsx(_components.code, {\n children: \"changes\"\n }), \" wird nur für \", _jsx(_components.code, {\n children: \"EDIT_ORDER\"\n }), \" 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.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Optional kann \", _jsx(_components.code, {\n children: \"pdf_base64\"\n }), \" ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Werden keine tatsächlichen Änderungen erkannt (z. B. weil die übergebenen Werte mit dem aktuellen Stand übereinstimmen), liefert der Endpunkt \", _jsx(_components.code, {\n children: \"Keine Änderungen\"\n }), \" zurück und führt keinen Schreibvorgang aus.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Note,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`übersicht`,children:`Übersicht`}),`\n`,_jsxs(_components.p,{children:[`Mit diesem Endpunkt können Lieferanten eine ihnen zugeordnete Bestellung über die comstruct API aktualisieren — Bestätigung, Ablehnung, Bearbeitung, Bestätigung einer Stornierung, Bestätigung eines Abrufs sowie Bestätigung des Bestelleingangs werden über einen einzigen `,_jsx(_components.code,{children:`PATCH`}),`-Aufruf abgewickelt.`]}),`\n`,_jsxs(_components.p,{children:[`Der eigentliche Statusübergang wird serverseitig aus dem Feld `,_jsx(_components.code,{children:`change_type`}),` abgeleitet — das Feld `,_jsx(_components.code,{children:`status`}),` ist im Body bewusst nicht zugelassen, damit die Statusmaschine im Backend bleibt.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Wenn die übergebenen Felder mit dem aktuellen Stand der Bestellung\nübereinstimmen, antwortet der Endpunkt mit `,_jsx(_components.code,{children:`Keine Änderungen`}),` und führt keinen\nSchreibvorgang aus. ERP-Systeme können bei Bestätigungen daher gefahrlos den\nvollständigen Bestelldatensatz mitschicken.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`berechtigungen`,children:`Berechtigungen`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Tenant-Typ`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`orders:write`})}),_jsxs(_components.td,{children:[`Lieferanten-API-Schlüssel (`,_jsx(_components.code,{children:`SUPPLIER_AND_OPTIONAL_CUSTOMER`}),`)`]})]})})]}),`\n`,_jsx(_components.p,{children:`Der API-Schlüssel muss mit einem Lieferanten verknüpft sein. Reine Kunden-API-Schlüssel können diesen Endpunkt nicht verwenden. Lieferanten dürfen ausschließlich Bestellungen aktualisieren, die ihrem eigenen Lieferantenkonto zugeordnet sind.`}),`\n`,_jsx(Heading,{level:`2`,id:`header`,children:`Header`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Pflicht`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-api-key`})}),_jsx(_components.td,{children:`Ja`}),_jsxs(_components.td,{children:[`API-Schlüssel mit Scope `,_jsx(_components.code,{children:`orders:write`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Content-Type`})}),_jsx(_components.td,{children:`Ja`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`application/json`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`pfadparameter`,children:`Pfadparameter`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Typ`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`uuid`})}),_jsx(_components.td,{children:`Eindeutige ID der zu aktualisierenden Bestellung`})]})})]}),`\n`,_jsxs(Heading,{level:`2`,id:`änderungstypen-change_type`,children:[`Änderungstypen (`,_jsx(_components.code,{children:`change_type`}),`)`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Wert`}),_jsx(_components.th,{children:`Wirkung`}),_jsx(_components.th,{children:`Vorbedingung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRM_ORDER`})}),_jsxs(_components.td,{children:[`Setzt den Status auf `,_jsx(_components.code,{children:`CONFIRMED`})]}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DECLINE_ORDER`})}),_jsxs(_components.td,{children:[`Setzt den Status auf `,_jsx(_components.code,{children:`DECLINED`})]}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`EDIT_ORDER`})}),_jsxs(_components.td,{children:[`Wendet die in `,_jsx(_components.code,{children:`changes`}),` übergebenen Felder an, Status bleibt unverändert`]}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRM_CANCEL_ORDER`})}),_jsxs(_components.td,{children:[`Setzt den Status auf `,_jsx(_components.code,{children:`CANCEL_CONFIRMED`})]}),_jsxs(_components.td,{children:[`Bestellung muss im Status `,_jsx(_components.code,{children:`CANCELLED`}),` sein`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRM_ON_DEMAND`})}),_jsxs(_components.td,{children:[`Setzt den Status auf `,_jsx(_components.code,{children:`ON_DEMAND_CONFIRMED`})]}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`RECEIVE_ORDER`})}),_jsxs(_components.td,{children:[`Setzt den Status auf `,_jsx(_components.code,{children:`RECEIVED`})]}),_jsx(_components.td,{children:`—`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`changes`}),` wird `,_jsx(_components.strong,{children:`ausschließlich`}),` für `,_jsx(_components.code,{children:`EDIT_ORDER`}),` ausgewertet. Bei den übrigen Änderungstypen wird der Inhalt von `,_jsx(_components.code,{children:`changes`}),` ignoriert.`]}),`\n`,_jsx(Heading,{level:`2`,id:`feld-supplier-comment-lieferantenkommentar`,children:`Feld Supplier Comment (Lieferantenkommentar)`}),`\n`,_jsxs(_components.p,{children:[`Das Feld `,_jsx(_components.code,{children:`comment`}),` ist ein `,_jsx(_components.strong,{children:`optionales`}),` String-Feld auf oberster Ebene (max. 2000 Zeichen), das mit `,_jsx(_components.strong,{children:`jedem`}),` `,_jsx(_components.code,{children:`change_type`}),` mitgesendet werden kann. Es wird von Lieferanten verwendet, um:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Hinweise bei der Bestellbestätigung hinzuzufügen (z. B. ‘Bestätigt, Lieferung nächste Woche geplant’)`}),`\n`,_jsx(_components.li,{children:`Gründe bei Ablehnung zu erklären (z. B. ‘Material erst ab Q2 verfügbar’)`}),`\n`,_jsx(_components.li,{children:`Kontext bei Bearbeitungen zu geben (z. B. ‘Menge auf Kundenwunsch erhöht’)`}),`\n`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Das Feld `,_jsx(_components.code,{children:`comment`}),` wird `,_jsx(_components.strong,{children:`immer`}),` in der Änderungsbenachrichtigung an den Kunden mitgeführt, unabhängig davon, welcher `,_jsx(_components.code,{children:`change_type`}),` verwendet wurde. Es eignet sich daher ideal für die Kommunikation vom Lieferanten zum Kunden.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Das Feld `,_jsx(_components.code,{children:`comment`}),` ist `,_jsx(_components.strong,{children:`getrennt von`}),` dem editierbaren Feld `,_jsx(_components.code,{children:`changes.comment`}),` in `,_jsx(_components.code,{children:`EDIT_ORDER`}),`. Der Top-Level-`,_jsx(_components.code,{children:`comment`}),` gilt für diese spezifische Aktion, während `,_jsx(_components.code,{children:`changes.comment`}),` den dauerhaft gespeicherten Kommentar der Bestellung aktualisiert.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`beispiele`,children:`Beispiele`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Bestätigung mit Kommentar:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"change_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CONFIRM_ORDER\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"comment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bestellung bestätigt, Lieferung voraussichtlich Montag\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Ablehnung mit Begründung:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"change_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DECLINE_ORDER\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"comment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Kann nicht liefern - angefordertes Material nicht mehr verfügbar\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Bearbeitung mit Kommentar:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"change_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"EDIT_ORDER\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"comment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Liefertermin nach Kundenanruf angepasst\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"changes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"planned_delivery_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-20T08:00:00Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Heading,{level:`2`,id:`optionales-pdf-pdf_base64`,children:[`Optionales PDF (`,_jsx(_components.code,{children:`pdf_base64`}),`)`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feld`}),_jsx(_components.th,{children:`Typ`}),_jsx(_components.th,{children:`Pflicht`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pdf_base64`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Base64-kodiertes PDF (max. 10 MB dekodiert)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pdf_file_name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Optionaler Dateiname für den gespeicherten Dokumenttitel`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Das PDF kann zu jedem `,_jsx(_components.code,{children:`change_type`}),` mitgeschickt werden — z. B. Bestellung bestätigen und Auftragsbestätigung in einem Request. Identische PDFs werden per Content-Hash dedupliziert.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`editierbare-felder-nur-edit_order`,children:[`Editierbare Felder (nur `,_jsx(_components.code,{children:`EDIT_ORDER`}),`)`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feld`}),_jsx(_components.th,{children:`Typ`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`supplier_order_number`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Lieferanteneigene Bestellnummer`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`planned_delivery_time`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`string`}),` (ISO 8601)`]}),_jsx(_components.td,{children:`Geplantes Lieferdatum`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`comment`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Lieferantenkommentar zur Bestellung`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`properties`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`object`})}),_jsxs(_components.td,{children:[`Frei strukturierte Zusatzinformationen (Shallow-Merge mit bestehenden `,_jsx(_components.code,{children:`properties`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`array`})}),_jsx(_components.td,{children:`Bestellpositionen — überschreibt die bestehende Positionsliste`})]})]})]}),`\n`,_jsxs(Heading,{level:`3`,id:`felder-einer-position-items`,children:[`Felder einer Position (`,_jsx(_components.code,{children:`items[]`}),`)`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feld`}),_jsx(_components.th,{children:`Typ`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`title`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Positionsbezeichnung`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`quantity`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`number`}),` (≥ 0)`]}),_jsx(_components.td,{children:`Bestellmenge`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unit`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsxs(_components.td,{children:[`Mengeneinheit (`,_jsx(_components.code,{children:`m3`}),`, `,_jsx(_components.code,{children:`t`}),`, `,_jsx(_components.code,{children:`kg`}),`, `,_jsx(_components.code,{children:`stk`}),`, `,_jsx(_components.code,{children:`h`}),`, `,_jsx(_components.code,{children:`pau`}),`, …)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`description`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Optionale Detailbeschreibung`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_number`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Produktnummer beim Lieferanten`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Positionstyp`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`marked`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsx(_components.td,{children:`Position als verifiziert markieren`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`verhalten`,children:`Verhalten`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Nur tatsächlich geänderte Felder werden geschrieben — übereinstimmende Werte werden serverseitig erkannt und übersprungen.`}),`\n`,_jsxs(_components.li,{children:[`Werden in `,_jsx(_components.code,{children:`EDIT_ORDER`}),` keine echten Änderungen erkannt, antwortet der Endpunkt mit `,_jsx(_components.code,{children:`Keine Änderungen`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`properties`}),` wird `,_jsx(_components.strong,{children:`flach gemerged`}),` mit den bestehenden Werten; Schlüssel ohne neuen Wert bleiben erhalten.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`items`}),` wird `,_jsx(_components.strong,{children:`vollständig ersetzt`}),`, wenn das Feld in `,_jsx(_components.code,{children:`changes`}),` übergeben wird.`]}),`\n`,_jsxs(_components.li,{children:[`Bei jeder erfolgreichen Mutation wird automatisch eine Änderungsbenachrichtigung an das Bauunternehmen gesendet — `,_jsx(_components.code,{children:`comment`}),` wird in dieser Mail mitgeführt.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`response-codes`,children:`Response Codes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`200`})}),_jsx(_components.td,{children:`Bestellung erfolgreich aktualisiert oder keine Änderungen erkannt`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Ungültige Eingabe — Validierung fehlgeschlagen`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Nicht autorisiert — API-Schlüssel ist mit keinem Lieferanten verknüpft`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[`Verboten — fehlender Scope `,_jsx(_components.code,{children:`orders:write`}),` oder Bestellung gehört einem anderen Lieferanten`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsxs(_components.td,{children:[`Bestellung nicht gefunden / `,_jsx(_components.code,{children:`id`}),` ungültig`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`Interner Serverfehler`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Lieferantenbestellung aktualisieren","openapi":"PATCH /supplier-orders/{id}","description":"**Erforderliche Berechtigungen:** `orders:write`\n\nErmöglicht es einem Lieferanten, eine ihm zugeordnete Bestellung zu aktualisieren — Bestätigen, Ablehnen, Bearbeiten, Stornierung bestätigen, Abruf bestätigen oder Eingang bestätigen.\n\nDer 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.\n\n**Verhalten der `change_type`-State-Machine:**\n\n- `CONFIRM_ORDER` — Setzt den Status auf `CONFIRMED`.\n- `DECLINE_ORDER` — Setzt den Status auf `DECLINED`.\n- `EDIT_ORDER` — Wendet die in `changes` übergebenen Felder an, ohne den Status zu ändern.\n- `CONFIRM_CANCEL_ORDER` — Setzt den Status auf `CANCEL_CONFIRMED` (nur möglich, wenn die Bestellung im Status `CANCELLED` ist).\n- `CONFIRM_ON_DEMAND` — Setzt den Status auf `ON_DEMAND_CONFIRMED`.\n- `RECEIVE_ORDER` — Setzt den Status auf `RECEIVED`.\n\nDas 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.\n\nOptional kann `pdf_base64` ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert.\n\nWerden 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.\n","href":"/api-reference/supplier-orders-patch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Übersicht","slug":"übersicht","depth":2,"children":[]},{"title":"Berechtigungen","slug":"berechtigungen","depth":2,"children":[]},{"title":"Header","slug":"header","depth":2,"children":[]},{"title":"Pfadparameter","slug":"pfadparameter","depth":2,"children":[]},{"title":"Änderungstypen (change_type)","slug":"änderungstypen-change_type","depth":2,"children":[]},{"title":"Feld Supplier Comment (Lieferantenkommentar)","slug":"feld-supplier-comment-lieferantenkommentar","depth":2,"children":[{"title":"Beispiele","slug":"beispiele","depth":3,"children":[]}]},{"title":"Optionales PDF (pdf_base64)","slug":"optionales-pdf-pdf_base64","depth":2,"children":[]},{"title":"Editierbare Felder (nur EDIT_ORDER)","slug":"editierbare-felder-nur-edit_order","depth":2,"children":[{"title":"Felder einer Position (items[])","slug":"felder-einer-position-items","depth":3,"children":[]}]},{"title":"Verhalten","slug":"verhalten","depth":2,"children":[]},{"title":"Response Codes","slug":"response-codes","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"updateSupplierOrder","summary":"Lieferantenbestellung aktualisieren","description":"**Erforderliche Berechtigungen:** `orders:write`\n\nErmöglicht es einem Lieferanten, eine ihm zugeordnete Bestellung zu aktualisieren — Bestätigen, Ablehnen, Bearbeiten, Stornierung bestätigen, Abruf bestätigen oder Eingang bestätigen.\n\nDer 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.\n\n**Verhalten der `change_type`-State-Machine:**\n\n- `CONFIRM_ORDER` — Setzt den Status auf `CONFIRMED`.\n- `DECLINE_ORDER` — Setzt den Status auf `DECLINED`.\n- `EDIT_ORDER` — Wendet die in `changes` übergebenen Felder an, ohne den Status zu ändern.\n- `CONFIRM_CANCEL_ORDER` — Setzt den Status auf `CANCEL_CONFIRMED` (nur möglich, wenn die Bestellung im Status `CANCELLED` ist).\n- `CONFIRM_ON_DEMAND` — Setzt den Status auf `ON_DEMAND_CONFIRMED`.\n- `RECEIVE_ORDER` — Setzt den Status auf `RECEIVED`.\n\nDas 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.\n\nOptional kann `pdf_base64` ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert.\n\nWerden 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.\n","tags":["Orders (Supplier)"],"parameters":["62ee2e48-742c-4de8-8789-187b63dbfac6"],"security":["71b82586-730e-43c2-9458-aa85dec8d736"],"requestBody":"2b6bf515-bee1-404e-83f3-20b539116951","responses":{"200":"5d1d0f0a-6718-4254-b7f9-d6527d67e4c4","400":"71e2a0fa-a628-4de1-ba1b-a91d5169dec1","401":"11bb8eb1-3c9e-41fe-afc2-e1cee9288c44","403":"98e2d7f3-1923-4c35-92c3-db6c438bc54f","404":"982737ee-fdc5-427f-9cb0-c9eab2e892fa","500":"858292fa-8f41-4f13-89c0-d18a495b85fa"},"method":"patch","type":"path","servers":["27bdc885-654c-42d2-b8de-7d04f298bbbd","91c701c1-ebe7-4fa2-b078-ea277e03dd21"],"path":"/supplier-orders/{id}","baseUrlOptions":["https://api.comstruct.com/v1","https://api.comstruct.com"],"title":"Lieferantenbestellung aktualisieren","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"62ee2e48-742c-4de8-8789-187b63dbfac6":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Bestellungs-ID (UUID)","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Bestellungs-ID (UUID)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["change_type"],"properties":{"change_type":{"type":"string","enum":["CONFIRM_ORDER","DECLINE_ORDER","EDIT_ORDER","CONFIRM_CANCEL_ORDER","CONFIRM_ON_DEMAND","RECEIVE_ORDER"],"description":"Treibt die Statusübergänge der Bestellung:\n- `CONFIRM_ORDER` → Status `CONFIRMED`\n- `DECLINE_ORDER` → Status `DECLINED`\n- `EDIT_ORDER` → Status unverändert; `changes` werden angewendet\n- `CONFIRM_CANCEL_ORDER` → Status `CANCEL_CONFIRMED` (Bestellung muss vorher `CANCELLED` sein)\n- `CONFIRM_ON_DEMAND` → Status `ON_DEMAND_CONFIRMED`\n- `RECEIVE_ORDER` → Status `RECEIVED`\n","isRequired":true,"uniqueKey":"change_type","typeLabel":"enum\u003cstring>"},"comment":{"type":"string","maxLength":2000,"description":"Optionaler Kommentar des Lieferanten zu dieser Änderung. Wird in der Benachrichtigung an das Bauunternehmen mitgesendet.","uniqueKey":"comment","typeLabel":"string"},"changes":{"type":"object","description":"Konkrete 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.\n","properties":{"items":{"type":"array","description":"Bestellpositionen. Wird übergeben, ersetzt der Server die bestehenden Positionen.","items":{"type":"object","description":"Lieferantenseitige Sicht auf eine einzelne Bestellposition. Nur in `EDIT_ORDER`-Anfragen relevant — bei anderen `change_type`-Werten wird das Feld ignoriert.\n","properties":{"title":{"type":"string","description":"Positionsbezeichnung","example":"Beton C25/30","uniqueKey":"changes.\\items.items.[INDEX].title","typeLabel":"string"},"quantity":{"type":"number","minimum":0,"description":"Bestellmenge","example":50,"uniqueKey":"changes.\\items.items.[INDEX].quantity","typeLabel":"number"},"unit":{"type":"string","description":"Mengeneinheit","example":"m3","uniqueKey":"changes.\\items.items.[INDEX].unit","typeLabel":"string"},"description":{"type":"string","description":"Optionale Detailbeschreibung der Position","uniqueKey":"changes.\\items.items.[INDEX].description","typeLabel":"string"},"product_number":{"type":"string","description":"Produktnummer beim Lieferanten","example":"BET-C2530","uniqueKey":"changes.\\items.items.[INDEX].product_number","typeLabel":"string"},"type":{"type":"string","description":"Positionstyp","uniqueKey":"changes.\\items.items.[INDEX].type","typeLabel":"string"},"marked":{"type":"boolean","description":"Position als verifiziert markieren","uniqueKey":"changes.\\items.items.[INDEX].marked","typeLabel":"boolean"}},"uniqueKey":"changes.\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"changes.\\items","typeLabel":"object[]"},"supplier_order_number":{"type":"string","description":"Lieferanteneigene Bestellnummer","example":"SUP-2024-0001","uniqueKey":"changes.supplier_order_number","typeLabel":"string"},"planned_delivery_time":{"type":"string","format":"date-time","description":"Geplantes Lieferdatum (ISO 8601)","example":"2024-06-12T08:30:00Z","uniqueKey":"changes.planned_delivery_time","typeLabel":"string\u003cdate-time>"},"comment":{"type":"string","description":"Lieferantenkommentar zur Bestellung","uniqueKey":"changes.comment","typeLabel":"string"},"properties":{"type":"object","description":"Frei strukturierte Zusatzinformationen. Wird mit den vorhandenen `properties` zusammengeführt (Shallow-Merge).","additionalProperties":true,"uniqueKey":"changes.properties","typeLabel":"object"}},"uniqueKey":"changes","typeLabel":"object"},"pdf_base64":{"type":"string","description":"Optionales base64-kodiertes PDF (roh oder mit data-URI-Präfix, max. 10 MB dekodiert)","uniqueKey":"pdf_base64","typeLabel":"string"},"pdf_file_name":{"type":"string","description":"Optionaler Dateiname für den Dokumenttitel bei `pdf_base64`","uniqueKey":"pdf_file_name","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"confirm_order":{"title":"confirm_order","value":{"change_type":"CONFIRM_ORDER","comment":"Bestellung wird wie geplant ausgeliefert."}},"confirm_order_with_pdf":{"title":"confirm_order_with_pdf","value":{"change_type":"CONFIRM_ORDER","comment":"Auftragsbestätigung im Anhang.","pdf_base64":"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2c+PgplbmRvYmoK","pdf_file_name":"order-confirmation.pdf"}},"decline_order":{"title":"decline_order","value":{"change_type":"DECLINE_ORDER","comment":"Material derzeit nicht lieferbar."}},"edit_order":{"title":"edit_order","value":{"change_type":"EDIT_ORDER","comment":"Lieferdatum und Mengen angepasst.","changes":{"supplier_order_number":"SUP-2024-0001","planned_delivery_time":"2024-06-12T08:30:00Z","items":[{"title":"Beton C25/30","quantity":50,"unit":"m3","product_number":"BET-C2530"},{"title":"Bewehrungsstahl","quantity":2,"unit":"t","product_number":"BST-500"}]}}},"confirm_on_demand":{"title":"confirm_on_demand","value":{"change_type":"CONFIRM_ON_DEMAND","comment":"Abruf bestätigt."}},"receive_order":{"title":"receive_order","value":{"change_type":"RECEIVE_ORDER"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"5d1d0f0a-6718-4254-b7f9-d6527d67e4c4":{"description":"Bestellung erfolgreich aktualisiert oder keine Änderungen erkannt","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Menschenlesbare Statusmeldung; `Keine Änderungen` signalisiert, dass keine Mutation durchgeführt wurde.","example":"Die aktualisierte Bestellung wurde an das Bauunternehmen gesendet.","uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Fehlermeldung, sofern aufgetreten (sonst `null`)","example":null,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fehlermeldung, sofern aufgetreten (sonst `null`)","example":null,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"uniqueKey":"error","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"updated":{"title":"updated","value":{"message":"Die aktualisierte Bestellung wurde an das Bauunternehmen gesendet.","error":null}},"no_changes":{"title":"no_changes","value":{"message":"Keine Änderungen","error":null}}},"exampleType":"examples"}},"exampleType":"examples"},"71e2a0fa-a628-4de1-ba1b-a91d5169dec1":{"description":"Ungültige Anfrage - Ungültige Eingabe oder Validierung fehlgeschlagen","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.0.message","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.0.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["message"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.1.error","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.1.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["success"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","isRequired":true,"uniqueKey":"oneOf.2.success","typeLabel":"boolean"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.2.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.2.message","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"validation_error":{"title":"validation_error","value":{"error":"Validation failed for field external_id"}},"array_expected":{"title":"array_expected","value":{"error":"Invalid request body. Expected an array of purchase orders."}}},"exampleType":"examples"}},"exampleType":"examples"},"11bb8eb1-3c9e-41fe-afc2-e1cee9288c44":{"description":"Nicht autorisiert - Schlüssel ist mit keinem Lieferanten verknüpft","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.0.message","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.0.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["message"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.1.error","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.1.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["success"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","isRequired":true,"uniqueKey":"oneOf.2.success","typeLabel":"boolean"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.2.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.2.message","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"missing_supplier_link":{"title":"missing_supplier_link","value":{"error":"Unauthorized. API key must be linked to a supplier (customer is optional)."}}},"exampleType":"examples"}},"exampleType":"examples"},"98e2d7f3-1923-4c35-92c3-db6c438bc54f":{"description":"Verboten - Fehlende Berechtigung oder Bestellung gehört einem anderen Lieferanten","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.0.message","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.0.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["message"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.1.error","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.1.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["success"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","isRequired":true,"uniqueKey":"oneOf.2.success","typeLabel":"boolean"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.2.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.2.message","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"missing_scope":{"title":"missing_scope","value":{"error":"Unauthorized. Missing scope: orders:write"}},"wrong_supplier":{"title":"wrong_supplier","value":{"error":"Forbidden. Order does not belong to this supplier."}}},"exampleType":"examples"}},"exampleType":"examples"},"982737ee-fdc5-427f-9cb0-c9eab2e892fa":{"description":"Bestellung nicht gefunden","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.0.message","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.0.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["message"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.1.error","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.1.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["success"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","isRequired":true,"uniqueKey":"oneOf.2.success","typeLabel":"boolean"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.2.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.2.message","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"not_found":{"title":"not_found","value":{"error":"Die Bestellnummer ist ungültig."}}},"exampleType":"examples"}},"exampleType":"examples"},"858292fa-8f41-4f13-89c0-d18a495b85fa":{"description":"Interner Serverfehler","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.0.message","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.0.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["message"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.1.error","typeLabel":"string"},"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","uniqueKey":"oneOf.1.success","typeLabel":"boolean"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["success"],"example":{"error":"Validation failed","message":"The provided data did not pass validation checks"},"properties":{"success":{"type":"boolean","description":"Zeigt Fehlschlag an, wenn in Fehlerantworten vorhanden","isRequired":true,"uniqueKey":"oneOf.2.success","typeLabel":"boolean"},"error":{"type":"string","description":"Fehlermeldung, die beschreibt, was schiefgelaufen ist","uniqueKey":"oneOf.2.error","typeLabel":"string"},"message":{"type":"string","description":"Zusätzliche Fehlerdetails oder benutzerfreundliche Nachricht","uniqueKey":"oneOf.2.message","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"server_error":{"title":"server_error","value":{"error":"The server was unable to process"}},"processing_error":{"title":"processing_error","value":{"error":"Error processing Purchase Orders","message":"Supplier not found. creditor_number does not match an existing supplier."}},"invoice_processing_error":{"title":"invoice_processing_error","value":{"success":false,"error":"Failed to parse invoice"}},"supplier_processing_error":{"title":"supplier_processing_error","value":{"message":"Error processing supplier data."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"71b82586-730e-43c2-9458-aa85dec8d736":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.\n\nJeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.\n","scopes":["orders:write"],"schemeName":"ApiKey"}}},"servers":{"27bdc885-654c-42d2-b8de-7d04f298bbbd":{"url":"https://api.comstruct.com/v1","description":"Haupt-API-Endpunkte (erfordert API-Schlüssel-Authentifizierung)","variables":{}},"91c701c1-ebe7-4fa2-b078-ea277e03dd21":{"url":"https://api.comstruct.com","description":"Basisserver für Kalender- und IDS-Endpunkte (andere Authentifizierung)","variables":{}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.\n\nJeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.\n","scopes":["orders:write"],"schemeName":"ApiKey"},"schema":{"title":"X-API-Key","type":"string","description":"API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.\n\nJeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"X-API-Key"}],"title":"ApiKey"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"comstruct","siteName":"comstruct API Dokumentation","title":"Lieferantenbestellung aktualisieren - comstruct API Dokumentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/api-reference/supplier-orders-patch","matchLevel":0},"en":{"href":"/en/api-reference/supplier-orders-patch","matchLevel":1}}},"lastModified":"2026-09-12T13:04:39.412Z","originalFileLocation":"api-reference/supplier-orders-patch.mdx","locale":"de"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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. Optional kann pdf_base64 ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert. 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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"comstruct API Dokumentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Lieferantenbestellung aktualisieren - comstruct API Dokumentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"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. Optional kann pdf_base64 ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert. 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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"comstruct API Dokumentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.comstruct.com/api-reference/supplier-orders-patch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://comstruct.mintlify.site/_mintlify/api/og/v2?division=Bestellungen+%28Lieferanten%29\u0026amp;title=Lieferantenbestellung+aktualisieren\u0026amp;description=**Erforderliche+Berechtigungen%3A**+%60orders%3Awrite%60%0A%0AErm%C3%B6glicht+es+einem+Lieferanten%2C+eine+ihm+zugeordnete+Bestellung+zu+aktualisieren+%E2%80%94+Best%C3%A4tigen%2C+Ablehnen%2C+Bear\u0026amp;theme=d33cf08ebb99773992a781ff\u0026amp;signature=90bebc9fb3b983bdcc491d2ed2f886e1ca862a7bc21486b7451672f6c5e689c5\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Lieferantenbestellung aktualisieren - comstruct API Dokumentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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. Optional kann pdf_base64 ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert. 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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://comstruct.mintlify.site/_mintlify/api/og/v2?division=Bestellungen+%28Lieferanten%29\u0026amp;title=Lieferantenbestellung+aktualisieren\u0026amp;description=**Erforderliche+Berechtigungen%3A**+%60orders%3Awrite%60%0A%0AErm%C3%B6glicht+es+einem+Lieferanten%2C+eine+ihm+zugeordnete+Bestellung+zu+aktualisieren+%E2%80%94+Best%C3%A4tigen%2C+Ablehnen%2C+Bear\u0026amp;theme=d33cf08ebb99773992a781ff\u0026amp;signature=90bebc9fb3b983bdcc491d2ed2f886e1ca862a7bc21486b7451672f6c5e689c5\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"comstruct API Dokumentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2F6879\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.comstruct.com/api-reference/supplier-orders-patch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/supplier-orders-patch.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://developer.comstruct.com/api-reference/supplier-orders-patch\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://developer.comstruct.com/en/api-reference/supplier-orders-patch\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://developer.comstruct.com/api-reference/supplier-orders-patch\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.comstruct.com/#organization\",\"name\":\"comstruct API Dokumentation\",\"url\":\"https://developer.comstruct.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/comstruct/Jpsyju8lznqRSEZJ/logo/light.svg?fit=max\u0026auto=format\u0026n=Jpsyju8lznqRSEZJ\u0026q=85\u0026s=acbbee3c044994a3e7752740782d923f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.comstruct.com#website\",\"name\":\"comstruct API Dokumentation\",\"url\":\"https://developer.comstruct.com\",\"publisher\":{\"@id\":\"https://developer.comstruct.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch#webpage\",\"url\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch\",\"name\":\"Lieferantenbestellung aktualisieren\",\"description\":\"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. Optional kann pdf_base64 ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert. 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.\",\"dateModified\":\"2026-09-12T13:04:39.412Z\",\"isPartOf\":{\"@id\":\"https://developer.comstruct.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"comstruct API Dokumentation\",\"item\":\"https://developer.comstruct.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lieferantenbestellung aktualisieren\",\"item\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch#apireference\",\"headline\":\"Lieferantenbestellung aktualisieren\",\"name\":\"Lieferantenbestellung aktualisieren\",\"description\":\"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. Optional kann pdf_base64 ein base64-kodiertes PDF (z. B. Auftragsbestätigung) mitschicken. Identische PDFs werden per Content-Hash dedupliziert. 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.\",\"url\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch\",\"mainEntityOfPage\":{\"@id\":\"https://developer.comstruct.com/api-reference/supplier-orders-patch#webpage\"},\"dateModified\":\"2026-09-12T13:04:39.412Z\",\"publisher\":{\"@id\":\"https://developer.comstruct.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.comstruct.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"comstruct API Dokumentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"comstruct API Dokumentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/supplier-orders-patch.md","siteName":"comstruct API Dokumentation","nav":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:support@comstruct.com"}]},"languages":[{"language":"de","default":true,"tabs":[{"tab":"Erste Schritte","pages":[{"title":"Erste Schritte","href":""}]},{"tab":"API-Referenz","groups":[{"group":"Übersicht","pages":[{"title":"API-Referenz","href":"/api-reference/introduction"}]},{"group":"Projekte","pages":[{"title":"Projekte auflisten","openapi":"GET /projects","href":"/api-reference/projects"},{"title":"Projekt erstellen oder aktualisieren","openapi":"POST /projects","href":"/api-reference/projects-create"},{"title":"Benutzer zuweisen","openapi":"POST /projects/user-assignments","href":"/api-reference/projects-user-assignments"},{"title":"Projekt nach externer ID abrufen","openapi":"GET /projects/byExternalId/{external_id}","href":"/api-reference/projects-by-external-id"},{"title":"Projekt nach Projektnummer abrufen","openapi":"GET /projects/byProjectNumber/{project_number}","href":"/api-reference/projects-by-number"},{"title":"Projektkomponenten abrufen","openapi":"GET /projects/{id}/components","href":"/api-reference/projects-components"},{"title":"Kategorien abrufen","openapi":"GET /projects/{id}/work-types","href":"/api-reference/projects-work-types"},{"title":"Kategorien importieren","openapi":"POST /projects/{id}/work-types","href":"/api-reference/projects-work-types-upsert"},{"title":"SAP-Projekte erstellen","openapi":"POST /projects/sap","href":"/api-reference/projects-sap"}]},{"group":"Lieferungen","pages":[{"title":"Lieferungen auflisten","openapi":"GET /deliveries","href":"/api-reference/deliveries"},{"title":"Lieferung erstellen","openapi":"POST /deliveries","href":"/api-reference/deliveries-create"},{"title":"Lieferung aktualisieren","openapi":"PATCH /deliveries/{id}","href":"/api-reference/deliveries-patch"},{"title":"Lieferung nach ID abrufen","openapi":"GET /deliveries/{id}","href":"/api-reference/deliveries-by-id"},{"title":"Lieferkomponenten abrufen","openapi":"GET /deliveries/{id}/components","href":"/api-reference/deliveries-components-get"},{"title":"Lieferkomponenten ersetzen","openapi":"PUT /deliveries/{id}/components","href":"/api-reference/deliveries-components-put"},{"title":"Lieferschein-PDF abrufen","openapi":"GET /deliveries/{id}/pdf","href":"/api-reference/deliveries-pdf"},{"title":"Lieferschein-PDF hochladen","openapi":"POST /deliveries/pdf","href":"/api-reference/deliveries-pdf-upload"},{"title":"OpenTrans-Lieferung erstellen","openapi":"POST /deliveries/opentrans","href":"/api-reference/deliveries-opentrans"},{"title":"PAHM-Lieferung erstellen","openapi":"POST /deliveries/pahm","href":"/api-reference/deliveries-pahm"},{"title":"Eigene Lieferung erstellen","openapi":"POST /deliveries/custom","href":"/api-reference/deliveries-custom"}]},{"group":"Rechnungen","pages":[{"title":"Rechnungen auflisten","openapi":"GET /invoices","href":"/api-reference/invoices"},{"title":"Rechnung abrufen","openapi":"GET /invoices/{id}","href":"/api-reference/invoices-by-id"},{"title":"Rechnungspositionen abrufen","openapi":"GET /invoices/{id}/items","href":"/api-reference/invoices-items"},{"title":"Rechnungsverlauf abrufen","openapi":"GET /invoices/{id}/history","href":"/api-reference/invoices-history"},{"title":"Rechnungs-PDF abrufen","openapi":"GET /invoices/{id}/pdf","href":"/api-reference/invoices-pdf"},{"title":"DATEV-XML-Export abrufen","openapi":"POST /invoices/public/datev-export","href":"/api-reference/invoices-datev-export"},{"title":"Externen Rechnungsstatus setzen","openapi":"PATCH /invoices/{id}/external-status","href":"/api-reference/invoices-external-status"},{"title":"Rechnung verarbeiten (eigenes Format)","openapi":"POST /invoices/custom","href":"/api-reference/invoices-custom"},{"title":"SAP-Rechnungs-Rückmeldung","openapi":"POST /invoices/callback","href":"/api-reference/invoices-callback"}]},{"group":"Rechnungs-Dimensionen","pages":[{"title":"Rechnungs-Dimensionen (Custom Properties)","openapi":"GET /invoice-dimensions","href":"/api-reference/invoice-dimensions"},{"title":"Rechnungs-Dimension anlegen","openapi":"POST /invoice-dimensions","href":"/api-reference/invoice-dimensions-create"},{"title":"Rechnungs-Dimension aktualisieren","openapi":"PATCH /invoice-dimensions/{id}","href":"/api-reference/invoice-dimensions-update"},{"title":"Rechnungs-Dimension löschen","openapi":"DELETE /invoice-dimensions/{id}","href":"/api-reference/invoice-dimensions-delete"},{"title":"Dimension-Optionen abrufen","openapi":"GET /invoice-dimensions/{dimensionId}/options","href":"/api-reference/invoice-dimensions-options-list"},{"title":"Dimension-Optionen anlegen","openapi":"POST /invoice-dimensions/{dimensionId}/options","href":"/api-reference/invoice-dimensions-options-create"},{"title":"Dimension-Option aktualisieren","openapi":"PATCH /invoice-dimensions/options/{id}","href":"/api-reference/invoice-dimensions-options-update"},{"title":"Dimension-Option löschen","openapi":"DELETE /invoice-dimensions/options/{id}","href":"/api-reference/invoice-dimensions-options-delete"},{"title":"Dimensions-Zuweisungen einer Rechnung abrufen","openapi":"GET /invoice-dimensions/assignments/invoice/{invoiceId}","href":"/api-reference/invoice-dimensions-assignments-invoice-get"},{"title":"Header-Dimensions-Zuweisungen setzen","openapi":"POST /invoice-dimensions/assignments/invoice","href":"/api-reference/invoice-dimensions-assignments-invoice-set"},{"title":"Positions-Dimensions-Zuweisungen (Bulk) setzen","openapi":"POST /invoice-dimensions/assignments/line-item/bulk","href":"/api-reference/invoice-dimensions-assignments-line-item-bulk"},{"title":"Konto-Dimensions-Zuweisungen (Bulk) setzen","openapi":"POST /invoice-dimensions/assignments/account/bulk","href":"/api-reference/invoice-dimensions-assignments-account-bulk-set"},{"title":"Konto-Dimensions-Zuweisungen (Bulk) teilweise aktualisieren","openapi":"PATCH /invoice-dimensions/assignments/account/bulk","href":"/api-reference/invoice-dimensions-assignments-account-bulk-patch"},{"title":"Konto-Dimensions-Zuweisungen (ein Konto) setzen","openapi":"POST /invoice-dimensions/assignments/account","href":"/api-reference/invoice-dimensions-assignments-account-set"},{"title":"Dimensions-Zuweisung löschen","openapi":"DELETE /invoice-dimensions/assignments/{id}","href":"/api-reference/invoice-dimensions-assignments-delete"}]},{"group":"Lieferanten","pages":[{"title":"Lieferanten erstellen oder aktualisieren","openapi":"POST /suppliers","href":"/api-reference/suppliers"},{"title":"SAP-Lieferanten erstellen oder aktualisieren","openapi":"POST /suppliers/sap","href":"/api-reference/suppliers-sap"},{"title":"Lieferant Buchungskreisen zuordnen","openapi":"PUT /suppliers/{id}/legal-entities","href":"/api-reference/suppliers-legal-entities"}]},{"group":"Bestellungen","pages":[{"title":"Bestellungen auflisten","openapi":"GET /purchase-orders","href":"/api-reference/purchase-orders-list"},{"title":"Bestellungen erstellen","openapi":"POST /purchase-orders","href":"/api-reference/purchase-orders"},{"title":"SAP-Bestellungen erstellen","openapi":"POST /purchase-orders/sap","description":"**Erforderliche Berechtigungen:** `purchase_orders:write`\n\nEmpfängt und verarbeitet Bestellungen aus dem SAP-System. Akzeptiert ein Array von SAP-Bestellungen als rohe JSON-Daten.\nAPI-Schlüssel muss mit einem Kunden verknüpft sein.\n**Validierung**: Alle Bestellungen müssen die Schemavalidierung bestehen und auf existierende Lieferanten verweisen.\n\n**Optionale Felder:**\n- `alternative_number`: Alternative Bestellnummer in SAP (wird zu `alternative_contract_number` zugeordnet)\n","href":"/api-reference/purchase-orders-sap"}]},{"group":"Bestellungen (Lieferanten)","pages":[{"title":"Lieferantenbestellung aktualisieren","openapi":"PATCH /supplier-orders/{id}","href":"/api-reference/supplier-orders-patch"}]},{"group":"Stammdaten","pages":[{"title":"Konten auflisten","openapi":"GET /accounts","description":"**Erforderliche Berechtigungen:** `accounts:read`\n\nRuft eine paginierte Liste von Konten für den aktuellen Mandanten ab, aufsteigend sortiert nach `number`.\n","href":"/api-reference/accounts"},{"title":"Konten erstellen oder aktualisieren","openapi":"POST /accounts","href":"/api-reference/accounts-create"},{"title":"Zahlungsbedingungen auflisten","openapi":"GET /payment-terms","href":"/api-reference/payment-terms"},{"title":"Zahlungsbedingungen erstellen/aktualisieren","openapi":"POST /payment-terms","href":"/api-reference/payment-terms-upsert"},{"title":"Steuercodes auflisten","openapi":"GET /tax-codes","href":"/api-reference/tax-codes"},{"title":"Steuercodes erstellen/aktualisieren","openapi":"POST /tax-codes","href":"/api-reference/tax-codes-upsert"},{"title":"Buchungskreise auflisten","openapi":"GET /legal-entities","href":"/api-reference/company-codes"},{"title":"Buchungskreise erstellen/aktualisieren","openapi":"POST /legal-entities","href":"/api-reference/company-codes-upsert"},{"title":"Projektregionen auflisten","openapi":"GET /project-regions","href":"/api-reference/project-regions"},{"title":"Projektregionen erstellen/aktualisieren","openapi":"POST /project-regions","href":"/api-reference/project-regions-upsert"}]},{"group":"Q-Point Integration","pages":[{"title":"Q-Point-Lieferung erstellen","openapi":"POST /qpoint","href":"/api-reference/qpoint"},{"title":"Q-Point-PDF hochladen","openapi":"POST /qpoint/pdf","href":"/api-reference/qpoint-pdf"}]},{"group":"Workflows","pages":[{"title":"Workflow auslösen","openapi":"POST /workflows/trigger","href":"/api-reference/workflows-trigger"},{"title":"Workflow-Status abrufen","openapi":"GET /workflows/status/{external_id}","href":"/api-reference/workflows-status"},{"title":"Workflow-Status aktualisieren","openapi":"PUT /workflows/status/{external_id}","href":"/api-reference/workflows-status-update"}]},{"group":"Kalender","pages":[{"title":"Kalender-Abonnement","openapi":"GET /calendars/subscription","href":"/api-reference/calendars"}]},{"group":"IDS Aufträge","pages":[{"title":"IDS-Auftrag verarbeiten","openapi":"POST /ids/{order_id}","href":"/api-reference/ids-orders"}]}]}]},{"language":"en","pages":[{"title":"en","href":"/en/api-reference/supplier-orders-patch"}]}]},"basePath":"","title":"Lieferantenbestellung aktualisieren - comstruct API Dokumentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}