Skip to content

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:

  1. Servera pusē, jau saglabātām DPPGET /v1/dpp/:id/eu-compliance
  2. Tiešraides priekšskatījums izveides formāPOST /v1/dpp/validate
  3. Tiešraides simulators detaļāsPOST /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: truesummary.errors === 0
  • espr_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 (errorwarninginfo) un pēc tam pēc koda

Nopietnības līmeņi (Severity)

Nopietnība (Severity)NozīmePiemērs
errorBloķē ES atbilstību; vajadzētu labot pirms izlaišanasTEXTILE_AGEC_REQUIRED, ja FR ir tirgū un izcelsmes ķēde ir nepilnīga
warningIeteikums; klients var saglabāt, taču vajadzētu rīkotiesTEXTILE_GREENWASHING ārpus FR
infoStatusa signāls bez nepieciešamības rīkotiesTEXTILE_ESPR_READY — visi ESPR izvēles (Opt-in) lauki ir pilnīgi

Noteikumu katalogs (Tekstils + Akumulators)

Tekstils (Q3.3.4)

KodsNopietnības pakāpeIzraisītājs
TEXTILE_AGEC_REQUIREDerror (FR) · warning (citur)AGEC ķēde (aušana/krāsošana/konfekcija) ir nepilnīga, FR ir tirgū
TEXTILE_MICROPLASTICS_CONSISTENCYerrorSintētika ≥ 50 %, bet contains_microplastics !== true
TEXTILE_SVHC_THRESHOLDwarningSVHC ieraksts bez CAS numura vai koncentrācijas
TEXTILE_GREENWASHINGerror (FR) · warning (citur)Jēdziens no aizliegto saraksta laukā product_name/material
TEXTILE_ESPR_READYinfoVisi 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:

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 }] }
}'

Atbilde satur:

  • data.valid — sintaktiskais derīgums (Zod)
  • data.errors[] — klasiskās Zod kļūdas
  • data.jsonld_preview — JSON-LD priekšskatījums
  • data.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:

  1. 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
  2. Labojums: pabeigt izcelsmes ķēdi (ārpus simulatora izveides vai lielapjoma (Bulk) plūsmā)
  3. Saglabāšana: “Save changes” saglabā statusa/tirgus sarakstu tieši caur PUT /v1/dpp/:id

Tieša API piekļuve:

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" }'

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:

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 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ēlonisLabojums
TEXTILE_MICROPLASTICS_CONSISTENCYPoliestera daļa ≥ 50 %, bet karodziņš ir falseiestatīt contains_microplastics: true
TEXTILE_AGEC_REQUIRED ar hints.market: "FR"FR ir tirgū, ķēde ir nepilnīgaiestatīt country_weaving_knitting, country_dyeing_printing, country_assembly
TEXTILE_GREENWASHINGerrorAizliegts jēdziens + FR ir tirgūnoņemt jēdzienu no product_name vai pielāgot tirgu
TEXTILE_SVHC_THRESHOLDSVHC viela bez CASierakstī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