Coduri QR pentru DPP: dimensionare, corecție de erori și GS1 (un ghid pentru dezvoltatori)

Codul QR de pe un Pașaport Digital al Produsului nu este un QR oarecare — conține un GS1 Digital Link, trebuie să reziste la tipărirea pe un produs și trebuie să rezolve către pașaport. Detaliile de inginerie pe care majoritatea ghidurilor le omit, cu cod de generare gata de tipărit.

de QR3 Redaktion

Coduri QR pentru DPP: dimensionare, corecție de erori și GS1 (un ghid pentru dezvoltatori)

Codul QR de pe un Pașaport Digital al Produsului arată ca orice alt pătrat alb-negru. Nu este așa. Trebuie să conțină un GS1 Digital Link, să reziste la tipărirea în dimensiuni mici pe un produs curbat și predispus la zgârieturi și să rezolve în mod fiabil către pașaport pe toată durata de viață a produsului. Iată ce contează cu adevărat când generezi unul — părțile pe care majoritatea articolelor despre „codul QR pentru DPP” le omit.

Un QR pentru DPP codifică un URL GS1 structurat, nu example.com/product/123:

https://id.gs1.org/01/04019999999902/21/DEMO-BAT-01

01 este GTIN-ul, 21 numărul de serie. Orice cameră îl deschide; un resolver returnează reprezentarea corectă în funcție de apelant (vezi The GS1 Digital Link Resolver, Explained). Îndreaptă QR-ul către resolverul tău, iar GTIN-ul/numărul de serie rămân stabile pentru totdeauna.

Nivelul de corecție de erori: alege Q sau H pentru produse

Codurile QR au patru niveluri de corecție de erori — cu cât este mai înalt, cu atât o parte mai mare a simbolului poate fi deteriorată și totuși scanată:

Nivel Recuperare Pentru un DPP?
L ~7 % Nu — prea fragil pe produsele fizice
M ~15 % Doar web/ecran
Q ~25 % Da — etichete, ambalaje
H ~30 % Da — produse mici, curbate sau supuse uzurii intense

O etichetă de pașaport poate fi zgâriată, îndoită în jurul unei celule de baterie sau uzată parțial. Folosește Q sau H ca să poată fi în continuare scanată după un an de utilizare în teren. O corecție mai mare înseamnă un simbol mai dens, așa că echilibrează acest lucru cu dimensiunea de tipărire.

Zona liberă și dimensiunea minimă de tipărire

  • Zona liberă: păstrează o margine liberă de cel puțin 4 module în jurul simbolului. Fără logouri, fără text în interiorul ei.
  • Dimensiunea minimă: ca regulă empirică, dimensiunea modulului ar trebui să fie ≥ 0,33 mm pentru scanări de aproape cu telefonul; mai mare dacă este scanat de la distanță. Pe o imprimantă de etichete tipică de 300 DPI, asta înseamnă aproximativ un simbol de 2 × 2 cm pentru un Digital Link care conține un număr de serie — verifică cu scanerul și iluminarea cele mai nefavorabile.

Dinamic, nu static — altfel nu este conform

Un QR static înglobează datele în simbol. Datele unui DPP se schimbă pe durata de viață a produsului (amprenta de carbon remăsurată, ținta de conținut reciclat atinsă, informațiile de reparație actualizate). Dacă datele sunt înglobate, nu le poți actualiza fără să retipărești fiecare etichetă — iar un pașaport neactualizat este neconform.

Așadar, un QR pentru DPP trebuie să fie dinamic: conține un URL de resolver stabil (GTIN/număr de serie imuabil), iar datele din spatele lui sunt actualizate prin API. Tipărește o singură dată, actualizează pentru totdeauna.

Generează un QR pentru DPP gata de tipărit (cod)

Crearea unui pașaport returnează QR-ul în patru formate — fără un pas QR separat:

import { QR3 } from "@qr3/sdk";

const client = new QR3({ apiKey: process.env.QR3_API_KEY! });

const passport = await client.dpp.create({
  gtin: "04019999999902",
  serial: "SN-00012345",
  product_name: "PowerCell 5 kWh LFP",
  manufacturer: "ExampleTech GmbH",
  origin_country: "DE",
  category: "battery",
  battery_data: { capacity_kwh: 5, carbon_footprint_kg: 62, recycled_content_pct: 12, recyclability_pct: 95, manufacturer_warranty_years: 8 },
});

console.log(passport.qr.svg); // vector — scales to any label size, no pixelation
console.log(passport.qr.pdf); // CMYK PDF for print
// qr.png for the web, qr.eps for professional label printers

Folosește SVG sau EPS pentru etichete (vectorul rezistă la orice scalare); PNG pentru web. QR-ul codifică deja GS1 Digital Link-ul către pașaport.

Produse minuscule: GS1 Data Matrix

Când nu este loc pentru un QR (electronice mici, bijuterii), un GS1 Data Matrix conține același Digital Link pe un spațiu mai mic și este susținut de aceleași standarde. Același URL, simbol mai mic.

Întrebări frecvente

Pot să adaug logoul meu în mijloc? Da, în limita bugetului de corecție de erori — la nivelul Q/H, un logo mic centrat poate fi recuperat. Păstrează zona liberă neacoperită și testează scanarea.

Conține QR-ul datele produsului în sine? Nu — conține GS1 Digital Link-ul. Datele se află în spatele resolverului și rămân actualizabile. Tocmai asta face pașaportul durabil.

SVG vs PNG pentru etichete? SVG/EPS (vector) pentru orice tipărit — se scalează curat la orice dimensiune. PNG doar pentru utilizarea web cu dimensiune fixă.

Surse

Începe gratuit și generează un QR pentru DPP gata de tipărit: app.qr3.app/sign-up