TracePass
Pässe

Wirtschaftsakteurs-Partei upsert

Erstellt oder ersetzt die Party für eine Rolle auf einem Pass. Das Pfad-Segment role bestimmt den Slot — `manufacturer`, `importer`, `authorisedRepresentative`, `distributor`, `recycler`, `producerResponsibilityOrg`. Zweimaliges Senden derselben Rolle ist ein Upsert: der bestehende Block wird atomar ersetzt.

PATCH/api/v1/passports/{id}/parties/{role}
OpenAPI 3.1 herunterladen
PATCH/api/v1/passports/{id}/parties/{role}

Wirtschaftsakteurs-Partei upsert

Erstellt oder ersetzt die Party für eine Rolle auf einem Pass. Das Pfad-Segment role bestimmt den Slot — `manufacturer`, `importer`, `authorisedRepresentative`, `distributor`, `recycler`, `producerResponsibilityOrg`. Zweimaliges Senden derselben Rolle ist ein Upsert: der bestehende Block wird atomar ersetzt.

Die Identität wird vollständig durch den Body ausgedrückt: `legalName` (erforderlich), `gln` (GS1 Global Location Number — dringend empfohlen für Mehrrollen-Disambiguierung), `country` (ISO 3166-1 alpha-2), `legacyOperatorId` (USt-ID / EORI / Lieferantencode als Free-Text-Fallback), `url`. Mindestens eines von `gln` oder `legacyOperatorId` muss gesetzt sein — ohne Identifier identifiziert die Party niemanden. Wenn zwei Rollen dieselbe `gln` teilen, fasst die JSON-LD-Emission sie zu einer Partei mit mehreren Rollen zusammen.

Zählt als ein v1-Schreibvorgang. Unterstützt Idempotency-Key. Die Batterieverordnung verlangt mindestens { manufacturer, importer (wenn anwendbar), recycler }, bevor ein Pass akzeptiert wird; der Regulatory-Completeness-Scorecard zeigt fehlende Rollen im Dashboard an. Das passende `DELETE /api/v1/passports/{id}/parties/{role}` entfernt eine Rolle idempotent.

Pfad-Parameter

  • iderforderlich

    ObjectId

    Pass-ID.

    e.g. 6650b2c3d4e5f6a7b8c9d0e1

  • roleerforderlich

    enum

    Einer von: `manufacturer`, `importer`, `authorisedRepresentative`, `distributor`, `recycler`, `producerResponsibilityOrg`. Andere Rollen liefern 400 zurück.

    e.g. recycler

Header

  • Authorizationerforderlich

    string

    `Bearer <api-key>`.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

  • Idempotency-Key

    string

    UUID v4 pro logischer Operation.

Body-Felder

  • legalNameerforderlich

    string (1-200 chars)

    Name der juristischen Person wie im Handelsregister. Erforderlich — eine Party ohne Namen hilft keinem Procurement-Leser, unabhängig vom getragenen Identifier.

    e.g. EuroBat Recyclers GmbH

  • gln

    string (13 digits)

    GS1 Global Location Number mit gültiger Mod-10-Prüfziffer. Dringend empfohlen — wenn zwei Rollen dieselbe `gln` teilen, gibt das JSON-LD eine einzelne Partei mit beiden Rollen aus. Muss als echte GLN validieren; partielle / nur-Ziffern-Strings liefern 400.

    e.g. 4012345678901

  • country

    string (ISO 3166-1 alpha-2)

    Zweibuchstabiger Großbuchstaben-Ländercode — z. B. `DE`, `BG`, `FR`.

    e.g. DE

  • legacyOperatorId

    string (1-120 chars)

    Free-Text-Fallback-Identifier für Parteien ohne GLN — USt-IdNr., EORI, Lieferantencode oder eine interne ID Ihres ERP. Erforderlich, wenn `gln` ausgelassen wird.

    e.g. DE123456789

  • url

    string (URL, max 500 chars)

    Organisationsseite — typischerweise die Unternehmenswebsite oder eine Corporate-Info-Unterseite.

    e.g. https://eurobat-recyclers.example

Anfrage

curl -sS -X PATCH \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/parties/recycler \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "legalName": "EuroBat Recyclers GmbH",
    "gln": "4012345678901",
    "country": "DE",
    "url": "https://eurobat-recyclers.example"
  }'

Antwort

{
  "role": "recycler",
  "party": {
    "legalName": "EuroBat Recyclers GmbH",
    "gln": "4012345678901",
    "country": "DE",
    "url": "https://eurobat-recyclers.example",
    "status": "active"
  },
  "version": 5
}