Skip to content

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:

  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ā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: truesummary.errors === 0
  • espr_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 (errorwarninginfo) und pēc tam pēc koda

Nopietnības līmeņi

Nopietnības pakāpeNozī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 aizpildīti

Noteikumu katalogs (tekstils + baterijas)

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)Aizliegtais termins no saraksta laukā product_name/material
TEXTILE_ESPR_READYinfoVisi 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:

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

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, 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):

  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: aizpildīt izcelsmes ķēdi (ārpus simulatora izveides vai lielapjoma plūsmā)
  3. Saglabāšana: “Save changes” saglabā statusu/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 "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:

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 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ē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_GREENWASHINGerrorAizliegtais termins + FR ir tirgūnoņemt terminu no product_name vai pielāgot tirgu
TEXTILE_SVHC_THRESHOLDSVHC viela bez CASievadī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