Oprócz ścieżki dla baterii, qr3.app udostępnia teraz drugą kompletną kategorię DPP: tekstylia zgodne z francuską ustawą Loi AGEC (Décret 2022-748) oraz projektem aktu delegowanego ESPR. Jednocześnie wbudowaliśmy walidator UE działający na żywo wewnątrz panelu — zanim zapiszesz paszport i zanim wystawisz produkt na nowym rynku.
W skrócie, trzy rzeczy, których nie dostaniesz na typowych platformach QR:
- Kompletny schemat tekstylnego DPP obejmujący obowiązkowy łańcuch AGEC oraz opcjonalne pola ESPR.
- Podgląd na żywo wewnątrz formularza tworzenia, który natychmiast oznacza naruszenia AGEC i greenwashing.
- Symulator zgodności na stronie szczegółów, który odpowiada na pytanie: „co się stanie, jeśli jutro dodam Francję do moich rynków?".
Dlaczego tekstylny DPP ma znaczenie już dziś
Akt delegowany ESPR dla tekstyliów jest wciąż w fazie projektu — centralny rejestr DPP UE zostanie uruchomiony 2026-07-19. Nie możesz czekać do tego czasu, ponieważ część regulacji jest już prawnie wiążąca dzisiaj:
- Loi AGEC (Francja, od 2023-01-01): obowiązkowy łańcuch pochodzenia, ostrzeżenie o mikroplastiku, transparentność REACH-SVHC, zakaz niejasnych deklaracji środowiskowych.
- Od 2025 roku AGEC obejmuje sprzedawców tekstyliów z przychodem >10 mln € lub >10 000 jednostek. Mniejsi producenci dołączają w 2027 roku, a niemal wszyscy do 2028 roku.
- Liczba wezwań do zaprzestania praktyk greenwashingu osiągnęła we Francji rekordowy poziom w 2024 roku — „natural", „biodegradable" czy „écologique" bez dowodów jest droższe niż sprint dokumentacyjny.
Jeśli wysyłasz tekstylia do UE (lub choćby tylko do Francji), uporządkowanie stosu DPP już teraz jest tańsze niż paniczna migracja w 2027 roku.
Schemat tekstylny w pigułce
Budujemy bezpośrednio na obowiązkowym katalogu pól 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
}
}
Pola obowiązkowe obejmują cztery zasady AGEC, których francuskie organy egzekwują najczęściej:
| Artykuł AGEC | Pole | Co robi walidator |
|---|---|---|
| A1 | fiber_composition[].recycled_pct |
Wszystkie udziały procentowe włókien muszą sumować się do 100% |
| A2–A4 | country_weaving_knitting / dyeing_printing / assembly |
Trzy kraje wymagane zawsze, gdy FR jest na liście rynków |
| A5 | contains_microplastics |
Wymuszone na true, gdy udział włókien syntetycznych ≥ 50% |
| A6 | svhc_substances[] |
Numer CAS + stężenie wymagane od 0,1% |
Dodatkowo obsługujemy opcjonalne pola ESPR (trwałość, ślad węglowy PEF CO₂, adres URL do napraw, termin dostępności części zamiennych, klasa recyklowalności). Gdy wszystkie z nich są wypełnione, panel wyświetla odznakę ESPR-ready — idealne dla producentów, którzy inwestują czas teraz, aby ruszyć w 2027 roku bez migracji.
Podgląd na żywo: zobacz błędy, zanim zapiszesz
Typowy przepływ wyglądał kiedyś tak: wypełnij formularz → zapisz → przejdź do strony szczegółów → przeczytaj błędy zgodności → wróć do formularza. To boli w momencie, gdy tworzysz całą partię.
Od tego wydania walidator UE działa bezstanowo wewnątrz formularza tworzenia:
POST /v1/dpp/validatezwraca teraz dodatkowe poleeu_compliancezcompliant,espr_ready,issues[]oraz podsumowaniem pogrupowanym według wagi, obok walidacji Zod.- Panel renderuje problemy bezpośrednio pod panelem walidacji, pogrupowane według error / warning / info.
- Banner zabezpieczający zapis pojawia się nad przyciskami wysyłania („2 błędy i 1 ostrzeżenie — zapisać mimo to?"), gdy tylko problemy pozostają. Zapis nie jest blokowany, ale czarno na białym widzisz, co akceptujesz.
Dla Ciebie jako dewelopera oznacza to: możesz uruchomić walidator wszędzie — wewnątrz własnego przepływu importu, w sprawdzeniu CI, w haku agenta 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'
Symulator zgodności: „a co, jeśli dodam Francję?"
Funkcja, której osobiście chciałem najbardziej, to symulator zgodności na stronie szczegółów istniejącego DPP. Typowy scenariusz:
Masz w systemie 500 paszportów tekstylnych, wszystkie dla rynku niemieckiego. Wchodzi dział sprzedaży: „W przyszłym miesiącu wchodzimy do Francji". Pytanie: które z Twoich paszportów nagle łamią AGEC?
Otwórz paszport w panelu, a w sekcji zgodności UE pojawi się nowa karta: Symulator zgodności.
- Kliknij chip FR (obok presetów DE/AT/FR/IT/ES/NL) lub wpisz własny kod ISO.
- Opcjonalnie: przełącz status z
draftnalive. - Przycisk Preview EU impact.
Interfejs natychmiast pokazuje Ci, bez zapisywania paszportu:
- Nowe karty błędów (np.
TEXTILE_AGEC_REQUIREDna ścieżce polatextile_data.country_weaving_knitting). - Ostrzeżenie o greenwashingu, które eskaluje z
warningdoerror, ponieważ FR jest na liście rynków. - Znacznik
preview.changed_fieldswskazujący dokładnie, które pola uległyby zmianie.
Gdy jesteś zadowolony, Save changes wypycha różnicę przez PUT /v1/dpp/:id. Jeśli nie — Reset, i nic się nie stało.
Pod maską stoi za tym jeden nowy punkt końcowy:
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" }'
Worker scala poprawkę w pamięci z istniejącym DPP i uruchamia walidator UE na wyniku — bez dostępu do zapisu. Pusty korpus żądania jest dozwolony i zwraca aktualny werdykt.
Dlaczego to coś więcej niż „miło mieć"
Trzy powody, dla których symulator nie jest gadżetem:
- Sprawdzenie przed sprzedażą przy ekspansji rynkowej. Dział sprzedaży może w 60 sekund odpowiedzieć, które produkty są gotowe na FR i jak kosztowne byłoby wdrożenie.
- Oddzielenie operacji na danych od operacji compliance. Compliance nie musi już gonić za każdym defektem danych — uruchom symulator raz, przefiltruj czysto, otwórz zgłoszenia.
- Przyjazny dla agentów AI. Punkt końcowy ma dokładnie taki sam kształt jak
POST /v1/dpp/validate. Agent Cursor lub Claude może wywołać go bezpośrednio z zadania takiego jak „znajdź paszporty gotowe na FR" — bez pośredniego mini-skryptu.
Wciąż API-first
Wszystko, co widoczne w panelu, jest dostępne przez API:
POST /v1/dpp/validate— bezstanowy walidator dla przepływów tworzenia.POST /v1/dpp/:id/validate-update— bezstanowy walidator dla częściowych aktualizacji (symulator).GET /v1/dpp/:id/eu-compliance— trwałe sprawdzenie dla istniejących paszportów (świetne do CI).POST /v1/dpp/import— masowy import CSV/XLSX z nowymi szablonami tekstylnymi (GET /v1/dpp/import/templates/textile?format=xlsx).GET /01/{GTIN}/21/{SERIAL}— widok konsumenta z polem ostrzeżenia AGEC o mikroplastiku, łańcuchem pochodzenia, listą SVHC, sekcją trwałości.
Wszystkie trzy punkty końcowe walidatora zwracają ten sam kształt EuComplianceResult. Dzięki temu grupowanie problemów i renderowanie wagi budujesz dokładnie raz.
Gwarancja braku zmian łamiących kompatybilność
Wszystko w tym wydaniu jest addytywne:
- Istniejący klienci
POST /v1/dpp/validatemogą ignorować nowe poleeu_compliancebez żadnych zmian. - Przepływy dla baterii pozostają niezmienione.
market_countriesjest opcjonalne i domyślnie przyjmuje wartość[].
Szczegóły znajdziesz w changelogu oraz w naszej polityce wersjonowania API.
Jak zacząć
- Dokumentacja tekstylnego DPP — schemat, zasada mikroplastiku, opcjonalne ESPR
- Dokumentacja zgodności z UE — katalog zasad, podgląd na żywo, symulator
- Zacznij za darmo — plan darmowy, panel + API
- Obserwuj na GitHub — zgłoszenia, wydania SDK, roadmapa
Jeśli masz duży katalog paszportów tekstylnych lub potrzebujesz audytu ryzyka AGEC/Francji, porozmawiaj z nami — jesteśmy gotowi na klientów pilotażowych w przedziale od 500 do 50 000 SKU.