Resolver GS1 Digital Link wyjaśniony (z działającym przykładem)

Kod QR w DPP to nie link do strony internetowej — to GS1 Digital Link, a resolver zamienia jeden identyfikator w wiele odpowiedzi dopasowanych do kontekstu. Oto jak to działa, wraz z działającym paszportem, który możesz odpytać przez curl już teraz.

autor: QR3 Redaktion

Resolver GS1 Digital Link wyjaśniony (z działającym przykładem)

Większość wyjaśnień dotyczących kodów QR w cyfrowym paszporcie produktu kończy się na stwierdzeniu „zeskanuj kod, otwórz stronę". To pomija najciekawszą część. Kod QR na zgodnym z przepisami produkcie koduje GS1 Digital Link, a komponentem, który czyni go użytecznym, jest resolver — usługa, która zamienia jeden identyfikator produktu w wiele różnych, dopasowanych do kontekstu odpowiedzi.

Ten artykuł pokazuje, co resolver faktycznie robi, na przykładzie działającego paszportu, który możesz wywołać już teraz (bez rejestracji, bez klucza).

GS1 Digital Link to zwykły adres URL HTTPS, który osadza identyfikatory GS1 jako segmenty ścieżki, każdy oznaczony Identyfikatorem Zastosowania (AI):

https://id.gs1.org/01/04019999999902/21/DEMO-BAT-01
                   └─01─┘ └──GTIN───┘ └21┘ └─serial─┘
  • 01 → GTIN (Global Trade Item Number) — który produkt
  • 21 → numer seryjny — która konkretna jednostka
  • 10 → partia/lot (alternatywa dla numeru seryjnego)

Ponieważ jest to zwykły adres URL, otwiera go każdy aparat w telefonie. Ponieważ ma strukturę, maszyny mogą go parsować. Ta podwójna natura jest tu sednem.

Resolver: jeden URI, wiele odpowiedzi

Prosty kod QR zwraca jedną stałą stronę. Resolver analizuje żądanie i zwraca reprezentację dopasowaną do tego, kto pyta:

  • konsument korzystający z przeglądarki w telefonie otrzymuje czytelną dla człowieka stronę HTML;
  • system firmy recyklingowej prosi o JSON-LD i otrzymuje ustrukturyzowane dane czytelne dla maszyn;
  • organ nadzoru może zażądać pełnego linksetu — wszystkich otypowanych linków, które produkt udostępnia.

Ten sam adres URL, różne odpowiedzi, rozstrzygane na podstawie nagłówka Accept (lub nadpisania ?format=).

Działający resolver, który możesz wywołać już teraz

qr3.app udostępnia publiczny, demonstracyjny paszport baterii. Otwórz go w przeglądarce:

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

Zobaczysz stronę konsumencką produktu EcoMax 5000 (Demo) firmy GreenPower GmbH. Teraz poproś ten sam adres URL o czytelny dla maszyn 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)"
}

To resolver wykonujący swoją pracę: jeden identyfikator, strona dla człowieka oraz dokument JSON-LD zbudowany na schema.org + słowniku webowym GS1. Inne reprezentacje są dostępne w ten sam sposób — ?format=json (surowy paszport), ?format=linkset (wszystkie otypowane linki), ?format=dcat-ap — lub poprzez standardową negocjację Accept (Accept: application/ld+json).

Waliduj identyfikatory, zanim wygenerujesz linki

Resolver jest tak wiarygodny, jak identyfikatory, które za nim stoją. Zwaliduj GTIN, zanim zbudujesz dla niego Digital Link:

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"

Rejestruj swoje GTIN-y

Trzymaj używane identyfikatory pod kontrolą, aby każdy Digital Link prowadził z powrotem do znanego produktu:

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

Korzystanie z qr3 jako Twojego resolvera

Nie musisz samodzielnie budować i utrzymywać resolvera. Skieruj kod QR produktu na Digital Link, hostuj paszport na qr3.app, a resolver dla każdego żądania udostępni właściwą reprezentację. GTIN/numer seryjny w adresie URL pozostają stabilne na zawsze (więc wydrukowane etykiety nigdy nie przestaną działać), podczas gdy stojące za nimi dane pozostają aktualizowalne.

FAQ

Czy sam kod QR różni się od zwykłego? Nie — to standardowy kod QR (lub Data Matrix) niosący adres URL GS1 Digital Link. Otwiera go każdy aparat; inteligencja tkwi w resolverze, a nie w symbolu.

Czy konsumenci i firmy recyklingowe naprawdę otrzymują różne treści? Tak — to negocjacja treści (content negotiation). Przeglądarka otrzymuje HTML; system żądający application/ld+json (lub ?format=jsonld) otrzymuje ustrukturyzowane dane z tego samego adresu URL.

Czy mogę zachować własną stronę produktu i nadal być zgodnym z przepisami? Tak. Digital Link może udostępniać wiele otypowanych linków (linkset) — Twoją stronę marketingową, oficjalny paszport, kartę danych do recyklingu — każdy oznaczony typem linku.

Źródła

Wypróbuj działający paszport powyżej, a następnie zacznij za darmo i rozwiąż swój własny.