8 мин четене DPP Practice DPP Textile AGEC ESPR EU Release

Текстилният DPP е активен: проверете съответствието с ЕС за секунди — преди да запазите

qr3.app вече поддържа пълни текстилни паспорти съгласно френския Loi AGEC + ESPR. Ново: жив валидатор и симулатор, които сигнализират за нарушения на AGEC, грийнуошинг и готовност за ESPR директно във формата — преди да запазите.

от qr3.app Team

Текстилният DPP е активен: проверете съответствието с ЕС за секунди — преди да запазите

Освен направлението за батерии, qr3.app вече предлага и втора пълна DPP категория: текстил съгласно френския Loi AGEC (Décret 2022-748) и проекта на делегиран акт по ESPR. Същевременно вградихме жив валидатор за ЕС, който работи директно в таблото за управление — преди да запазите паспорт и преди да листнете продукт на нов пазар.

Накратко — три неща, които не получавате на типичните QR платформи:

  1. Пълна схема за текстилен DPP, включваща задължителната верига по AGEC и опционалния модул по ESPR.
  2. Жив преглед директно във формата за създаване, който мигновено сигнализира за нарушения на AGEC и грийнуошинг.
  3. Симулатор за съответствие на страницата с детайли, който отговаря на въпроса: „Какво се случва, ако утре добавя Франция към своите пазари?“

Защо текстилният DPP има значение още днес

Делегираният акт по ESPR за текстил все още е в проект — централният DPP регистър на ЕС влиза в действие на 2026-07-19. Не можете да чакате дотогава, защото част от регулацията вече е правно обвързваща днес:

  • Loi AGEC (Франция, от 2023-01-01): задължителна верига на произход, предупреждение за микропластмаси, прозрачност по REACH-SVHC, забрана на неясни екологични твърдения.
  • От 2025 г. AGEC се прилага за продавачи на текстил с приходи над 10 млн. евро или над 10 000 бройки. По-малките производители следват през 2027 г., а почти всички — до 2028 г.
  • Предупредителните писма за грийнуошинг във Франция достигнаха рекорден обем през 2024 г. — „естествено“, „биоразградимо“ или „écologique“ без доказателства е по-скъпо от един спринт по документацията.

Ако пускате текстил на пазара в ЕС (или дори само във Франция), изграждането на вашия DPP стек сега е по-евтино от паническа миграция през 2027 г.

Текстилната схема накратко

Изграждаме директно върху каталога със задължителни полета на 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
  }
}

Задължителните полета покриват четирите правила на AGEC, които френските власти налагат най-често:

Член на AGEC Поле Какво прави валидаторът
A1 fiber_composition[].recycled_pct Всички проценти на влакната трябва да дават общо 100%
A2–A4 country_weaving_knitting / dyeing_printing / assembly Изискват се три държави, винаги когато FR е сред пазарите
A5 contains_microplastics Принудително зададено на true, когато синтетичните влакна са ≥ 50%
A6 svhc_substances[] Изискват се CAS номер + концентрация от 0,1% нагоре

Освен това поддържаме опционални ESPR полета (издръжливост, PEF CO₂, URL за ремонт, краен срок за резервни части, клас на рециклируемост). Когато всички те са попълнени, таблото показва значка ESPR-ready — идеално за производители, които инвестират време сега, за да стартират през 2027 г. без миграция.

Жив преглед: вижте грешките, преди да запазите

Типичният поток беше: попълвате формата → запазвате → отивате на страницата с детайли → четете грешките по съответствието → връщате се обратно във формата. Това боли точно в момента, в който създавате партида.

От тази версия валидаторът на ЕС работи без състояние директно във формата за създаване:

  • POST /v1/dpp/validate вече връща допълнително поле eu_compliance с compliant, espr_ready, issues[] и обобщение, групирано по сериозност, в допълнение към валидацията със Zod.
  • Таблото рендира проблемите директно под панела за валидация, групирани по error / warning / info.
  • Банер за защита при запазване се появява над бутоните за изпращане („2 грешки и 1 предупреждение — да запазя ли въпреки това?“), когато остават нерешени проблеми. Запазването не се блокира, но виждате черно на бяло какво приемате.

За вас като разработчик това означава: можете да внедрите валидатора навсякъде — във вашия собствен импорт поток, в CI проверка, в hook на 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'

Симулаторът за съответствие: „Какво ще стане, ако добавя Франция?“

Функцията, която аз лично исках най-силно, е симулаторът за съответствие на страницата с детайли на съществуващ DPP. Типичен сценарий:

Имате 500 текстилни паспорта в системата, всички за германския пазар. Идва човек от продажбите: „Разширяваме се във Франция следващия месец.“ Въпрос: кои от вашите паспорти изведнъж нарушават AGEC?

Отворете паспорт в таблото и под секцията за съответствие с ЕС се появява нова карта: Симулатор за съответствие.

  • Кликнете върху чипа FR (до предварителните настройки DE/AT/FR/IT/ES/NL) или въведете собствен ISO код.
  • По избор: превключете статуса от draft на live.
  • Бутон Преглед на влиянието за ЕС.

Интерфейсът мигновено ви показва, без да запазва паспорта:

  • Нови карти с грешки (например TEXTILE_AGEC_REQUIRED по пътя на полето textile_data.country_weaving_knitting).
  • Предупреждение за грийнуошинг, което ескалира от warning до error, защото FR е сред пазарите.
  • Таг preview.changed_fields, който точно посочва кои полета биха се променили.

Когато сте доволни, Запазване на промените изпраща делтата чрез PUT /v1/dpp/:id. Ако не — Нулиране и нищо не се е случило.

Зад кулисите това е един нов крайен пункт:

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

Работникът слива пач-а в паметта със съществуващия DPP и пуска валидатора на ЕС върху резултата — без достъп за запис. Празно тяло е допустимо и връща текущата присъда.

Защо това е повече от „приятно да го има“

Три причини, поради които симулаторът не е трик:

  1. Проверка преди продажба при разширяване на пазара. Продажбите могат за 60 секунди да отговорят кои продукти са готови за FR и колко скъп би бил един рулаут.
  2. Разделяне на операциите с данни от операциите по съответствие. Съответствието вече не гони всеки дефект в данните — пускате симулатора веднъж, филтрирате чисто, отваряте тикети.
  3. Удобство за AI агенти. Крайният пункт има точно същата форма като POST /v1/dpp/validate. Агент на Cursor или Claude може да го извика директно от задача като „намери паспортите, готови за FR“ — без междинен мини скрипт.

Все така API-first

Всичко видимо в таблото е достъпно през API:

  • POST /v1/dpp/validate — валидатор без състояние за потоците на създаване.
  • POST /v1/dpp/:id/validate-update — валидатор без състояние за частични актуализации (симулаторът).
  • GET /v1/dpp/:id/eu-compliance — постоянна проверка за съществуващи паспорти (отлично за CI).
  • POST /v1/dpp/import — групов импорт от CSV/XLSX с нови текстилни шаблони (GET /v1/dpp/import/templates/textile?format=xlsx).
  • GET /01/{GTIN}/21/{SERIAL} — потребителски изглед с предупредителното каре за микропластмаси по AGEC, веригата на произход, списъка със SVHC, секцията за издръжливост.

И трите валидаторни крайни пункта връщат една и съща форма EuComplianceResult. Така изграждате групирането на проблеми и рендирането по сериозност точно веднъж.

Гаранция за съвместимост

Всичко в тази версия е допълващо:

  • Съществуващите клиенти на POST /v1/dpp/validate могат да игнорират новото поле eu_compliance без промени.
  • Потоците за батерии остават непроменени.
  • market_countries е опционално и по подразбиране е [].

Подробности има в списъка с промени и нашата политика за версиониране на API.

Започнете сега

Ако имате голям каталог от текстилни паспорти или трябва да одитирате риска по AGEC/Франция, свържете се с нас — подготвени сме за пилотни клиенти между 500 и 50 000 SKU.