Resolver Setup Guide
How to expose your DPP behind a GS1 Digital Link resolver
Overview
A GS1 Digital Link resolver turns a product identifier (GTIN + optional serial) into the right URL for the right audience — the consumer information page, the EPCIS event history, certificates, recall information, and so on. Each of those is a link relation taken from the GS1 vocabulary.
For a Digital Product Passport you only need two things to be live:
- A resolver endpoint that responds to
/{primary key}/{value}Digital Link URLs — most often/01/{GTIN}/21/{serial}. - A linkset per identifier — a small
application/linkset+jsondocument (IETF RFC 9264) that says which URL to send each link relation to. GS1 relations appear as full-IRI keys, e.g.https://ref.gs1.org/voc/pip.
Hosting options
| Option | When to choose it |
|---|---|
| Verified by GS1 (managed) | You want GS1 to host the resolver under id.gs1.org. Lowest operational effort, subscription-based. |
| Self-hosted under your own domain | You already operate a domain you want consumers to see, e.g. id.yourcompany.com. You manage TLS, scale and uptime. |
| Hybrid | GS1 holds the canonical id.gs1.org entry and redirects to your domain for resolution. Brand control without running global ID infrastructure. |
How the resolver itself is built is intentionally out of scope here — any HTTP server that can match the Digital Link path patterns, do content negotiation on Accept, and route on the ?linkType= query parameter will do. OpenEPCIS ships a reference resolver in the business edition; see Modules → Resolver.
Getting onto Verified by GS1
- Contact your local GS1 Member Organisation and subscribe to Verified by GS1.
- Make sure you have a valid GS1 Company Prefix and that the GTINs you'll publish are registered against it.
- Publish a linkset per identifier — one object per
anchor, GS1 relations as full-IRI keys, link descriptors as values. Refer to RFC 9264 and the GS1 Digital Link standard for the exact field shape.
A worked end-to-end example is on the DPP Resolution Flow page.
A note on the linkType query parameter
When you call a resolver URL like https://id.gs1.org/01/{GTIN}/21/{serial}?linkType=…, the value is a bare GS1 relation name (pip, epcis, certificationInfo, …) — not the compact gs1: form. The compact / full-IRI form only appears as the key in the linkset JSON itself.
Next steps
- DPP Resolution Flow — end-to-end picture of what happens between scan and rendered passport.
- Battery DPP Implementation
- EUDR Implementation