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>"
        }
      ]
    }
  ]
}

Ü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