Έλεγχος Συμμόρφωσης ΕΕ
Έλεγχος Συμμόρφωσης ΕΕ
Το qr3.app περιλαμβάνει έναν ενσωματωμένο EU-Validator για Digital Product Passports. Ελέγχει τα DPP σας σε σχέση με τους σχετικούς κανονισμούς της ΕΕ (ESPR, Loi AGEC) και παρέχει δομημένα ζητήματα (issues) με σοβαρότητα (severity), διαδρομή πεδίου, υποδείξεις και ένα προαιρετικό σήμα (badge) ESPR-ready.
Υπάρχουν τρία σημεία εισόδου:
- Από την πλευρά του διακομιστή, ήδη αποθηκευμένα DPP —
GET /v1/dpp/:id/eu-compliance - Ζωντανή προεπισκόπηση στη φόρμα δημιουργίας —
POST /v1/dpp/validate - Ζωντανός προσομοιωτής λεπτομερώς —
POST /v1/dpp/:id/validate-update
Και τα τρία παρέχουν την ίδια δομή EuComplianceResult — επομένως χρειάζεται να υλοποιήσετε την αξιολόγηση μόνο μία φορά.
Δομή του αποτελέσματος
{ "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⇔ όλα τα πεδία ESPR-Opt-in έχουν οριστεί (δείτε DPP Κλωστοϋφαντουργικών)- Το
issues[]είναι ταξινομημένο σταθερά κατά σοβαρότητα (error→warning→info) και στη συνέχεια κατά κωδικό
Επίπεδα σοβαρότητας (Severity)
| Σοβαρότητα | Σημασία | Παράδειγμα |
|---|---|---|
error | Εμποδίζει τη συμμόρφωση με την ΕΕ· θα πρέπει να διορθωθεί πριν από την κυκλοφορία | TEXTILE_AGEC_REQUIRED εάν η FR περιλαμβάνεται στην αγορά και η αλυσίδα προέλευσης είναι ελλιπής |
warning | Σύσταση· ο πελάτης μπορεί να αποθηκεύσει, αλλά θα πρέπει να αναλάβει δράση | TEXTILE_GREENWASHING εκτός FR |
info | Σήμα κατάστασης χωρίς ανάγκη για ενέργεια | TEXTILE_ESPR_READY — όλα τα πεδία ESPR-Opt-in είναι συμπληρωμένα |
Κατάλογος κανόνων (Κλωστοϋφαντουργικά + Μπαταρίες)
Κλωστοϋφαντουργικά (Q3.3.4)
| Κωδικός | Σοβαρότητα | Αιτία |
|---|---|---|
TEXTILE_AGEC_REQUIRED | error (FR) · warning (διαφορετικά) | Η αλυσίδα AGEC (Ύφανση/Βαφή/Ραφή) είναι ελλιπής, η FR περιλαμβάνεται στην αγορά |
TEXTILE_MICROPLASTICS_CONSISTENCY | error | Συνθετικά ≥ 50% αλλά contains_microplastics !== true |
TEXTILE_SVHC_THRESHOLD | warning | Καταχώριση SVHC χωρίς αριθμό CAS ή συγκέντρωση |
TEXTILE_GREENWASHING | error (FR) · warning (διαφορετικά) | Όρος από τη λίστα απαγορευμένων στο product_name/material |
TEXTILE_ESPR_READY | info | Όλα τα πεδία ESPR B7–B15 είναι συμπληρωμένα |
Μπαταρίες (Φάση 4a)
Ο ελεγκτής ελέγχει τις οριακές τιμές από τον Κανονισμό της ΕΕ για τις Μπαταρίες 2023/1542 (όρια ανακυκλωμένου περιεχομένου, κατηγορίες αποτυπώματος άνθρακα, ελάχιστη εγγύηση κ.λπ.). Λεπτομέρειες στην Τεκμηρίωση DPP Μπαταριών.
Ζωντανή προεπισκόπηση στη φόρμα δημιουργίας
Μόλις δημιουργήσετε ένα DPP στον πίνακα ελέγχου (/dashboard/dpp/new), ο ίδιος ελεγκτής εκτελείται stateless σε κάθε κύκλο επικύρωσης (validate roundtrip) — χωρίς να χρειάζεται να αποθηκευτεί το διαβατήριο. Η ενότητα eu_compliance εμφανίζεται ακριβώς κάτω από το υπάρχον πλαίσιο επικύρωσης και επισημαίνει σφάλματα και προειδοποιήσεις πριν από την υποβολή (submit).
Άμεση πρόσβαση API:
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 }] } }'Η απάντηση περιέχει:
data.valid— συντακτική εγκυρότητα (Zod)data.errors[]— κλασικά σφάλματα Zoddata.jsonld_preview— προεπισκόπηση JSON-LDdata.eu_compliance— αποτέλεσμα του EU-Validator (null, εάν η επικύρωση Zod αποτύχει)
Εάν eu_compliance.summary.errors > 0, ο πίνακας ελέγχου εμφανίζει ένα banner Save-Guard ακριβώς πάνω από το κουμπί υποβολής (submit) — η αποθήκευση δεν εμποδίζεται, αλλά βλέπετε τις συνέπειες πριν κάνετε κλικ.
Ζωντανός προσομοιωτής λεπτομερώς
Στο /dashboard/dpp/:dppId, κάτω από την ενότητα συμμόρφωσης, υπάρχει μια κάρτα προσομοιωτή (Simulator-Karte). Σας επιτρέπει να αλλάξετε τα δύο πιο σημαντικά πεδία για τη συμμόρφωση (status και market_countries) και να δείτε αμέσως το αποτέλεσμα — χωρίς να τροποποιήσετε τα υπάρχοντα δεδομένα. Τυπική ροή:
- Προεπισκόπηση: “Τι συμβαίνει εάν συμπεριλάβω τη FR στη γκάμα προϊόντων;” → Επιλογή του chip “FR” → “Preview EU impact” → Το
TEXTILE_AGEC_REQUIREDγίνεται ορατό - Διόρθωση: Συμπλήρωση της αλυσίδας προέλευσης (εκτός του προσομοιωτή, στη ροή δημιουργίας ή μαζικής επεξεργασίας)
- Αποθήκευση: Το “Save changes” αποθηκεύει την κατάσταση/λίστα αγορών απευθείας μέσω
PUT /v1/dpp/:id
Άμεση πρόσβαση API:
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" }'Η απάντηση επεκτείνει το τυπικό αποτέλεσμα με ένα αντικείμενο preview:
{ "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[] παραθέτει μόνο πεδία που θα άλλαζαν πραγματικά — έτσι μπορείτε, για παράδειγμα, να επισημάνετε μόνο τα τροποποιημένα chips στο UI σας.
Ένα κενό σώμα (empty body) επιτρέπεται και επιστρέφει την τρέχουσα αξιολόγηση συμμόρφωσης (εκ νέου έλεγχος της τρέχουσας κατάστασης).
Αυτοματοποίηση
Pipeline CI
Ένας τυπικός έλεγχος CI:
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/nullΔιακομιστής MCP
Ο παρεχόμενος @qr3/mcp-server προσφέρει, μεταξύ άλλων, ένα εργαλείο validate_dpp — οι πράκτορες τεχνητής νοημοσύνης (AI agents) μπορούν να το χρησιμοποιήσουν πριν από την κλήση δημιουργίας (create call) για να ελέγξουν εάν τα υπάρχοντα δεδομένα πληρούν τους κανόνες AGEC.
Συχνά σφάλματα
| Ζήτημα | Αιτία | Διόρθωση |
|---|---|---|
TEXTILE_MICROPLASTICS_CONSISTENCY | Ποσοστό πολυεστέρα ≥ 50%, αλλά η σημαία είναι false | Ορίστε contains_microplastics: true |
TEXTILE_AGEC_REQUIRED με hints.market: "FR" | Η FR περιλαμβάνεται στην αγορά, η αλυσίδα είναι ελλιπής | Ορίστε country_weaving_knitting, country_dyeing_printing, country_assembly |
TEXTILE_GREENWASHING ως error | Απαγορευμένος όρος + η FR περιλαμβάνεται στην αγορά | Αφαιρέστε τον όρο από το product_name ή προσαρμόστε την αγορά |
TEXTILE_SVHC_THRESHOLD | Ουσία SVHC χωρίς CAS | Εισαγάγετε τον αριθμό CAS από τη λίστα REACH |
Επόμενα βήματα
- DPP Κλωστοϋφαντουργικών — Σχήμα, αλυσίδα προέλευσης, πλαίσιο προειδοποίησης μικροπλαστικών
- DPP Μπαταριών — Υποχρεωτικά πεδία διαβατηρίου μπαταρίας
- Αναφορά API — όλες οι τελικές διευθύνσεις (endpoints) συμμόρφωσης ΕΕ λεπτομερώς