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 (digitális termékútlevelekhez). 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 severity-szinttel, 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 a részletes nézetbenPOST /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[] tömb stabilan rendezett severity (errorwarninginfo), majd kód szerint

Súlyossági szintek (Severity)

SeverityJelentésPélda
errorBlokkolja az EU-megfelelőséget; a kiadás (release) előtt javítani kellTEXTILE_AGEC_REQUIRED, ha FR (Franciaország) a célpiac és az ellátási lánc hiányos
warningJavaslat; az ügyfél menthet, de érdemes intézkednieTEXTILE_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 a célpiacon
TEXTILE_MICROPLASTICS_CONSISTENCYerrorSzintetikus anyag ≥ 50%, de a contains_microplastics !== true
TEXTILE_SVHC_THRESHOLDwarningSVHC-bejegyzés CAS-szám vagy koncentráció 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 (4a. fázis)

A validátor ellenőrzi a 2023/1542 EU akkumulátor-rendelet határértékeit (újrahasznosított tartalom küszöbértékei, szénlábnyom-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 (stateless) minden validációs körnél — 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, és kiemeli a hibákat és figyelmeztetéseket a beküldés (submit) előtt.

Közvetlen API-hozzáférés:

Terminal window
curl -X POST https://qr3.app/v1/dpp/validate \
-H "Authorization: Bearer $API_KEY" \
-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 (mentésvédő) bannert jelenít meg közvetlenül a beküldés 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 (compliance) 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ások azonnali megtekintését — a meglévő adatok módosítása nélkül. Jellemző folyamat (flow):

  1. Előnézet (Preview): „Mi történik, ha felveszem FR-t a kínálatba?” → „FR” chip kiválasztása → „Preview EU impact” → láthatóvá válik a TEXTILE_AGEC_REQUIRED
  2. Javítás (Fix): Az ellátási lánc kiegészítése (a szimulátoron kívül, a létrehozási vagy tömeges folyamatban)
  3. Mentés (Save): A „Save changes” gombbal a státusz/piac lista közvetlenül mentésre kerül a PUT /v1/dpp/:id híváson keresztül

Közvetlen API-hozzáférés:

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

A válasz a standard eredményt egy preview objektummal egészíti ki:

{
"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 (UI) csak a módosult chipeket emelheted ki.

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

Automatizálás

CI-folyamat (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")
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 — az AI-ágensek ezzel a létrehozási (create) hívás előtt ellenőrizhetik, hogy a rendelkezésre álló adatok megfelelnek-e az AGEC-szabályoknak.

Gyakori hibák

Probléma (Issue)OkMegoldás (Fix)
TEXTILE_MICROPLASTICS_CONSISTENCYPoliészter arány ≥ 50%, de a flag értéke falseÁllítsd be: contains_microplastics: true
TEXTILE_AGEC_REQUIRED hints.market: "FR" értékkelFR a célpiacon, a lánc hiányosÁllítsd be: country_weaving_knitting, country_dyeing_printing, country_assembly
TEXTILE_GREENWASHING mint errorTiltott kifejezés + FR a célpiaconTávolítsd el a kifejezést a product_name mezőből, vagy módosítsd a piacot
TEXTILE_SVHC_THRESHOLDSVHC-anyag CAS-szám nélkülAdd meg a CAS-számot a REACH-listából

Következő lépések

  • Textil DPP — séma, ellátá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