TracePass
Pässe

Pass-Konformität prüfen

Liefert ein dreistufiges Konformitätsurteil für einen Pass — compliant, compliant_with_warnings oder incomplete — zusammen mit regulierungsbezogenen Findings, sodass eine Integration einen Pass prüfen, die genannten Lücken beheben und erneut aufrufen kann, um zu bestätigen. Diese Kette prüfen → beheben → verifizieren ist der Zweck: Die Antwort sagt dem KI-Agenten genau, was als Nächstes zu setzen ist.

GET/api/v1/passports/{id}/compliance
OpenAPI 3.1 herunterladen
GET/api/v1/passports/{id}/compliance

Pass-Konformität prüfen

Liefert ein dreistufiges Konformitätsurteil für einen Pass — compliant, compliant_with_warnings oder incomplete — zusammen mit regulierungsbezogenen Findings, sodass eine Integration einen Pass prüfen, die genannten Lücken beheben und erneut aufrufen kann, um zu bestätigen. Diese Kette prüfen → beheben → verifizieren ist der Zweck: Die Antwort sagt dem KI-Agenten genau, was als Nächstes zu setzen ist.

Findings stammen aus drei Stufen. Static: erforderliche Template-Felder, die fehlen oder nicht freigegeben sind, und erforderliche Wirtschaftsakteure, die nicht gesetzt sind, sind critical; Feldwerte, die das Template-Format verletzen (Pattern / Enum / Grenzen), sind warning. Conditional: kategoriespezifische Regeln — der Batteriepass-Geltungsbereich nach Verordnung (EU) 2023/1542 Art. 77 Abs. 1 (warning, bis die Pflicht am 18. Februar 2027 gilt, danach critical), die Anwendbarkeit der Batteriefelder, die Leistungserklärung nach Verordnung (EU) 2024/3110 und die Stimmigkeit der CE-Kennzeichnung — plus die übergreifende Regel, dass ein von einem Nicht-EU-Hersteller auf dem EU-Markt bereitgestelltes Produkt einen in der EU niedergelassenen Akteur benötigt (Verordnung (EU) 2019/1020 Art. 4).

byRegulation gruppiert dieselben Findings nach der Verordnung, die sie ausgelöst hat — die schwerwiegendsten zuerst —, damit eine einzelne REACH-Lücke nicht als „die DPP-Pflicht ist nicht erfüllt“ gelesen wird, wenn sie vollständig erfüllt ist. Es wird aus den obigen Findings abgeleitet und widerspricht verdict nie — das zusammengefasste Verdict bleibt für die Veröffentlichung maßgeblich. Eine Verordnung, die im Array fehlt, hat kein Finding ausgelöst, was NICHT dasselbe ist wie bestanden: es erscheinen nur Verordnungen mit Findings. Findings ohne Verordnung werden unter unattributed gruppiert statt verworfen.

Lesen Sie conditionalCoverage. Es ist evaluated, wenn Conditional-Regeln für diese Kategorie liefen, oder static-only, wenn noch keine bindende Conditional-Regel in Kraft ist. Bei static-only bedeutet das Fehlen von Conditional-Findings NICHT, dass die Kategorie keine künftigen Anforderungen hat — nur dass noch keine rechtsverbindlich sind. Ein mit unverifiable_conditional markiertes Finding bedeutet, dass eine Regel gilt, aber die zur Auswertung nötigen Daten (z. B. Batteriekategorie, SVHC-Gehalt) nicht im Pass stehen — prüfen Sie es manuell. Ein mit inconsistent_values markiertes Finding ist eine Warnung, dass Werte im Pass einander widersprechen, etwa die Energie einer Batterie gegenüber Nennspannung × Nennkapazität oder ein Widerstand von 0. Prüfen Sie zuerst das Feld in target. Nur lesend; zählt als ein v1-Passlesezugriff gegen das Tageslimit.

Pfad-Parameter

  • iderforderlich

    string (24 hex chars)

    Pass-ID.

Header

  • Authorizationerforderlich

    string

    Bearer <token> — entweder ein tp_ API-Schlüssel (Developer → API Keys; am einfachsten, für Server-zu-Server) oder ein OAuth-2.0-Access-Token (Developer → OAuth Apps; für nutzerautorisierte Apps, scoped und widerrufbar). Die Authentication-Seite enthält den vollständigen OAuth-Flow und die Scope-Liste.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

Anfrage

curl -sS \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/compliance \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Antwort

{
  "verdict": "incomplete",
  "category": "battery",
  "conditionalCoverage": "evaluated",
  "critical": [
    {
      "type": "conditional_missing",
      "severity": "critical",
      "target": "batteryUniqueIdentifier",
      "regulation": "(EU) 2023/1542",
      "article": "Art. 77(1)",
      "ruleId": "BAT-1",
      "why": "This is an in-scope battery (EV); a battery passport with its unique identifier is mandatory.",
      "fix": "Provide batteryUniqueIdentifier — the battery passport's unique identifier (GS1 Digital Link)."
    }
  ],
  "warnings": [],
  "checkedRules": ["static:required-fields", "static:required-parties", "static:format", "BAT-1", "BAT-APP", "BAT-VAL", "CE-1", "CC-1"],
  "completionPercentage": 72,
  "byRegulation": [
    {
      "regulation": "(EU) 2023/1542",
      "verdict": "incomplete",
      "critical": [
        {
          "type": "conditional_missing",
          "severity": "critical",
          "target": "batteryUniqueIdentifier",
          "regulation": "(EU) 2023/1542",
          "article": "Art. 77",
          "ruleId": "BAT-1",
          "why": "This is an in-scope battery (EV); a battery passport with its unique identifier is mandatory.",
          "fix": "Provide batteryUniqueIdentifier — the battery passport's unique identifier (GS1 Digital Link)."
        }
      ],
      "warnings": []
    }
  ]
}