Hoppa till innehåll

GS1-resolver

GS1-resolver

GS1-resolvern är det offentliga lässkiktet för ett DPP. Den kanoniska URL:en ser ut så här:

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}

När ett DPP skapas (POST /v1/dpp) gäller följande regler: serial och lot måste använda säkra GS1-sökvägssegment: endast A-Z, a-z, 0-9, ., _, ~, - och en längd på 1 till 20 tecken. Reserverade URL-avgränsare avvisas för att den kanoniska länken ska förbli upplösningsbar.

Content negotiation

Samma resolver levererar olika representationer beroende på Accept-headern:

AcceptSvar
text/htmlKonsument-HTML
application/ld+jsonJSON-LD
application/jsonRå DPP-JSON
application/linkset+jsonLinkset med alternativ

Offentligt synliga rutter

  • GET /01/... är den kanoniska resolvern
  • GET /dpp/:gtin/:serial?lot=... är ett HTML-alias
  • GET /v1/dpp/:id/qr.svg returnerar SVG:n
  • GET /v1/dpp/:id/qr.png returnerar PNG:n
  • GET /v1/dpp/:id/qr.pdf returnerar PDF:en
  • GET /v1/dpp/:id/qr.eps returnerar EPS:en

Synligheten för QR-tillgångar styrs av DPP-statusen:

  • live är offentligt tillgänglig utan autentisering
  • draft och archived kräver en giltig autentiseringskontext samt workspace-åtkomst
  • Ogiltig autentisering returnerar 401
  • Icke-synliga eller externa workspaces returnerar 404

Fallback

Utan lokal träff omdirigerar GS1-resolvern med 307 till https://id.gs1.org. För GTIN-aliaset /dpp/:gtin/:serial?lot=... gäller detta även med en ogiltig GTIN-kontrollsiffra: gtin, lot och serial kodas separat som URL-sökvägssegment, inklusive reserverade avgränsare. Omdirigeringen bekräftar varken att GTIN är giltigt eller att data finns hos GS1.

Undantag: om en avkodad identifierare bara är . eller .., svarar aliaset utan lokal träff med 422, application/problem+json, typen https://docs.qr3.app/errors/validation och det berörda fältet i errors[], utan omdirigering. URL-parsare normaliserar dessa segment även i kodad form. Värden som LOT.1 och ... kan fortfarande vidarebefordras. Undantaget gäller bara detta alias utan träff; validering vid skapande, den kanoniska resolvern och befintliga träffar förblir oförändrade.

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

Praktisk användning

  1. Skapa DPP i instrumentpanelen (dashboard).
  2. Använd GS1-URI:n som QR-mål.
  3. Styr konsumerande system till önskat format via Accept.