Preskočiť na obsah

GS1 resolver

GS1 resolver

GS1 resolver je verejná vrstva na čítanie pre DPP. Kanonická URL vyzerá takto:

https://qr3.app/01/{GTIN}
https://qr3.app/01/{GTIN}/10/{LOT}
https://qr3.app/01/{GTIN}/21/{SERIAL}
https://qr3.app/01/{GTIN}/10/{LOT}/21/{SERIAL}

Pri vytváraní DPP (POST /v1/dpp) platia nasledujúce pravidlá: serial a lot musia používať bezpečné segmenty cesty GS1: iba A-Z, a-z, 0-9, ., _, ~, - a dĺžku od 1 do 20 znakov. Vyhradené oddeľovače URL sú odmietnuté, aby kanonický odkaz zostal rozlíšiteľný.

Content Negotiation

Rovnaký resolver poskytuje rôzne reprezentácie v závislosti od hlavičky Accept:

AcceptOdpoveď
text/htmlSpotrebiteľské HTML
application/ld+jsonJSON-LD
application/jsonSurové DPP JSON
application/linkset+jsonLinkset s alternatívami

Verejne viditeľné trasy

  • GET /01/... je kanonický resolver
  • GET /dpp/:gtin/:serial?lot=... je HTML alias
  • GET /v1/dpp/:id/qr.svg vracia SVG
  • GET /v1/dpp/:id/qr.png vracia PNG
  • GET /v1/dpp/:id/qr.pdf vracia PDF
  • GET /v1/dpp/:id/qr.eps vracia EPS

Viditeľnosť QR assetov závisí od stavu DPP:

  • live je verejne dostupný bez autentifikácie
  • draft a archived vyžadujú platný kontext autentifikácie (Auth) a prístup k workspace
  • Neplatná autentifikácia vracia 401
  • Neviditeľné alebo cudzie workspace-y vracajú 404

Fallback

Ak GS1 resolver nenájde lokálnu zhodu, presmeruje požiadavku pomocou 307 na https://id.gs1.org. Pre alias GTIN /dpp/:gtin/:serial?lot=... to platí aj pri neplatnej kontrolnej číslici GTIN: gtin, lot a serial sa kódujú samostatne ako segmenty cesty URL vrátane vyhradených oddeľovačov. Presmerovanie nepotvrdzuje platnosť GTIN ani dostupnosť údajov v GS1.

Výnimka: ak je dekódovaný identifikátor iba . alebo .., alias bez lokálnej zhody vráti 422, application/problem+json, typ https://docs.qr3.app/errors/validation a príslušné pole v errors[], bez presmerovania. Analyzátory URL tieto segmenty normalizujú aj v kódovanej podobe. Hodnoty ako LOT.1 a ... možno naďalej odovzdať. Výnimka sa týka iba tohto aliasu bez zhody; validácia pri vytváraní, kanonický resolver a existujúce zhody zostávajú nezmenené.

GET /dpp/{GTIN}/UNKNOWN?lot=LOT%2F1
307 Location: https://id.gs1.org/01/{GTIN}/10/LOT%2F1/21/UNKNOWN
GET /dpp/{GTIN}/UNKNOWN?lot=.
422 Content-Type: application/problem+json

Prax

  1. Vytvorte DPP v paneli (Dashboard).
  2. Použite GS1 URI ako cieľ QR kódu.
  3. Presmerujte klientske systémy na požadovaný formát pomocou hlavičky Accept.