Zum Hauptinhalt springen
PUT
/
deliveries
/
{id}
/
components
curl --request PUT \
  --url https://api.comstruct.com/v1/deliveries/{id}/components \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "groups": [
    {
      "component_ids": [
        42,
        17
      ],
      "distribution": {
        "Beton C30/37": 5.5,
        "Betonpumpe": 1
      }
    },
    {
      "component_ids": [
        99
      ],
      "distribution": {
        "Beton C25/30": 3
      }
    }
  ]
}
'
{
  "groups": [
    {
      "group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "distribution": {
        "Beton C30/37": 5.5
      },
      "components": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "component_id": 123,
          "component_title": "<string>",
          "component_type_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "component_type_title": "<string>"
        }
      ]
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://developer.comstruct.com/llms.txt

Use this file to discover all available pages before exploring further.

Übersicht

Ersetzt alle Komponentenzuordnungen der Lieferung durch den übergebenen Satz von Gruppen. Das entspricht dem Speichern der Komponentenübersicht in der Web-App: jede Gruppe bündelt mehrere Projektkomponenten (üblicherweise eine pro Komponententyp), die dieselbe Mengenverteilung auf die Lieferpositionen teilen.

Berechtigungen

ScopeTenant-Typ
deliveries:patchNur Kunden (CUSTOMER_ONLY)
Der API-Schlüssel muss mit einem Kunden verknüpft sein. Lieferanten-API-Schlüssel können diesen Endpunkt nicht verwenden.

Anfragetext

FeldTypBeschreibung
groupsarrayListe der Gruppen; [] entfernt alle Zuordnungen

Pro Gruppe (groups[])

FeldTypBeschreibung
component_idsnumber[]IDs der Projektkomponenten; mindestens ein Eintrag, innerhalb der Gruppe eindeutig
distributionobjectMap von Positionsbezeichnung (title der Lieferposition) auf nicht negative endliche Menge

Validierung und Verhalten

  • Alle component_ids müssen zum Projekt der Lieferung gehören.
  • Verteilungswerte müssen endliche, nicht negative Zahlen sein.
  • Gruppen mit leerer distribution oder nur Nullwerten werden ignoriert (wie in der Web-App).
  • Die Antwort hat dieselbe Form wie GET /deliveries/{id}/components (inkl. serverseitig vergebener group_id und angereicherter Komponentenmetadaten).

Response Codes

CodeBeschreibung
200Komponenten erfolgreich gesetzt; Body wie GET
400Ungültiger Body oder Komponenten passen nicht zum Projekt
403Keine Berechtigung — Lieferung gehört einem anderen Kunden
404Lieferung nicht gefunden

Autorisierungen

X-API-Key
string
header
erforderlich

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

Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.

Pfadparameter

id
string<uuid>
erforderlich

Lieferungs-ID (UUID)

Body

application/json
groups
object[]
erforderlich

Liste der Komponentengruppen; leeres Array entfernt alle Zuordnungen

Antwort

Komponentengruppen nach der Aktualisierung (gleiche Struktur wie GET)

groups
object[]
erforderlich