GS1 Digital Link-resolveren forklaret (med et live-eksempel)

En DPP-QR-kode er ikke et link til en webside — den er et GS1 Digital Link, og resolveren forvandler én identifikator til mange kontekstbevidste svar. Sådan fungerer det, med et live-pas du kan curl'e lige nu.

af QR3 Redaktion

GS1 Digital Link-resolveren forklaret (med et live-eksempel)

De fleste forklaringer om QR-koder til digitale produktpas stopper ved "scan koden, åbn en webside." Det går glip af den interessante del. QR-koden på et compliant produkt indkoder et GS1 Digital Link, og den komponent, der gør den nyttig, er resolveren — tjenesten, der forvandler én produktidentifikator til mange forskellige, kontekstbevidste svar.

Denne artikel viser, hvad resolveren faktisk gør, med et live-pas du kan kalde lige nu (ingen tilmelding, ingen nøgle).

Et GS1 Digital Link er en almindelig HTTPS-URL, der indlejrer GS1-identifikatorer som path-segmenter, hver tagget med en Application Identifier (AI):

https://id.gs1.org/01/04019999999902/21/DEMO-BAT-01
                   └─01─┘ └──GTIN───┘ └21┘ └─serial─┘
  • 01 → GTIN (Global Trade Item Number) — hvilket produkt
  • 21 → serienummer — hvilken individuel enhed
  • 10 → batch/lot (alternativ til serienummer)

Fordi det er en almindelig URL, åbner ethvert telefonkamera den. Fordi den er struktureret, kan maskiner parse den. Den dobbelte natur er hele pointen.

Resolveren: én URI, mange svar

En dum QR-kode returnerer én fast side. En resolver inspicerer forespørgslen og returnerer den repræsentation, der passer til den, der kalder:

  • en forbruger med en telefonbrowser får en menneskelæsbar HTML-side;
  • et genbrugsanlægs system beder om JSON-LD og får maskinlæsbare strukturerede data;
  • en myndighed kan anmode om det fulde linkset — hvert typet link, produktet eksponerer.

Samme URL, forskellige svar, afgjort af Accept-headeren (eller en ?format=-override).

En live-resolver du kan kalde lige nu

qr3.app hoster et offentligt demo-batteripas. Åbn det i en browser:

https://qr3.app/dpp/04019999999902/DEMO-BAT-01

Du vil se forbrugersiden for EcoMax 5000 (Demo) fra GreenPower GmbH. Bed nu den samme URL om maskinlæsbar JSON-LD:

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

Det er resolveren, der gør sit arbejde: én identifikator, en menneskelig side og et JSON-LD-dokument bygget på schema.org + GS1's web-vokabular. Andre repræsentationer er tilgængelige på samme måde — ?format=json (rå pas), ?format=linkset (alle typede links), ?format=dcat-ap — eller via standard Accept-forhandling (Accept: application/ld+json).

En resolver er kun så troværdig som de identifikatorer, der ligger bag den. Validér en GTIN, før du bygger et Digital Link til den:

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"

Registrér dine GTIN'er

Hold de identifikatorer, du bruger, under styring, så hvert Digital Link kan spores tilbage til et kendt produkt:

const gtin = await client.gs1.createGs1Identifier({
  identifier_type: "gtin", // or "gln" | "company_prefix"
  value: "04019999999902",
  label: "EcoMax 5000",
});

Brug qr3 som din resolver

Du behøver ikke selv at bygge og drive en resolver. Peg din produkt-QR-kode mod Digital Link'et, host passet på qr3.app, og resolveren leverer den rigtige repræsentation per forespørgsel. GTIN/serienummer i URL'en forbliver stabile for evigt (så trykte etiketter aldrig brydes), mens dataene bag dem forbliver opdaterbare.

FAQ

Er selve QR-koden anderledes end en almindelig? Nej — det er en standard QR (eller Data Matrix), der bærer en GS1 Digital Link-URL. Ethvert kamera åbner den; intelligensen ligger i resolveren, ikke i symbolet.

Får forbrugere og genbrugsanlæg virkelig forskelligt indhold? Ja — det er content negotiation. Browseren får HTML; et system, der anmoder om application/ld+json (eller ?format=jsonld), får strukturerede data fra den samme URL.

Kan jeg beholde min egen produktside og stadig være compliant? Ja. Digital Link'et kan eksponere flere typede links (et linkset) — din marketingside, det officielle pas, et genbrugsdatablad — hver tagget med en linktype.

Kilder

Prøv live-passet ovenfor, og kom gratis i gang og resolv dit eget.