Pe lângă segmentul de baterii, qr3.app livrează acum o a doua categorie DPP completă: textilele conform Loi AGEC din Franța (Décret 2022-748) și proiectului de act delegat ESPR. În același timp, am integrat un validator UE live care rulează direct în dashboard — înainte să salvezi un pașaport și înainte să listezi un produs pe o piață nouă.
Pe scurt, trei lucruri pe care nu le primești de la platformele QR obișnuite:
- O schemă DPP textilă completă, inclusiv lanțul obligatoriu AGEC și opțiunea ESPR.
- O previzualizare live în formularul de creare, care semnalează instantaneu încălcările AGEC și greenwashing-ul.
- Un simulator de conformitate pe pagina de detalii care răspunde la întrebarea: „ce se întâmplă dacă adaug Franța pe piețele mele de mâine?”
De ce contează astăzi DPP-ul textil
Actul delegat ESPR pentru textile este încă în stadiu de proiect — registrul central UE pentru DPP devine operațional pe 2026-07-19. Nu poți aștepta până atunci, pentru că o parte din reglementare este deja obligatorie din punct de vedere legal astăzi:
- Loi AGEC (Franța, din 2023-01-01): lanț de origine obligatoriu, avertizare privind microplasticele, transparență REACH-SVHC, interzicerea afirmațiilor de mediu vagi.
- Din 2025, AGEC se aplică vânzătorilor de textile cu cifră de afaceri >10 mil. € sau >10.000 de unități. Producătorii mai mici urmează în 2027, iar aproape toți până în 2028.
- Scrisorile de încetare și abținere pentru greenwashing au atins un volum record în Franța în 2024 — „natural”, „biodegradabil” sau „écologique” fără dovezi este mai scump decât un sprint de documentare.
Dacă trimiți textile în UE (sau chiar doar în Franța), configurarea stack-ului tău DPP acum este mai ieftină decât o migrare făcută în panică în 2027.
Schema textilă pe scurt
Construim direct pe catalogul de câmpuri obligatorii AGEC:
{
"category": "textile",
"gtin": "04012345678901",
"product_name": "Organic Cotton T-Shirt",
"manufacturer": "EcoWear GmbH",
"origin_country": "PT",
"market_countries": ["DE", "AT", "FR"],
"textile_data": {
"fiber_composition": [
{ "material": "cotton", "percentage": 95, "origin_country": "TR", "recycled_pct": 0 },
{ "material": "elastane", "percentage": 5, "origin_country": "IT", "recycled_pct": 0 }
],
"country_weaving_knitting": "PT",
"country_dyeing_printing": "PT",
"country_assembly": "PT",
"contains_microplastics": false
}
}
Câmpurile obligatorii acoperă cele patru reguli AGEC pe care autoritățile franceze le aplică cel mai frecvent:
| Articol AGEC | Câmp | Ce face validatorul |
|---|---|---|
| A1 | fiber_composition[].recycled_pct |
Toate procentele fibrelor trebuie să însumeze 100% |
| A2–A4 | country_weaving_knitting / dyeing_printing / assembly |
Sunt necesare trei țări ori de câte ori FR se află pe piață |
| A5 | contains_microplastics |
Forțat la true când fibrele sintetice ≥ 50% |
| A6 | svhc_substances[] |
Număr CAS + concentrație necesare de la 0,1% |
În plus, acceptăm câmpuri ESPR opționale (durabilitate, PEF CO₂, URL de reparație, termen pentru piese de schimb, clasă de reciclabilitate). Când toate sunt completate, dashboard-ul afișează o insignă ESPR-ready — perfectă pentru producătorii care investesc timp acum pentru a livra în 2027 fără migrare.
Previzualizare live: vezi erorile înainte să salvezi
Fluxul obișnuit era: completezi formularul → salvezi → treci la pagina de detalii → citești erorile de conformitate → te întorci la formular. Asta doare în momentul în care creezi un lot.
De la acest release, validatorul UE rulează stateless în formularul de creare:
POST /v1/dpp/validatereturnează acum un câmp suplimentareu_compliancecucompliant,espr_ready,issues[]și un rezumat grupat pe severitate, pe lângă validarea Zod.- Dashboard-ul afișează problemele direct sub panoul de validare, grupate pe error / warning / info.
- Un banner de protecție la salvare apare deasupra butoanelor de trimitere („2 erori și 1 avertisment — salvezi oricum?”) ori de câte ori rămân probleme. Salvarea nu este blocată, dar vezi negru pe alb ce accepți.
Pentru tine, ca dezvoltator, asta înseamnă: poți livra validatorul oriunde — în propriul tău flux de import, într-o verificare CI, într-un hook de agent Cursor.
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 @textile-payload.json | jq '.data.eu_compliance.summary'
Simulatorul de conformitate: „dar dacă adaug Franța?”
Funcția pe care mi-am dorit-o personal cel mai mult este simulatorul de conformitate de pe pagina de detalii a unui DPP existent. Scenariu tipic:
Ai 500 de pașapoarte textile în sistem, toate pentru piața germană. Vine echipa de vânzări: „Ne extindem în Franța luna viitoare.” Întrebare: care dintre pașapoartele tale încalcă brusc AGEC?
Deschizi un pașaport în dashboard și apare un card nou sub secțiunea de conformitate UE: Simulator de conformitate.
- Apasă chip-ul FR (lângă presetările DE/AT/FR/IT/ES/NL) sau scrie un cod ISO personalizat.
- Opțional: comută statusul din
draftînlive. - Buton Preview EU impact.
Interfața îți arată instantaneu, fără a salva pașaportul:
- Carduri de eroare noi (de ex.
TEXTILE_AGEC_REQUIREDpe calea câmpuluitextile_data.country_weaving_knitting). - O avertizare de greenwashing care escaladează de la
warninglaerrorpentru că FR este pe piață. - O etichetă
preview.changed_fieldscare indică exact ce câmpuri s-ar modifica.
Când ești mulțumit, Save changes trimite delta prin PUT /v1/dpp/:id. Dacă nu — Reset, și nu s-a întâmplat nimic.
În culise, totul stă pe un singur endpoint nou:
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" }'
Workerul îmbină patch-ul în memorie cu DPP-ul existent și rulează validatorul UE asupra rezultatului — fără acces de scriere. Un corp gol este permis și returnează verdictul curent.
De ce este mai mult decât un simplu „nice to have”
Trei motive pentru care simulatorul nu este un gimmick:
- Verificare pre-vânzare pentru extinderea pe piețe. Vânzările pot răspunde în 60 de secunde care produse sunt pregătite pentru FR și cât de costisitor ar fi un rollout.
- Decuplezi operațiunile de date de operațiunile de conformitate. Conformitatea nu mai aleargă după fiecare defect de date — rulezi simulatorul o dată, filtrezi curat, deschizi tichete.
- Prietenos cu agenții AI. Endpoint-ul are exact aceeași formă ca
POST /v1/dpp/validate. Un agent Cursor sau Claude îl poate apela direct dintr-o sarcină de tipul „găsește pașapoartele pregătite pentru FR” — fără un mini-script între ele.
Tot API-first
Tot ce este vizibil în dashboard este accesibil prin API:
POST /v1/dpp/validate— validator stateless pentru fluxurile de creare.POST /v1/dpp/:id/validate-update— validator stateless pentru actualizări parțiale (simulatorul).GET /v1/dpp/:id/eu-compliance— verificare persistentă pentru pașapoartele existente (excelentă pentru CI).POST /v1/dpp/import— import în masă CSV/XLSX cu noile șabloane textile (GET /v1/dpp/import/templates/textile?format=xlsx).GET /01/{GTIN}/21/{SERIAL}— vizualizarea pentru consumator cu caseta de avertizare AGEC privind microplasticele, lanțul de origine, lista SVHC, secțiunea de durabilitate.
Toate cele trei endpoint-uri de validare returnează aceeași formă EuComplianceResult. Astfel construiești gruparea problemelor și afișarea severității exact o singură dată.
Garanție de non-breaking
Tot ce este în acest release este aditiv:
- Clienții existenți ai
POST /v1/dpp/validatepot ignora noul câmpeu_compliancefără modificări. - Fluxurile pentru baterii rămân neschimbate.
market_countrieseste opțional și are valoarea implicită[].
Detaliile se află în changelog și în politica noastră de versionare a API-ului.
Cum începi
- Documentația DPP textil — schemă, regula microplasticelor, opțiunea ESPR
- Documentația de conformitate UE — catalog de reguli, previzualizare live, simulator
- Începe gratuit — plan gratuit, dashboard + API
- Urmărește pe GitHub — issues, lansări de SDK, roadmap
Dacă ai un catalog mare de pașapoarte textile sau trebuie să auditezi riscul AGEC/Franța, scrie-ne — suntem pregătiți pentru clienți pilot cu între 500 și 50.000 de SKU-uri.