Pārbaudīt ES atbilstību
Pārbaudīt ES atbilstību
qr3.app ietver integrētu ES validatoru digitālajām produktu pasēm (Digital Product Passports jeb DPP). Tas pārbauda jūsu DPP atbilstību attiecīgajiem ES noteikumiem (ESPR, Loi AGEC) un sniedz strukturētus paziņojumus (issues) ar nopietnības pakāpi (severity), lauka ceļu (field path), norādēm un izvēles ESPR-ready nozīmīti.
Ir trīs piekļuves punkti:
- Servera pusē, jau saglabātām DPP —
GET /v1/dpp/:id/eu-compliance - Tiešraides priekšskatījums izveides formā —
POST /v1/dpp/validate - Tiešraides simulators detaļās —
POST /v1/dpp/:id/validate-update
Visi trīs nodrošina vienādu EuComplianceResult struktūru (shape) — tāpēc jums novērtēšana jāievieš tikai vienu reizi.
Rezultāta struktūra (Shape)
{ "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: true⇔summary.errors === 0espr_ready: true⇔ visi ESPR izvēles (Opt-in) lauki ir iestatīti (skatīt Tekstila DPP)issues[]ir stabili sakārtoti pēc nopietnības (error→warning→info) und pēc tam pēc koda
Nopietnības līmeņi
| Nopietnības pakāpe | Nozīme | Piemērs |
|---|---|---|
error | Bloķē ES atbilstību; vajadzētu labot pirms izlaišanas | TEXTILE_AGEC_REQUIRED, ja FR ir tirgū un izcelsmes ķēde ir nepilnīga |
warning | Ieteikums; klients var saglabāt, taču vajadzētu rīkoties | TEXTILE_GREENWASHING ārpus FR |
info | Statusa signāls bez nepieciešamības rīkoties | TEXTILE_ESPR_READY — visi ESPR izvēles (Opt-in) lauki ir aizpildīti |
Noteikumu katalogs (tekstils + baterijas)
Tekstils (Q3.3.4)
| Kods | Nopietnības pakāpe | Izraisītājs |
|---|---|---|
TEXTILE_AGEC_REQUIRED | error (FR) · warning (citur) | AGEC ķēde (aušana/krāsošana/konfekcija) ir nepilnīga, FR ir tirgū |
TEXTILE_MICROPLASTICS_CONSISTENCY | error | Sintētika ≥ 50 %, bet contains_microplastics !== true |
TEXTILE_SVHC_THRESHOLD | warning | SVHC ieraksts bez CAS numura vai koncentrācijas |
TEXTILE_GREENWASHING | error (FR) · warning (citur) | Aizliegtais termins no saraksta laukā product_name/material |
TEXTILE_ESPR_READY | info | Visi ESPR lauki B7–B15 ir aizpildīti |
Baterijas (4a fāze)
Validators pārbauda robežvērtības no ES Bateriju regulas 2023/1542 (pārstrādātā satura sliekšņi, oglekļa pēdas nospieduma klases, minimālā garantija utt.). Sīkāka informācija Bateriju DPP dokumentācijā.
Tiešraides priekšskatījums izveides formā
Tiklīdz izveidojat DPP vadības panelī (/dashboard/dpp/new), tas pats validators darbojas bezstāvokļa (stateless) režīmā katrā validācijas ciklā — bez nepieciešamības saglabāt pasi. Sadaļa eu_compliance parādās tieši zem esošā validācijas paneļa un izceļ kļūdas un brīdinājumus pirms iesniegšanas (submit).
Tieša API piekļuve:
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 }] } }'Atbilde satur:
data.valid— sintaktiskais derīgums (Zod)data.errors[]— klasiskās Zod kļūdasdata.jsonld_preview— JSON-LD priekšskatījumsdata.eu_compliance— ES validatora rezultāts (null, ja Zod validācija neizdodas)
Ja eu_compliance.summary.errors > 0, vadības panelis attēlo Save-Guard baneri tieši virs iesniegšanas pogas — saglabāšana netiek bloķēta, taču jūs redzat sekas pirms klikšķa.
Tiešraides simulators detaļās
Lapā /dashboard/dpp/:dppId zem atbilstības sadaļas ir pieejama simulatora karte. Tā ļauj mainīt divus atbilstībai svarīgākos laukus (status un market_countries) un nekavējoties redzēt ietekmi — neveicot izmaiņas esošajos datos. Tipiska darbību plūsma (flow):
- Priekšskatījums: “Kas notiks, ja es iekļaušu FR sortimentā?” → izvēlēties čipu “FR” → “Preview EU impact” → kļūst redzams
TEXTILE_AGEC_REQUIRED - Labojums: aizpildīt izcelsmes ķēdi (ārpus simulatora izveides vai lielapjoma plūsmā)
- Saglabāšana: “Save changes” saglabā statusu/tirgus sarakstu tieši caur
PUT /v1/dpp/:id
Tieša API piekļuve:
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" }'Atbilde paplašina standarta rezultātu ar preview objektu:
{ "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"] } }}changed_fields[] uzskaita tikai tos laukus, kas faktiski mainītos — tādējādi, piemēram, lietotāja saskarnē (UI) varat izcelt tikai mainītos čipus.
Ir atļauts tukšs ķermenis (body), un tas sniedz pašreizējo atbilstības novērtējumu (pārbaudīt faktisko stāvokli no jauna).
Automatizācija
CI konveijers
Tipiska CI pārbaude:
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 1fi
jq -e '.data.summary.errors == 0' /tmp/out.json > /dev/nullMCP serveris
Komplektācijā iekļautais @qr3/mcp-server cita starpā piedāvā rīku validate_dpp — mākslīgā intelekta (MI) aģenti var to izmantot pirms izveides izsaukuma (create call), lai pārbaudītu, vai esošie dati atbilst AGEC noteikumiem.
Biežākās kļūdas
| Problēma (Issue) | Cēlonis | Labojums |
|---|---|---|
TEXTILE_MICROPLASTICS_CONSISTENCY | Poliestera daļa ≥ 50 %, bet karodziņš ir false | iestatīt contains_microplastics: true |
TEXTILE_AGEC_REQUIRED ar hints.market: "FR" | FR ir tirgū, ķēde ir nepilnīga | iestatīt country_weaving_knitting, country_dyeing_printing, country_assembly |
TEXTILE_GREENWASHING kā error | Aizliegtais termins + FR ir tirgū | noņemt terminu no product_name vai pielāgot tirgu |
TEXTILE_SVHC_THRESHOLD | SVHC viela bez CAS | ievadīt CAS numuru no REACH saraksta |
Nākamie soļi
- Tekstila DPP — shēma, izcelsmes ķēde, mikroplastmasas brīdinājuma lodziņš
- Bateriju DPP — bateriju pases obligātie lauki
- API atsauce — visi ES atbilstības galapunkti (endpoints) detalizēti