Pārbaudīt ES atbilstību
Pārbaudīt ES atbilstību
qr3.app satur integrētu ES validatoru digitālajām produktu pasēm (Digital Product Passports). 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 līmeni (Severity), lauka ceļu, 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ādējādi jums novērtēšana jāievieš tikai vienreiz.
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 aizpildīti (skatīt Tekstila DPP)issues[]ir stabili sašķiroti pēc nopietnības (error→warning→info) un pēc tam pēc koda
Nopietnības līmeņi (Severity)
| Nopietnība (Severity) | 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 pilnīgi |
Noteikumu katalogs (Tekstils + Akumulators)
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) | Jēdziens no aizliegto saraksta laukā product_name/material |
TEXTILE_ESPR_READY | info | Visi ESPR lauki B7–B15 ir pilnīgi |
Akumulators (Fāze 4a)
Validators pārbauda robežvērtības no ES Akumulatoru 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 Akumulatoru DPP dokumentācijā.
Tiešraides priekšskatījums izveides formā
Tiklīdz informācijas panelī izveidojat DPP (/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 "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, informācijas panelis tieši virs iesniegšanas pogas attēlo Save-Guard baneri — saglabāšana netiek bloķēta, taču jūs redzat sekas pirms klikšķa.
Tiešraides simulators detaļās
Vietnē /dashboard/dpp/:dppId zem atbilstības (Compliance) 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 — neaiztiekot esošos datus. Tipiska darbplūsma:
- 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: pabeigt izcelsmes ķēdi (ārpus simulatora izveides vai lielapjoma (Bulk) plūsmā)
- Saglabāšana: “Save changes” saglabā statusa/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 "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 jūs, piemēram, lietotāja saskarnē 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 (Pipeline)
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")
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 (AI) aģenti var to izmantot pirms izveides izsaukuma (Create-Call), lai pārbaudītu, vai pieejamie 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 | Aizliegts jēdziens + FR ir tirgū | noņemt jēdzienu no product_name vai pielāgot tirgu |
TEXTILE_SVHC_THRESHOLD | SVHC viela bez CAS | ierakstīt CAS numuru no REACH saraksta |
Nākamie soļi
- Tekstila DPP — shēma, izcelsmes ķēde, mikroplastmasas brīdinājuma lodziņš
- Akumulatoru DPP — akumulatora pases obligātie lauki
- API atsauce — visi ES atbilstības (Compliance) galapunkti detalizēti