Skip to content

GS1-Resolver

GS1-Resolver

GS1-Resolver je javni sloj za čitanje za DPP. Kanonska URL adresa izgleda ovako:

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 stvaranju DPP-a (POST /v1/dpp) vrijede sljedeća pravila: serial i lot moraju koristiti sigurne segmente GS1 putanje: samo A-Z, a-z, 0-9, ., _, ~, - i duljinu od 1 do 20 znakova. Rezervirani URL separatori se odbijaju kako bi kanonska poveznica ostala razrješiva.

Content Negotiation

Isti razrješivač pruža različite prikaze ovisno o zaglavlju Accept:

AcceptOdgovor
text/htmlKorisnički HTML
application/ld+jsonJSON-LD
application/jsonSirovi DPP JSON
application/linkset+jsonSkup poveznica (Linkset) s alternativama

Javno vidljive rute

  • GET /01/... je kanonski razrješivač
  • GET /dpp/:gtin/:serial?lot=... je HTML alias
  • GET /v1/dpp/:id/qr.svg vraća SVG
  • GET /v1/dpp/:id/qr.png vraća PNG
  • GET /v1/dpp/:id/qr.pdf vraća PDF
  • GET /v1/dpp/:id/qr.eps vraća EPS

Vidljivost QR resursa ovisi o statusu DPP-a:

  • live je javno dostupan bez autentifikacije
  • draft i archived zahtijevaju valjani autentifikacijski kontekst i pristup radnom prostoru (Workspace)
  • Nevaljana autentifikacija vraća 401
  • Nevidljivi ili tuđi radni prostori (Workspaces) vraćaju 404

Fallback

Ako nema lokalnog podudaranja, GS1 razrješivač preusmjerava statusom 307 na https://id.gs1.org. Za GTIN alias /dpp/:gtin/:serial?lot=... to vrijedi i za nevaljanu kontrolnu znamenku GTIN-a: gtin, lot i serial zasebno se kodiraju kao segmenti URL putanje, uključujući rezervirane separatore. Preusmjeravanje ne potvrđuje valjanost GTIN-a ni dostupnost podataka kod GS1.

Iznimka: ako je dekodirani identifikator samo . ili .., alias bez lokalnog podudaranja odgovara statusom 422, formatom application/problem+json, tipom https://docs.qr3.app/errors/validation i pogođenim poljem u errors[], bez preusmjeravanja. URL parseri normaliziraju te segmente čak i u kodiranom obliku. Vrijednosti poput LOT.1 i ... i dalje se mogu proslijediti. Iznimka se odnosi samo na ovaj alias bez podudaranja; validacija pri stvaranju, kanonski razrješivač i postojeća podudaranja ostaju nepromijenjeni.

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

Praksa

  1. Izradite DPP na nadzornoj ploči (Dashboard).
  2. Koristite GS1 URI kao QR odredište.
  3. Usmjerite klijentske sustave na željeni format pomoću zaglavlja Accept.