Aller au contenu

Résolveur GS1

Résolveur GS1

Le résolveur GS1 est la couche de lecture publique pour un DPP. L’URL canonique ressemble à ceci :

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 et lot doivent utiliser des segments de chemin GS1 sécurisés : uniquement A-Z, a-z, 0-9, ., _, ~, - et une longueur de 1 à 20 caractères. Les séparateurs d’URL réservés sont rejetés afin que le lien canonique reste résoluble.

Négociation de contenu

Le même résolveur fournit différentes représentations en fonction de l’en-tête Accept :

AcceptRéponse
text/htmlHTML consommateur
application/ld+jsonJSON-LD
application/jsonJSON DPP brut
application/linkset+jsonLinkset avec alternatives

Routes publiques

  • GET /01/... est le résolveur canonique
  • GET /dpp/:gtin/:serial?lot=... est un alias HTML
  • GET /v1/dpp/:id/qr.svg fournit le SVG
  • GET /v1/dpp/:id/qr.png fournit le PNG
  • GET /v1/dpp/:id/qr.pdf fournit le PDF
  • GET /v1/dpp/:id/qr.eps fournit l’EPS

La visibilité des ressources QR dépend du statut du DPP :

  • live est accessible publiquement sans authentification
  • draft et archived nécessitent un contexte d’authentification valide ainsi qu’un accès à l’espace de travail (Workspace)
  • Une authentification invalide renvoie 401
  • Les espaces de travail non visibles ou tiers renvoient 404

Comportement de repli

Si qr3.app ne trouve aucun résultat, la requête est redirigée vers le résolveur GS1 parent. C’est important pour que les codes imprimés fonctionnent même si un produit n’est pas encore enregistré localement.

En pratique

  1. Créer le DPP dans le tableau de bord.
  2. Utiliser l’URI GS1 comme cible du QR code.
  3. Rediriger les systèmes clients vers le format souhaité via l’en-tête Accept.