Enamik selgitusi digitaalse tootepassi QR-koodide kohta piirdub lausega „skaneeri kood, ava veebileht". See jätab kõrvale kõige huvitavama osa. Nõuetele vastaval tootel olev QR-kood kodeerib GS1 Digital Linki ja komponent, mis muudab selle kasulikuks, on lahendaja (resolver) — teenus, mis muudab ühe tooteidentifikaatori paljudeks erinevateks, kontekstiteadlikeks vastusteks.
See artikkel näitab, mida lahendaja tegelikult teeb, koos elava passiga, mida saad kohe pärida (ilma registreerimiseta, ilma võtmeta).
Mis on GS1 Digital Link tegelikult
GS1 Digital Link on tavaline HTTPS-URL, mis manustab GS1 identifikaatorid teesegmentidena, igaüks märgistatud rakendusidentifikaatoriga (Application Identifier, AI):
https://id.gs1.org/01/04019999999902/21/DEMO-BAT-01
└─01─┘ └──GTIN───┘ └21┘ └─serial─┘
01→ GTIN (Global Trade Item Number) — milline toode21→ seerianumber — milline üksik eksemplar10→ partii/seeria (alternatiiv seerianumbrile)
Kuna tegemist on tavalise URL-iga, avab selle iga telefoni kaamera. Kuna see on struktureeritud, suudavad masinad seda parsida. Just see kahetine olemus ongi kogu mõte.
Lahendaja: üks URI, palju vastuseid
Rumal QR-kood tagastab ühe fikseeritud lehe. Lahendaja uurib päringut ja tagastab esituse, mis sobib helistajale:
- tarbija, kellel on telefoni brauser, saab inimloetava HTML-lehe;
- ümbertöötleja süsteem küsib JSON-LD-d ja saab masinloetavad struktureeritud andmed;
- ametiasutus saab nõuda täielikku linkseti — iga tüübitud lingi, mille toode avalikustab.
Sama URL, erinevad vastused, mille otsustab Accept päis (või ?format= ülekirjutus).
Elav lahendaja, mida saad kohe pärida
qr3.app majutab avalikku demoakupassi. Ava see brauseris:
Näed tarbijalehte tootele EcoMax 5000 (Demo) tootjalt GreenPower GmbH. Nüüd küsi samalt URL-ilt masinloetavat JSON-LD-d:
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)"
}
See on lahendaja oma tööd tegemas: üks identifikaator, inimloetav leht ja JSON-LD-dokument, mis on ehitatud schema.org + GS1 veebisõnastiku peale. Teised esitused on saadaval samal viisil — ?format=json (toorpass), ?format=linkset (kõik tüübitud lingid), ?format=dcat-ap — või standardse Accept läbirääkimise kaudu (Accept: application/ld+json).
Valideeri identifikaatorid enne linkide loomist
Lahendaja on täpselt nii usaldusväärne, kui usaldusväärsed on selle taga olevad identifikaatorid. Valideeri GTIN, enne kui ehitad sellele Digital Linki:
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"
Registreeri oma GTIN-id
Hoia kasutatavad identifikaatorid hallatuna, et iga Digital Link viiks tagasi teadaoleva toote juurde:
const gtin = await client.gs1.createGs1Identifier({
identifier_type: "gtin", // or "gln" | "company_prefix"
value: "04019999999902",
label: "EcoMax 5000",
});
qr3 kasutamine lahendajana
Sa ei pea lahendajat ise ehitama ja käitama. Suuna oma toote QR-kood Digital Linkile, majuta pass qr3.app-is ja lahendaja serveerib iga päringu kohta õige esituse. URL-is olev GTIN/seerianumber jääb igaveseks stabiilseks (nii et trükitud sildid ei lähe kunagi katki), samal ajal kui nende taga olevad andmed jäävad uuendatavaks.
KKK
Kas QR-kood ise erineb tavalisest? Ei — see on standardne QR (või Data Matrix), mis kannab GS1 Digital Linki URL-i. Iga kaamera avab selle; intelligentsus peitub lahendajas, mitte sümbolis.
Kas tarbijad ja ümbertöötlejad saavad tõesti erinevat sisu?
Jah — see on sisu läbirääkimine (content negotiation). Brauser saab HTML-i; süsteem, mis küsib application/ld+json (või ?format=jsonld), saab samalt URL-ilt struktureeritud andmed.
Kas ma saan säilitada oma tootelehe ja jääda siiski nõuetele vastavaks? Jah. Digital Link võib avalikustada mitu tüübitud linki (linkset) — sinu turunduslehe, ametliku passi, ümbertöötluse andmelehe — igaüks märgistatud lingitüübiga.
Allikad
Proovi elavat passi ülal, seejärel alusta tasuta ja lahenda enda oma.