Zum Inhalt springen

GS1-Resolver

GS1-Resolver

Der GS1-Resolver ist die öffentliche Leseschicht für einen DPP. Die kanonische URL sieht so aus:

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}

serial und lot müssen sichere GS1-Pfadsegmente verwenden: nur A-Z, a-z, 0-9, ., _, ~, - und eine Länge von 1 bis 20 Zeichen. Reservierte URL-Trennzeichen werden abgelehnt, damit der kanonische Link auflösbar bleibt.

Content Negotiation

Der gleiche Resolver liefert je nach Accept-Header verschiedene Darstellungen:

AcceptAntwort
text/htmlConsumer-HTML
application/ld+jsonJSON-LD
application/jsonRohes DPP-JSON
application/linkset+jsonLinkset mit Alternativen

Öffentlich sichtbare Routen

  • GET /01/... ist der kanonische Resolver
  • GET /dpp/:gtin/:serial?lot=... ist ein HTML-Alias
  • GET /v1/dpp/:id/qr.svg liefert das SVG
  • GET /v1/dpp/:id/qr.png liefert das PNG
  • GET /v1/dpp/:id/qr.pdf liefert das PDF
  • GET /v1/dpp/:id/qr.eps liefert das EPS

Die Sichtbarkeit der QR-Assets richtet sich nach dem DPP-Status:

  • live ist ohne Authentifizierung öffentlich abrufbar
  • draft und archived brauchen einen gültigen Auth-Kontext plus Workspace-Zugriff
  • Ungültige Authentifizierung liefert 401
  • Nicht sichtbare oder fremde Workspaces liefern 404

Fallback

Wenn qr3.app keinen Treffer findet, wird an den übergeordneten GS1-Resolver weitergeleitet. Das ist wichtig, damit gedruckte Codes auch dann funktionieren, wenn ein Produkt noch nicht lokal registriert ist.

Praxis

  1. DPP im Dashboard anlegen.
  2. Die GS1-URI als QR-Ziel verwenden.
  3. Verbrauchende Systeme über Accept auf das gewünschte Format leiten.