Wat is een GS1 Digital Link-resolver?
Een GS1 Digital Link-resolver is een webdienst die fungeert als intelligente tussenschakel tussen een productidentificatiecode en de informatie die bij dat product hoort. Wanneer een consument een QR-code op een product scant, of wanneer een systeem de identificatiecode van een product geautomatiseerd opvraagt, ontvangt de resolver de GS1 Digital Link-URI en bepaalt hij waarheen het verzoek wordt geleid op basis van de productidentiteit, het soort gevraagde informatie en de context van het verzoek.
Zie een resolver als een slimme wegwijzer voor productinformatie. Zoals een DNS-server domeinnamen vertaalt naar IP-adressen, vertaalt een Digital Link-resolver productidentificatiecodes naar de URL's waar productinformatie te vinden is, waaronder de gegevens van het digitaal productpaspoort. Deze indirectie is van cruciaal belang, omdat ze de permanente productidentificatiecode loskoppelt van de mogelijk wisselende locatie van de productgegevens.
Voor digitale productpaspoorten onder de ESPR speelt de resolver een centrale rol. De gegevensdrager op het product codeert een GS1 Digital Link-URI. Na het scannen komt deze URI bij een resolver terecht, die het verzoek doorverwijst naar de gegevensbron van het DPP. Verandert het DPP-platform, of verhuizen de gegevens naar een nieuwe host, dan hoeft alleen de configuratie van de resolver te worden bijgewerkt: de miljoenen QR-codes die al op producten zijn gedrukt, blijven gewoon werken.
De architectuur van een Digital Link-resolver
Een GS1 Digital Link-resolver bestaat uit verschillende logische componenten die samenwerken om binnenkomende verzoeken te verwerken en passende antwoorden te leveren.
De URI-parser is de eerste component die een binnenkomend verzoek verwerkt. Hij haalt de GS1-identificatiecodes uit de Digital Link-URI: de primaire identificatiecode (meestal een GTIN), eventuele kwalificaties (serienummer, batch-/lotnummer) en eventuele aanvullende attributen. Hij controleert of de URI voldoet aan de syntaxisspecificatie van GS1 Digital Link en wijst onjuist opgemaakte verzoeken af.
De linkresolutie-engine is het hart van de resolver. Deze beheert een database met linkrecords, oftewel koppelingen tussen productidentificatiecodes en de URL's waar informatie over die producten te vinden is. Elk linkrecord legt vast voor welke productidentificatiecode het geldt, welk soort informatie beschikbaar is (productpagina, digitaal productpaspoort, veiligheidsgegevens, terugroepinformatie), wat de doel-URL is en onder welke voorwaarden deze link moet worden gebruikt.
De module voor content negotiation onderzoekt het binnenkomende verzoek om te bepalen welk soort antwoord de aanvrager verwacht. Dat gebeurt via HTTP Accept-headers, queryparameters of de structuur van de URI zelf. Een webbrowser die text/html opvraagt, krijgt een doorverwijzing naar een voor mensen leesbare pagina. Een machine die application/json opvraagt, krijgt gestructureerde gegevens. Een systeem dat application/ld+json opvraagt, krijgt linked data in JSON-LD. Deze aanpak met één URI en meerdere representaties is fundamenteel voor de Digital Link-architectuur.
De antwoordmodule genereert het passende HTTP-antwoord, doorgaans een 307 (Temporary Redirect) die de aanvrager naar de door de linkresolutie-engine bepaalde doel-URL stuurt. Bij API-verzoeken kan de resolver in plaats van een doorverwijzing ook een linkset teruggeven (een JSON-document met alle beschikbare informatiebronnen voor het geïdentificeerde product).
Zo werkt resolutie: stap voor stap
Om te begrijpen hoe een Digital Link-resolver in de praktijk werkt, nemen we het volgende scenario: een consument scant een QR-code op een product. De QR-code codeert de URI https://resolver.example.com/01/05012345678901/21/SN12345.
Eerst decodeert de smartphone van de consument de QR-code en opent de URI in een webbrowser. De browser stuurt een HTTP GET-verzoek naar resolver.example.com met het pad /01/05012345678901/21/SN12345. Het verzoek bevat een Accept-header die aangeeft dat de browser de voorkeur geeft aan text/html-inhoud.
De URI-parser van de resolver haalt de GTIN (05012345678901) en het serienummer (SN12345) uit het pad. Hij valideert deze identificatiecodes en geeft ze door aan de linkresolutie-engine.
De linkresolutie-engine zoekt de combinatie van identificatiecodes op in zijn database en vindt meerdere linkrecords voor dit product:
- Een link naar het digitaal productpaspoort die verwijst naar https://dpp.example.com/passport/SN12345
- Een link naar de productinformatiepagina die verwijst naar https://brand.example.com/products/widget-pro
- Een link naar terugroepinformatie die verwijst naar https://recalls.example.com/check/05012345678901
- Een JSON-LD linked data-endpoint dat verwijst naar https://api.example.com/01/05012345678901/21/SN12345
De module voor content negotiation stelt vast dat het verzoek afkomstig is van een webbrowser die HTML opvraagt. Op basis van het in de resolver ingestelde standaardlinktype en de context van het verzoek kiest de module de link naar het digitaal productpaspoort als meest geschikte antwoord voor een consument die een QR-code scant.
De resolver geeft een 307 Temporary Redirect-antwoord terug met de Location-header ingesteld op https://dpp.example.com/passport/SN12345. De browser van de consument volgt de doorverwijzing en toont de pagina van het digitaal productpaspoort.
Linktypen en het GS1-conformiteitskader
GS1 definieert een vocabulaire van linktypen waarmee resolvers de informatiebronnen die bij producten horen, indelen. Deze gestandaardiseerde linktypen zorgen ervoor dat verschillende resolvers een consistente ervaring bieden en dat afnemende systemen betrouwbaar specifieke soorten informatie kunnen opvragen.
Belangrijke linktypen voor digitale productpaspoorten zijn onder meer:
- gs1:digitalProductPassport, de primaire DPP-gegevensbron met de volledige paspoortinformatie die de ESPR vereist
- gs1:productSustainabilityInfo, milieu- en duurzaamheidsinformatie over het product
- gs1:pip, de productinformatiepagina, doorgaans de consumentgerichte productwebpagina van het merk
- gs1:safetyInfo, veiligheidsgerelateerde informatie, waaronder veiligheidsinformatiebladen en gevarenwaarschuwingen
- gs1:recallStatus, informatie over de vraag of het product wordt teruggeroepen
- gs1:traceability, informatie over traceerbaarheid in de toeleveringsketen, mogelijk met koppelingen naar EPCIS-gebeurtenisgegevens
- gs1:certificationInfo, certificaten en conformiteitsverklaringen die bij het product horen
GS1 heeft een conformiteitskader voor Digital Link-resolvers gepubliceerd dat verschillende capaciteitsniveaus definieert. Resolvers van niveau 0 voeren eenvoudige HTTP-doorverwijzingen uit. Resolvers van niveau 1 ondersteunen content negotiation. Resolvers van niveau 2 ondersteunen de volledige linkset-API, zodat machines alle beschikbare informatiebronnen voor een product kunnen ontdekken. Resolvers van niveau 3 bieden daarnaast ondersteuning voor gecomprimeerde Digital Link-URI's en andere geavanceerde functies.
Voor DPP-implementaties wordt een resolver van niveau 1 of 2 aanbevolen. Content negotiation (niveau 1) zorgt ervoor dat zowel menselijke gebruikers als machinesystemen passende antwoorden krijgen. De linkset-API (niveau 2) stelt systemen van toezichthouders en DPP-registers in staat om paspoortgegevens van elk product geautomatiseerd te ontdekken en te raadplegen.
Implementatieopties: zelf bouwen, inkopen of GS1 gebruiken
Bedrijven die DPP's invoeren, hebben drie hoofdopties voor hun Digital Link-resolverinfrastructuur: een eigen resolver bouwen, een commerciële resolverdienst gebruiken of gebruikmaken van het resolvernetwerk van GS1.
Een eigen resolver bouwen biedt maximale controle over de resolutielogica, de branding en de integratie met bestaande systemen. GS1 heeft opensource-referentie-implementaties gepubliceerd die als vertrekpunt kunnen dienen. Een resolver op grote schaal beheren vergt echter een robuuste webinfrastructuur, monitoring en doorlopend onderhoud. De resolver moet in hoge mate beschikbaar zijn: valt hij uit, dan werkt geen enkele QR-code die ernaar verwijst nog.
Commerciële resolverdiensten, aangeboden door diverse technologieleveranciers waaronder DPP-platforms, leveren een beheerde resolverinfrastructuur zonder operationele last. Deze diensten bieden doorgaans webgebaseerde beheeromgevingen voor linkrecords, analysedashboards met scanactiviteit en integratie-API's voor geautomatiseerd linkbeheer. Voor de meeste bedrijven biedt een beheerde resolverdienst de beste balans tussen functionaliteit en operationele eenvoud.
Het resolvernetwerk van GS1 (id.gs1.org) is een wereldwijde resolutiedienst die door GS1 zelf wordt onderhouden. Merkeigenaren kunnen hun producten registreren en resolutiedoelen instellen via hun nationale GS1-organisatie. Deze aanpak profiteert van de wereldwijde bekendheid en betrouwbaarheid van het GS1-domein, maar biedt mogelijk minder flexibiliteit voor maatwerk en branding dan een eigen resolverdomein.
Veel DPP-platforms, waaronder MyProductPassport, bieden ingebouwde resolverfunctionaliteit als onderdeel van hun aanbod. Dankzij deze geïntegreerde aanpak hoeven bedrijven geen aparte resolverinfrastructuur op te zetten: het platform verzorgt URI-resolutie, content negotiation en linkbeheer, naast het beheer van paspoortgegevens en het genereren van QR-codes.
Resolverconfiguratie voor DPP-naleving
Het configureren van een resolver voor ESPR-conforme digitale productpaspoorten vraagt aandacht voor verschillende wettelijke en technische vereisten.
De resolver moet blijvende toegang tot paspoortgegevens garanderen. De ESPR vereist dat DPP-informatie gedurende een vastgestelde periode na het in de handel brengen van een product toegankelijk blijft. De resolver moet dus gedurende die hele bewaartermijn blijven werken en verzoeken blijven afhandelen, ook als het product niet meer wordt gemaakt. Bedrijven moeten ervoor zorgen dat hun resolverinfrastructuur of dienstverlener zich aan de vereiste bewaartermijnen verbindt.
Resolverantwoorden moeten passende HTTP-headers bevatten voor caching en CORS (Cross-Origin Resource Sharing), zodat DPP-gegevens toegankelijk zijn vanuit webapplicaties, mobiele apps en systemen van toezichthouders. De Link-header moet de beschikbare linktypen vermelden, zodat informatiebronnen HTTP-native kunnen worden ontdekt.
Bij producten met identificatie op serienummerniveau moet de resolver serienummerkwalificaties in het URI-pad kunnen verwerken. De linkdatabase moet dus records op serienummerniveau bevatten (of wildcard-matching ondersteunen waarmee serienummerspecifieke verzoeken bij de juiste paspoortinstantie uitkomen). Bij producten die op batchniveau worden geïdentificeerd, moet de resolver op dezelfde manier batch-/lotkwalificaties verwerken.
Beveiliging is belangrijk bij de implementatie van een resolver. De resolver moet uitsluitend HTTPS gebruiken, rate limiting toepassen om misbruik te voorkomen en authenticatie overwegen voor beheerfuncties. Terwijl de resolutie zelf openbaar toegankelijk moet zijn (om de open toegang tot DPP-gegevens mogelijk te maken die de ESPR beoogt), moet de beheeromgeving worden beschermd.
Geavanceerde resolverfuncties voor DPP-ecosystemen
Naast basisresolutie verrijken verschillende geavanceerde resolverfuncties het DPP-ecosysteem:
- Analyse en scantracking: resolvers kunnen scangebeurtenissen vastleggen en merken zo inzicht geven in waar, wanneer en hoe vaak de paspoorten van hun producten worden geraadpleegd
- Locatiebewuste resolutie: resolvers kunnen verzoeken op basis van de locatie van de aanvrager doorsturen naar taal- of regiospecifieke paspoortinhoud
- Tijdsgebonden resolutie: resolvers kunnen historische versies van linkrecords bewaren, zodat paspoortgegevens kunnen worden geraadpleegd zoals ze op een bepaald moment waren
- Terugvalresolutie: resolvers kunnen trapsgewijze resolutielogica toepassen en achtereenvolgens meerdere gegevensbronnen proberen als de primaire bron niet beschikbaar is
- Ondersteuning van gecomprimeerde URI's: GS1 Digital Link definieert gecomprimeerde URI-formaten die de vereiste gegevensdichtheid van QR-codes verlagen, wat kleinere codes of een hogere foutcorrectie mogelijk maakt
Deze functies zijn niet vereist voor basisnaleving van de ESPR, maar kunnen de bruikbaarheid en betrouwbaarheid van DPP-implementaties aanzienlijk verbeteren. Scananalyses leveren bijvoorbeeld waardevolle marktinformatie op over hoe consumenten omgaan met duurzaamheidsinformatie, zodat bedrijven beter begrijpen wat hun DPP-investering oplevert.
Naarmate het DPP-ecosysteem volwassener wordt, zullen de mogelijkheden van resolvers waarschijnlijk verder groeien. Het DPP-register van de Europese Commissie, dat sinds 20 juli 2026 open is, werkt samen met resolvers om paspoortgegevens op de hele EU-markt te indexeren en te raadplegen. Resolverbeheerders moeten deze ontwikkelingen volgen en ervoor zorgen dat hun implementaties compatibel blijven met veranderende infrastructuureisen.
Uw resolverimplementatie testen en valideren
Voordat een resolver in productie gaat, is grondig testen essentieel om naleving van de GS1-specificaties en een betrouwbare werking onder reële omstandigheden te garanderen.
GS1 stelt conformiteitstestsuites beschikbaar die het gedrag van een resolver toetsen aan de Digital Link-specificatie. Deze tests controleren correcte URI-parsing, juiste HTTP-antwoordcodes, nauwkeurige content negotiation en conforme generatie van linksets. Door deze tests op uw resolver uit te voeren, spoort u afwijkingen van de specificatie op voordat ze problemen veroorzaken bij echte producten en echte consumenten.
Belastingtests zijn even belangrijk. Een resolver voor een consumentenmerk met hoge volumes moet op piekmomenten mogelijk duizenden verzoeken per seconde verwerken, bijvoorbeeld bij een productlancering, een viraal moment op sociale media of een inspectiecampagne van een toezichthouder. Wie de capaciteitsgrenzen van zijn resolver kent en passende schaalstrategieën toepast (caching, load balancing, CDN-distributie), verzekert zich van consistente prestaties.
End-to-endtests moeten de volledige keten controleren, van het scannen van de QR-code tot de weergave van het paspoort. Dat betekent QR-codes fysiek afdrukken, ze scannen met verschillende smartphonemodellen en besturingssystemen en bevestigen dat de resolver elk verzoek correct naar de juiste paspoortinhoud leidt. Door te testen met zowel consumentenapparaten als geautomatiseerde clients zorgt u ervoor dat alle toegangsroutes goed werken.
Tot slot moeten monitoring en alerting worden ingericht voor de productie-infrastructuur van de resolver. Beschikbaarheidsmonitoring, het bijhouden van responstijden en waarschuwingen bij foutpercentages maken het mogelijk om problemen snel te signaleren en op te lossen die consumenten en toezichthouders de toegang tot gegevens van het digitaal productpaspoort zouden kunnen ontnemen.
Was dit artikel nuttig?
Fijn dat het heeft geholpen. Bedankt voor uw feedback.