Skip to content

EU-megfelelőség ellenőrzése

EU-megfelelőség ellenőrzése

A qr3.app egy beépített EU-validátort tartalmaz a Digital Product Passport-okhoz (DPP). Ellenőrzi a DPP-ket a vonatkozó EU-s szabályozásokkal szemben (ESPR, Loi AGEC), és strukturált problémákat (Issues) ad vissza súlyossággal (Severity), mezőútvonallal, tippekkel és egy opcionális ESPR-ready jelvénnyel.

Három belépési pont létezik:

  1. Szerveroldali, már elmentett DPP-kGET /v1/dpp/:id/eu-compliance
  2. Élő előnézet a létrehozási űrlaponPOST /v1/dpp/validate
  3. Élő szimulátor részletesenPOST /v1/dpp/:id/validate-update

Mindhárom ugyanazt az EuComplianceResult struktúrát adja vissza — így a kiértékelést csak egyszer kell implementálnod.

Az eredmény struktúrája

{
"compliant": false,
"espr_ready": true,
"issues": [
{
"code": "TEXTILE_AGEC_REQUIRED",
"severity": "error",
"field": "textile_data.country_weaving_knitting",
"message": "AGEC chain country is required for products sold on the French market",
"hints": { "market": "FR" }
},
{
"code": "TEXTILE_GREENWASHING",
"severity": "warning",
"field": "product_name",
"message": "\"natural\" is a prohibited term under AGEC",
"hints": { "term": "natural", "locale": "en", "category": "generic" }
}
],
"summary": { "errors": 1, "warnings": 1, "info": 0 }
}
  • compliant: truesummary.errors === 0
  • espr_ready: true ⇔ minden ESPR-Opt-in mező be van állítva (lásd: Textil-DPP)
  • az issues[] stabilan rendezett súlyosság (errorwarninginfo), majd kód szerint

Súlyossági szintek

SúlyosságJelentésPélda
errorBlokkolja az EU-megfelelőséget; a kiadás előtt javítani kellTEXTILE_AGEC_REQUIRED, ha FR szerepel a piacon és a származási lánc hiányos
warningAjánlás; az ügyfél menthet, de cselekednie kelleneTEXTILE_GREENWASHING FR-en kívül
infoÁllapotjelzés teendő nélkülTEXTILE_ESPR_READY — minden ESPR-Opt-in mező hiánytalan

Szabálykatalógus (Textil + Akkumulátor)

Textil (Q3.3.4)

KódSúlyosságKiváltó ok
TEXTILE_AGEC_REQUIREDerror (FR) · warning (egyébként)AGEC-lánc (szövés/festés/konfekcionálás) hiányos, FR szerepel a piacon
TEXTILE_MICROPLASTICS_CONSISTENCYerrorSzintetikus anyag ≥ 50%, de a contains_microplastics !== true
TEXTILE_SVHC_THRESHOLDwarningSVHC-bejegyzés CAS-szám oder Konzentration nélkül
TEXTILE_GREENWASHINGerror (FR) · warning (egyébként)Tiltólistás kifejezés a product_name/material mezőben
TEXTILE_ESPR_READYinfoMinden ESPR-mező B7–B15 hiánytalan

Akkumulátor (Phase 4a)

A validátor ellenőrzi az EU 2023/1542 akkumulátor-rendelet határértékeit (újrahasznosított tartalom küszöbértékei, Carbon-Footprint osztályok, minimális garancia stb.). Részletek az Akkumulátor-DPP dokumentációban.

Élő előnézet a létrehozási űrlapon

Amint létrehozol egy DPP-t az irányítópulton (/dashboard/dpp/new), ugyanaz a validátor fut le állapotmentesen minden validációs körút során — anélkül, hogy az útlevelet el kellene menteni. Az eu_compliance szekció közvetlenül a meglévő validációs panel alatt jelenik meg, und kiemeli a hibákat és figyelmeztetéseket a beküldés előtt.

Közvetlen API-elérés:

Terminal window
curl -X POST https://qr3.app/v1/dpp/validate \
-H "Authorization: Bearer $API_KEY" \
-H "X-Workspace-Id: $WS_ID" \
-H "Content-Type: application/json" \
-d '{
"category": "textile",
"gtin": "04012345678901",
"product_name": "Natural Cotton T-Shirt",
"manufacturer": "EcoWear GmbH",
"origin_country": "PT",
"market_countries": ["FR"],
"textile_data": { "fiber_composition": [{ "material": "cotton", "percentage": 100, "recycled_pct": 0 }] }
}'

A válasz a következőket tartalmazza:

  • data.valid — szintaktikai érvényesség (Zod)
  • data.errors[] — klasszikus Zod-hibák
  • data.jsonld_preview — JSON-LD előnézet
  • data.eu_compliance — EU-validátor eredménye (null, ha a Zod-validáció sikertelen)

Ha az eu_compliance.summary.errors > 0, az irányítópult egy Save-Guard bannert jelenít meg közvetlenül a Submit gomb felett — a mentés nincs blokkolva, de a kattintás előtt láthatod a következményeket.

Élő szimulátor részletesen

A /dashboard/dpp/:dppId oldalon a megfelelőségi szekció alatt található egy szimulátor kártya. Ez lehetővé teszi a két leginkább megfelelőség-releváns mező (status és market_countries) módosítását, és a hatás azonnali megtekintését — a meglévő adatok módosítása nélkül. Tipikus folyamat:

  1. Preview: „Mi történik, ha felveszem FR-t a kínálatba?” → „FR” chip kiválasztása → „Preview EU impact” → a TEXTILE_AGEC_REQUIRED láthatóvá válik
  2. Fix: Származási lánc kiegészítése (a szimulátoron kívül, a létrehozási vagy tömeges folyamatban)
  3. Save: A „Save changes” közvetlenül elmenti az állapot/piac listát a PUT /v1/dpp/:id híváson keresztül

Közvetlen API-elérés:

Terminal window
curl -X POST https://qr3.app/v1/dpp/$DPP_ID/validate-update \
-H "Authorization: Bearer $API_KEY" \
-H "X-Workspace-Id: $WS_ID" \
-H "Content-Type: application/json" \
-d '{ "market_countries": ["DE", "FR"], "status": "live" }'

A válasz kibővíti az alapértelmezett eredményt egy preview objektummal:

{
"data": {
"compliant": false,
"espr_ready": false,
"issues": [/* … */],
"summary": { "errors": 1, "warnings": 0, "info": 0 },
"preview": {
"status": "live",
"landing_locale": "de",
"market_countries": ["DE", "FR"],
"changed_fields": ["status", "market_countries"]
}
}
}

A changed_fields[] csak azokat a mezőket sorolja fel, amelyek valóban változnának — így például a felhasználói felületen csak a megváltozott chipeket emelheted ki.

Az üres törzs (body) megengedett, és az aktuális megfelelőségi értékelést adja vissza (a jelenlegi állapot újraellenőrzése).

Automatizálás

CI-pipeline

Egy tipikus CI-ellenőrzés:

Terminal window
STATUS=$(curl -s -o /tmp/out.json -w "%{http_code}" \
https://qr3.app/v1/dpp/$DPP_ID/eu-compliance \
-H "Authorization: Bearer $API_KEY" \
-H "X-Workspace-Id: $WS_ID")
if [ "$STATUS" != "200" ]; then
exit 1
fi
jq -e '.data.summary.errors == 0' /tmp/out.json > /dev/null

MCP-szerver

A mellékelt @qr3/mcp-server többek között egy validate_dpp eszközt is kínál — a mesterséges intelligencia ágensek ezzel a létrehozási hívás előtt ellenőrizhetik, hogy a rendelkezésre álló adatok megfelelnek-e az AGEC-szabályoknak.

Gyakori hibák

ProblémaOkMegoldás
TEXTILE_MICROPLASTICS_CONSISTENCYPoliészter részarány ≥ 50%, de a flag értéke falsecontains_microplastics: true beállítása
TEXTILE_AGEC_REQUIRED hints.market: "FR" értékkelFR szerepel a piacon, a lánc hiányoscountry_weaving_knitting, country_dyeing_printing, country_assembly beállítása
TEXTILE_GREENWASHING error-kéntTiltott kifejezés + FR szerepel a piaconKifejezés eltávolítása a product_name mezőből vagy a piac módosítása
TEXTILE_SVHC_THRESHOLDSVHC-anyag CAS nélkülCAS-szám megadása a REACH-listából

Következő lépések

  • Textil-DPP — séma, származási lánc, mikroplasztik figyelmeztető doboz
  • Akkumulátor-DPP — kötelező mezők az akkumulátor-útlevélhez
  • API-referencia — minden EU-megfelelőségi végpont részletesen