Testovacia súprava GS1 Resolver: DPP-linky dôkladne overiť pred uvedením do prevádzky

Stabilná testovacia súprava GS1 umožňuje overiť Resolver 1.2. Takto pred uvedením do prevádzky otestujete presmerovania, linksety, CORS, jazyky a chybové scenáre.

autor QR3 Redaktion

Testovacia súprava GS1 Resolver: DPP-linky dôkladne overiť pred uvedením do prevádzky

QR-kód, ktorý v prehliadači otvorí stránku, ešte nie je dôkazom spoľahlivého resolvera. Pri GS1-Digital-Link-resolveri je rozhodujúce úplné správanie HTTP: Ktoré identifikátory sa akceptujú? Aký cieľ je predvolený? Poskytuje služba strojovo čitateľný linkset? Fungujú prístupy z prehliadača cez iné domény? A nahlasujú neplatné alebo nedostupné požiadavky správnu chybu?

Od 16. januára 2026 je k dispozícii GS1-Conformant Resolver Standard 1.2.0. Príslušná verejná testovacia súprava GS1 sa medzičasom považuje za stabilnú; jej kód bol naposledy aktualizovaný 29. júna 2026. Abstraktná norma sa tak dá premeniť na konkrétny akceptačný test. Tento článok ukazuje, čo treba overiť pred uvedením do prevádzky, kde má testovacia súprava svoje hranice a aké dôkazy patria do technického schválenia.

Úspešné skenovanie je len začiatok

Jeden GS1 Digital Link obsahuje GS1-identifikátor v HTTPS-URI. Resolver prepája tento identifikátor s jedným alebo viacerými zdrojmi, napríklad so stránkou produktu, návodom, údajovým listom alebo programovacím rozhraním. Náš základný článok vysvetľuje GS1-Digital-Link-resolver na živom príklade. Na uvedenie do produkcie však úspešné štandardné presmerovanie nestačí.

Resolver Standard 1.2.0 okrem iného vyžaduje HTTPS, podporu metód GET, HEAD a OPTIONS, Cross-Origin Resource Sharing (CORS), rozpoznateľný predvolený odkaz a výstup v podobe linksetu. Pri linkType=linkset alebo hlavičke Accept application/linkset+json sa resolver nesmie presmerovať. Namiesto toho musí vrátiť dostupné typované odkazy ako samostatnú reprezentáciu.

Toto rozlíšenie je dôležité: Cesta pre ľudského používateľa v prehliadači môže fungovať, zatiaľ čo strojový prístup, jazyk, typy odkazov alebo chybové scenáre môžu byť chybné. Presne takéto odchýlky zostávajú pri čisto skenovacom teste neviditeľné.

Akceptačný plán v siedmich krokoch

1. Určite reprezentatívne testovacie URI

Nezačínajte jediným vzorovým produktom. Zostavte malú, verzovanú kolekciu testov:

  • aspoň jeden platný identifikátor pre každý podporovaný primárny kľúč GS1;
  • prípad bez kvalifikátora pre GTIN;
  • prípady s číslom šarže alebo sériovým číslom, ak je táto granularita podporovaná;
  • syntakticky neplatný identifikátor;
  • platný, ale neznámy identifikátor;
  • známy identifikátor bez požadovaného typu odkazu.

Norma umožňuje resolveru podporovať iba podmnožinu primárnych kľúčov GS1. Pri každom podporovanom primárnom kľúči však musia byť jeho kvalifikátory a dátové atribúty spracované úplne. Preto musí testovacia množina zodpovedať skutočne deklarovanej schopnosti, nie všeobecnému marketingovému tvrdeniu.

2. Overte štandardné presmerovanie a metódy

Najprv otestujte bežné volanie bez špeciálnych hlavičiek. Očakáva sa deterministický predvolený odkaz. Potom nasledujú HEAD a OPTIONS: HEAD nesmie používať inú smerovaciu logiku než GET a OPTIONS musí zrozumiteľne informovať o ponúkaných metódach.

Minimálny manuálny test vyzerá takto:

curl -sS -D - -o /dev/null \
  "https://id.gs1.org/01/09506000134352"

curl -sS -I \
  "https://id.gs1.org/01/09506000134352"

Zdokumentujte stavový kód, Location, hlavičky vyrovnávacej pamäte a počet presmerovaní. Slučka presmerovania, náhodný cieľ alebo cesta odlišná podľa metódy sú chybou pri schválení, aj keď smartfón napokon zobrazí stránku.

3. Vyžiadajte si namiesto webovej stránky linkset

Najdôležitejšou strojovou kontrolou je linkset:

curl -sS \
  -H "Accept: application/linkset+json" \
  "https://id.gs1.org/01/09506000134352"

RFC 9264 definuje application/linkset+json ako samostatnú reprezentáciu množiny typovaných webových odkazov vo formáte JSON. GS1 zmluvný rámec sprísňuje: Výstup musí byť validovaný voči normatívnej schéme linksetu pre verziu 1.2.0. Preto nekontrolujte iba to, či sa vráti JSON, ale aj typ média, schému, absolútne cieľové URI, kotvu a relácie odkazov.

Mimoriadne zradné sú formálne platné, ale vecne nesprávne linksety: napríklad príručka pod typom odkazu pre stránku s informáciami o produkte alebo cieľ viazaný na sériové číslo na úrovni GTIN. Validácia schémy a vecné testovacie prípravky preto patria k sebe.

4. Skontrolujte opis resolvera

Konformný resolver poskytuje na adrese /.well-known/gs1resolver strojovo čitateľný opis. Uvádza okrem iného koreň resolvera a podporované primárne kľúče. Súbor musí byť validovaný voči schéme GS1 pre súbory s opisom resolvera.

Tento test zabraňuje častej nekonzistentnosti: Služba môže podporovať viac alebo menej, než tvrdí vo vlastnom opise. Preto do akceptácie zahrňte validáciu schémy aj porovnanie s reálnymi testovacími prípadmi.

5. Otestujte CORS a vyjednávanie obsahu

CORS nie je iba komfortná funkcia. Norma ho vyžaduje, aby aplikácie v prehliadači mohli pristupovať k resolveru naprieč doménami. Otestujte aspoň jeden povolený pôvod prehliadača a cestu preflight. Overte tiež, či Accept: application/linkset+json a linkType=linkset poskytujú konzistentné výsledky.

Doplňte negatívny test pre nepodporovaný typ média. Služba, ktorá bez ohľadu na hlavičku Accept vždy odosiela HTML, je síce dostupná ľuďom, ale nie je spoľahlivo strojovo čitateľná.

6. Pokryte jazyk, kontext a granularitu

Norma počíta s Accept-Language a parametrom dotazu context ako prostriedkami na rozlíšenie viacerých vhodných odkazov. Nie každý resolver musí ponúkať každý variant. Ak sa jazyk alebo kontext podporuje, pravidlá výberu však musia byť reprodukovateľné.

Otestujte preto dostupný jazyk, nedostupný jazyk a definované poradie náhrad. Pre GTIN, šaržu a sériové číslo platí rovnaký princíp: Jemný identifikátor môže zohľadniť relevantné odkazy vyšších úrovní bez toho, aby sa zotrela vecná priradenosť. Očakávané množstvo odkazov si uložte ako testovací prípravok; čisté snapshot testy poradia sú príliš krehké.

7. Rozlišujte chyby podľa významu

Chybové kódy sú súčasťou zmluvy. Resolver Standard stanovuje pre syntakticky neplatné GS1-identifikátory odpoveď s HTTP 400. Ak sa vyžiada konkrétny, nedostupný typ odkazu, presmerovanie na predvolený cieľ nie je správnou odpoveďou. Takéto prípady treba odlíšiť od neznámeho, ale syntakticky platného identifikátora.

Overte tiež, či chybové odpovede neodhaľujú interné podrobnosti, tokeny ani trasovania zásobníka a či si GET, HEAD a požiadavky z prehliadača zachovávajú rovnakú sémantiku. Pekný HTML dokument s chybou nedokáže napraviť nesprávny stavový kód.

Správne používanie testovacej súpravy GS1

Verejná testovacia súprava prijíma URI Digital Link a kontroluje správanie voči Resolveru 1.2.0. Dobre sa hodí ako nezávislá kontrola smoke testu a zhody s normou. Pri schválení si uložte dátum testu, testované URI, verziu normy, výsledok a prípadne reprodukovateľné chybové scenáre.

Súprava však nenahrádza vlastnú regresiu. GS1 výslovne upozorňuje, že v súčasnosti nekontroluje kompresiu. Ak váš resolver spracúva binárne reťazce EPC alebo ďalšie komprimované formy, potrebujete na to samostatné testovacie vektory. Verejná súprava takisto nepozná vaše vecné typy odkazov ani požiadavky na autorizáciu, tenantov či dostupnosť.

Spoľahlivý proces preto kombinuje tri úrovne:

  1. verejná súprava GS1 ako externá kontrola zhody;
  2. testy schém pre linkset a opis resolvera v CI;
  3. vlastné end-to-end testy reálnych identifikátorov, rolí, jazykov a výpadkov.

Čo má obsahovať doklad o schválení

Akceptácia je opakovateľná až vtedy, keď výsledok nie je iba viditeľný v prehliadači, ale je aj zdokumentovaný. Doklad o schválení by mal obsahovať minimálne verziu normy a súpravy, čas testu, cieľové prostredie, testovacie URI, očakávané typy odkazov, výsledky HTTP, validáciu schémy, kontrolu CORS a známe výnimky.

Stabilné časti automatizujte v CI, ale pred každou významnou zmenou resolvera zachovajte cielené externé spustenie proti verejnej súprave. Z tvrdenia „QR-kód sa otvorí“ sa tak stane overiteľné tvrdenie o identite, smerovaní a strojovo čitateľných informáciách o produktoch.

Zdroje