Gå til indhold

GS1-resolver

GS1-resolver

GS1-resolveren er det offentlige læselag for et DPP. Den kanoniske URL ser således ud:

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}

Ved oprettelse af et DPP (POST /v1/dpp) gælder følgende: serial og lot skal bruge sikre GS1-stisegmenter: kun A-Z, a-z, 0-9, ., _, ~, - og en længde på 1 til 20 tegn. Reserverede URL-separatorer afvises, så det kanoniske link forbliver opløseligt.

Content Negotiation

Den samme resolver leverer forskellige repræsentationer afhængigt af Accept-headeren:

AcceptSvar
text/htmlForbruger-HTML
application/ld+jsonJSON-LD
application/jsonRåt DPP-JSON
application/linkset+jsonLinkset med alternativer

Offentligt synlige ruter

  • GET /01/... er den kanoniske resolver
  • GET /dpp/:gtin/:serial?lot=... er et HTML-alias
  • GET /v1/dpp/:id/qr.svg leverer SVG’en
  • GET /v1/dpp/:id/qr.png leverer PNG’en
  • GET /v1/dpp/:id/qr.pdf leverer PDF’en
  • GET /v1/dpp/:id/qr.eps leverer EPS’en

Synligheden af QR-aktiverne afhænger af DPP-statussen:

  • live er offentligt tilgængelig uden godkendelse
  • draft og archived kræver en gyldig Auth-kontekst plus Workspace-adgang
  • Ugyldig godkendelse returnerer 401
  • Ikke-synlige eller eksterne Workspaces returnerer 404

Fallback

Hvis GS1-resolveren ikke finder et lokalt match, videresender den med 307 til https://id.gs1.org. For GTIN-aliaset /dpp/:gtin/:serial?lot=... gælder det også ved et ugyldigt GTIN-kontrolciffer: gtin, lot og serial kodes hver for sig som URL-segmenter, inklusive reserverede separatorer. Videresendelsen bekræfter hverken GTIN-gyldighed eller tilgængelige data hos GS1.

Undtagelse: hvis en afkodet identifikator kun er . eller .., svarer aliaset uden lokalt match med 422, application/problem+json, typen https://docs.qr3.app/errors/validation og det berørte felt i errors[], uden videresendelse. URL-parsere normaliserer disse segmenter selv i kodet form. Værdier som LOT.1 og ... kan fortsat videresendes. Undtagelsen gælder kun dette alias uden match; validering ved oprettelse, den kanoniske resolver og eksisterende match er uændrede.

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

Praksis

  1. Opret DPP i dashboardet.
  2. Brug GS1-URI’en som QR-destination.
  3. Led forbrugende systemer til det ønskede format via Accept.