Para além da via das baterias, o qr3.app passa a disponibilizar uma segunda categoria de DPP completa: têxteis ao abrigo da Loi AGEC francesa (Décret 2022-748) e do rascunho do ato delegado da ESPR. Ao mesmo tempo, integrámos um validador da UE ao vivo que corre dentro do dashboard — antes de guardar um passaporte e antes de colocar um produto à venda num novo mercado.
Em resumo, três coisas que não encontra em plataformas de QR code típicas:
- Um esquema de DPP têxtil completo, incluindo a cadeia obrigatória da AGEC e a adesão opcional à ESPR.
- Uma pré-visualização ao vivo dentro do formulário de criação que assinala instantaneamente infrações da AGEC e greenwashing.
- Um simulador de conformidade na página de detalhe que responde à pergunta: "o que acontece se eu adicionar a França aos meus mercados amanhã?"
Porque é que o DPP têxtil já importa hoje
O ato delegado da ESPR para têxteis ainda está em rascunho — o registo central de DPP da UE entra em funcionamento a 2026-07-19. Mas não pode esperar até lá, porque uma fatia da regulamentação já é juridicamente vinculativa hoje:
- Loi AGEC (França, desde 2023-01-01): cadeia de origem obrigatória, aviso sobre microplásticos, transparência REACH SVHC, proibição de alegações ambientais vagas.
- A partir de 2025, a AGEC aplica-se a vendedores de têxteis com mais de 10 M€ de faturação ou mais de 10 000 unidades. Os fabricantes mais pequenos seguem em 2027, e praticamente todos em 2028.
- As notificações de cessação por greenwashing atingiram um volume recorde em França em 2024 — "natural", "biodegradável" ou "écologique" sem prova fica mais caro do que um esforço concentrado de documentação.
Se está a colocar têxteis no mercado da UE (ou mesmo só em França), montar agora o seu stack de DPP é mais barato do que uma migração em pânico em 2027.
O esquema têxtil num relance
Construímos diretamente sobre o catálogo de campos obrigatórios da 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
}
}
Os campos obrigatórios cobrem as quatro regras da AGEC que as autoridades francesas fiscalizam com mais frequência:
| Artigo AGEC | Campo | O que o validador faz |
|---|---|---|
| A1 | fiber_composition[].recycled_pct |
Todas as percentagens de fibra têm de somar 100% |
| A2–A4 | country_weaving_knitting / dyeing_printing / assembly |
Três países obrigatórios sempre que FR está no mercado |
| A5 | contains_microplastics |
Forçado a true quando as fibras sintéticas ≥ 50% |
| A6 | svhc_substances[] |
Número CAS + concentração obrigatórios a partir de 0,1% |
Para além disso, suportamos campos ESPR opcionais (durabilidade, PEF CO₂, URL de reparação, prazo de peças sobressalentes, classe de reciclabilidade). Quando todos estão preenchidos, o dashboard exibe um selo de ESPR-ready — perfeito para fabricantes que investem tempo agora para arrancar em 2027 sem uma migração.
Pré-visualização ao vivo: veja os erros antes de guardar
O fluxo típico costumava ser: preencher o formulário → guardar → saltar para a página de detalhe → ler os erros de conformidade → voltar ao formulário. Isso magoa no preciso momento em que está a criar um lote.
Desde esta versão, o validador da UE corre stateless dentro do formulário de criação:
- O
POST /v1/dpp/validatepassa a devolver um campo extraeu_compliancecomcompliant,espr_ready,issues[]e um resumo agrupado por gravidade, para além da validação Zod. - O dashboard apresenta os problemas diretamente abaixo do painel de validação, agrupados por erro / aviso / informação.
- Surge um banner de salvaguarda acima dos botões de submissão ("2 erros e 1 aviso — guardar mesmo assim?") sempre que restem problemas. O guardar não é bloqueado, mas vê preto no branco aquilo que está a aceitar.
Para si, enquanto programador, isto significa que pode usar o validador em qualquer lado — dentro do seu próprio fluxo de importação, numa verificação de CI, num hook de agente 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'
O simulador de conformidade: "e se eu adicionar a França?"
A funcionalidade que eu próprio mais queria é o simulador de conformidade na página de detalhe de um DPP existente. Cenário típico:
Tem 500 passaportes têxteis no sistema, todos para o mercado alemão. Entra a equipa de vendas: "Vamos expandir para a França no próximo mês." Pergunta: quais dos seus passaportes deixam subitamente de cumprir a AGEC?
Abra um passaporte no dashboard e surge um novo cartão na secção de conformidade com a UE: Simulador de conformidade.
- Clique no chip FR (ao lado das predefinições DE/AT/FR/IT/ES/NL) ou escreva um código ISO personalizado.
- Opcional: alterne o estado de
draftparalive. - Botão Preview EU impact.
A interface mostra-lhe instantaneamente, sem guardar o passaporte:
- Novos cartões de erro (por exemplo,
TEXTILE_AGEC_REQUIREDno caminho de campotextile_data.country_weaving_knitting). - Um aviso de greenwashing que escala de
warningparaerrorporque a FR passa a estar no mercado. - Uma etiqueta
preview.changed_fieldsque aponta exatamente quais os campos que mudariam.
Quando estiver satisfeito, Save changes envia o delta via PUT /v1/dpp/:id. Se não — Reset, e nada aconteceu.
Por baixo do capô, isto é um único endpoint novo:
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" }'
O worker funde o patch em memória com o DPP existente e corre o validador da UE sobre o resultado — sem acesso de escrita. Um corpo vazio é permitido e devolve o veredito atual.
Porque é que isto é mais do que um "bom para ter"
Três razões pelas quais o simulador não é um truque de feira:
- Verificação pré-venda para expansão de mercado. As vendas conseguem responder em 60 segundos quais os produtos prontos para a FR e quão dispendioso seria um lançamento.
- Desacoplar as operações de dados das operações de conformidade. A conformidade deixa de andar atrás de cada defeito de dados — corra o simulador uma vez, filtre com clareza, abra tickets.
- Amigável para agentes de IA. O endpoint tem exatamente a mesma forma que o
POST /v1/dpp/validate. Um agente Cursor ou Claude pode chamá-lo diretamente a partir de uma tarefa como "encontra os passaportes prontos para a FR" — sem um mini script pelo meio.
Continua a ser API-first
Tudo o que é visível no dashboard está acessível através da API:
POST /v1/dpp/validate— validador stateless para fluxos de criação.POST /v1/dpp/:id/validate-update— validador stateless para atualizações parciais (o simulador).GET /v1/dpp/:id/eu-compliance— verificação persistente para passaportes existentes (excelente para CI).POST /v1/dpp/import— importação em massa CSV/XLSX com novos modelos têxteis (GET /v1/dpp/import/templates/textile?format=xlsx).GET /01/{GTIN}/21/{SERIAL}— vista do consumidor com a caixa de aviso de microplásticos da AGEC, cadeia de origem, lista SVHC e secção de durabilidade.
Os três endpoints de validação devolvem todos a mesma forma EuComplianceResult. Por isso, constrói o agrupamento de problemas e a apresentação de gravidade exatamente uma única vez.
Garantia de não rutura
Tudo nesta versão é aditivo:
- Os clientes existentes do
POST /v1/dpp/validatepodem ignorar o novo campoeu_compliancesem alterações. - Os fluxos de baterias permanecem inalterados.
- O
market_countriesé opcional e assume por defeito[].
Os detalhes estão no changelog e na nossa política de versionamento da API.
Comece já
- Documentação do DPP têxtil — esquema, regra dos microplásticos, adesão opcional à ESPR
- Documentação de conformidade com a UE — catálogo de regras, pré-visualização ao vivo, simulador
- Comece gratuitamente — plano grátis, dashboard + API
- Siga no GitHub — issues, lançamentos de SDK, roadmap
Se tem um grande catálogo de passaportes têxteis ou precisa de auditar o risco AGEC/França, fale connosco — estamos preparados para clientes-piloto entre 500 e 50 000 SKUs.