La plupart des explications sur les QR codes de Passeport Numérique de Produit s'arrêtent à « scannez le code, ouvrez un site web ». On passe ainsi à côté de la partie intéressante. Le QR code apposé sur un produit conforme encode un GS1 Digital Link, et le composant qui le rend utile est le resolver — le service qui transforme un identifiant de produit unique en de multiples réponses différentes, adaptées au contexte.
Cet article montre ce que fait réellement le resolver, avec un passeport en direct que vous pouvez appeler dès maintenant (sans inscription, sans clé).
Ce qu'est réellement un GS1 Digital Link
Un GS1 Digital Link est une URL HTTPS classique qui intègre des identifiants GS1 sous forme de segments de chemin, chacun étant étiqueté par un Application Identifier (AI) :
https://id.gs1.org/01/04019999999902/21/DEMO-BAT-01
└─01─┘ └──GTIN───┘ └21┘ └─serial─┘
01→ GTIN (Global Trade Item Number) — quel produit21→ numéro de série — quelle unité individuelle10→ lot/batch (alternative au numéro de série)
Parce que c'est une simple URL, l'appareil photo de n'importe quel téléphone l'ouvre. Parce qu'elle est structurée, les machines peuvent l'analyser. Cette double nature, c'est tout l'intérêt.
Le resolver : un seul URI, de multiples réponses
Un QR code basique renvoie toujours une page fixe. Un resolver inspecte la requête et renvoie la représentation qui convient à l'appelant :
- un consommateur muni d'un navigateur mobile obtient une page HTML lisible par un humain ;
- le système d'un recycleur demande du JSON-LD et reçoit des données structurées lisibles par machine ;
- une autorité peut demander le linkset complet — chaque lien typé que le produit expose.
Même URL, réponses différentes, déterminées par l'en-tête Accept (ou par un paramètre ?format= qui le remplace).
Un resolver en direct que vous pouvez appeler dès maintenant
qr3.app héberge un passeport de batterie de démonstration public. Ouvrez-le dans un navigateur :
Vous verrez la page consommateur d'EcoMax 5000 (Demo) de GreenPower GmbH. Demandez maintenant à la même URL du JSON-LD lisible par machine :
curl "https://qr3.app/dpp/04019999999902/DEMO-BAT-01?format=jsonld"
{
"@context": ["https://schema.org", "https://gs1.org/voc/"],
"@type": "Product",
"gtin": "04019999999902",
"name": "EcoMax 5000 (Demo)"
}
Voilà le resolver qui fait son travail : un identifiant unique, une page destinée aux humains et un document JSON-LD construit sur schema.org + le vocabulaire web GS1. D'autres représentations sont disponibles de la même manière — ?format=json (passeport brut), ?format=linkset (tous les liens typés), ?format=dcat-ap — ou via la négociation standard par Accept (Accept: application/ld+json).
Validez les identifiants avant de créer des liens
Un resolver ne vaut que ce que valent les identifiants qui le sous-tendent. Validez un GTIN avant de construire un Digital Link pour celui-ci :
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: process.env.QR3_API_KEY! });
const result = await client.gs1.validateGs1({
identifier_type: "gtin",
value: "04019999999902",
});
console.log(result.valid); // true
console.log(result.detail); // "Valid GTIN-14"
Enregistrez vos GTIN
Gardez sous contrôle les identifiants que vous utilisez pour que chaque Digital Link soit rattaché à un produit connu :
const gtin = await client.gs1.createGs1Identifier({
identifier_type: "gtin", // or "gln" | "company_prefix"
value: "04019999999902",
label: "EcoMax 5000",
});
Utiliser qr3 comme votre resolver
Vous n'avez pas à construire et exploiter un resolver vous-même. Pointez le QR code de votre produit vers le Digital Link, hébergez le passeport sur qr3.app, et le resolver sert la bonne représentation pour chaque requête. Le GTIN/numéro de série dans l'URL restent stables pour toujours (de sorte que les étiquettes imprimées ne se cassent jamais), tandis que les données qu'ils désignent restent modifiables.
FAQ
Le QR code lui-même est-il différent d'un QR code classique ? Non — c'est un QR code standard (ou un Data Matrix) portant une URL GS1 Digital Link. N'importe quel appareil photo l'ouvre ; l'intelligence réside dans le resolver, pas dans le symbole.
Les consommateurs et les recycleurs obtiennent-ils vraiment des contenus différents ?
Oui — c'est la négociation de contenu. Le navigateur obtient du HTML ; un système qui demande application/ld+json (ou ?format=jsonld) obtient des données structurées depuis la même URL.
Puis-je conserver ma propre page produit et rester malgré tout conforme ?
Oui. Le Digital Link peut exposer plusieurs liens typés (un linkset) — votre page marketing, le passeport officiel, une fiche technique de recyclage — chacun étiqueté par un type de lien.
Sources
Essayez le passeport en direct ci-dessus, puis commencez gratuitement et résolvez le vôtre.