---
title: "GS1 Digital Link-resolveren forklaret (med et live-eksempel) — qr3.app Blog"
description: "En DPP-QR-kode er ikke et link til en webside — den er et GS1 Digital Link, og resolveren forvandler én identifikator til mange kontekstbevidste svar. Sådan fungerer det, med et live-pas du kan curl"
canonical: "https://qr3.app/da/blog/gs1-digital-link-resolver/"
lang: "da"
robots: "index,follow,max-image-preview:large,max-snippet:-1"
---

# GS1 Digital Link-resolveren forklaret (med et live-eksempel) — qr3.app Blog

> En DPP-QR-kode er ikke et link til en webside — den er et GS1 Digital Link, og resolveren forvandler én identifikator til mange kontekstbevidste svar. Sådan fungerer det, med et live-pas du kan curl

Canonical: <https://qr3.app/da/blog/gs1-digital-link-resolver/>

[← Blog](/da/blog/) [Tutorials](/da/blog/category/tutorials/)

30. maj 2026 4 min læsning [Tutorials](/da/blog/category/tutorials/) [gs1-digital-link](/da/blog/tag/gs1-digital-link/)[resolver](/da/blog/tag/resolver/)[dpp](/da/blog/tag/dpp/)[gtin](/da/blog/tag/gtin/)[json-ld](/da/blog/tag/json-ld/)

# GS1 Digital Link-resolveren forklaret (med et live-eksempel)

En DPP-QR-kode er ikke et link til en webside — den er et GS1 Digital Link, og resolveren forvandler én identifikator til mange kontekstbevidste svar. Sådan fungerer det, med et live-pas du kan curl'e lige nu.

af **QR3 Redaktion**

![GS1 Digital Link-resolveren forklaret (med et live-eksempel)](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/gs1-digital-link-resolver/hero.png)

De fleste forklaringer om QR-koder til digitale produktpas stopper ved "scan koden, åbn en webside." Det går glip af den interessante del. QR-koden på et compliant produkt indkoder et **GS1 Digital Link**, og den komponent, der gør den nyttig, er **resolveren** — tjenesten, der forvandler én produktidentifikator til mange forskellige, kontekstbevidste svar.

Denne artikel viser, hvad resolveren faktisk gør, med et **live-pas du kan kalde lige nu** (ingen tilmelding, ingen nøgle).

## Hvad et GS1 Digital Link i virkeligheden er

Et GS1 Digital Link er en almindelig HTTPS-URL, der indlejrer GS1-identifikatorer som path-segmenter, hver tagget med en **Application Identifier (AI)**:

```
https://id.gs1.org/01/09520000000011/21/DEMO-BAT-01
                   └─01─┘ └──GTIN───┘ └21┘ └─serial─┘
```

- `01` → GTIN (Global Trade Item Number) — *hvilket produkt*

- `21` → serienummer — *hvilken individuel enhed*

- `10` → batch/lot (alternativ til serienummer)

Fordi det er en almindelig URL, åbner ethvert telefonkamera den. Fordi den er *struktureret*, kan maskiner parse den. Den dobbelte natur er hele pointen.

## Resolveren: én URI, mange svar

En dum QR-kode returnerer én fast side. En **resolver** inspicerer forespørgslen og returnerer den repræsentation, der passer til den, der kalder:

- en **forbruger** med en telefonbrowser får en menneskelæsbar HTML-side;

- et **genbrugsanlægs** system beder om JSON-LD og får maskinlæsbare strukturerede data;

- en **myndighed** kan anmode om det fulde *linkset* — hvert typet link, produktet eksponerer.

Samme URL, forskellige svar, afgjort af `Accept`-headeren (eller en `?format=`-override).

## En live-resolver du kan kalde lige nu

qr3.app hoster et offentligt demo-batteripas. Åbn det i en browser:

> **[https://qr3.app/dpp/09520000000011/DEMO-BAT-01](https://qr3.app/dpp/09520000000011/DEMO-BAT-01)**

Du vil se forbrugersiden for *EcoMax 5000 (Demo)* fra GreenPower GmbH. Bed nu den **samme URL** om maskinlæsbar JSON-LD:

```
curl "https://qr3.app/dpp/09520000000011/DEMO-BAT-01?format=jsonld"
```

```
{
  "@context": ["https://schema.org", "https://gs1.org/voc/"],
  "@type": "Product",
  "gtin": "09520000000011",
  "name": "EcoMax 5000 (Demo)"
}
```

Det er resolveren, der gør sit arbejde: én identifikator, en menneskelig side **og** et JSON-LD-dokument bygget på `schema.org` + GS1's web-vokabular. Andre repræsentationer er tilgængelige på samme måde — `?format=json` (rå pas), `?format=linkset` (alle typede links), `?format=dcat-ap` — eller via standard `Accept`-forhandling (`Accept: application/ld+json`).

## Validér identifikatorer, før du udsteder links

En resolver er kun så troværdig som de identifikatorer, der ligger bag den. Validér en GTIN, før du bygger et Digital Link til den:

```
import { QR3 } from "@qr3/sdk";

const client = new QR3({ apiKey: process.env.QR3_API_KEY! });

const result = await client.gs1.validateGs1({
  identifier_type: "gtin",
  value: "09520000000011",
});

console.log(result.valid);   // true
console.log(result.detail);  // "Valid GTIN-14"
```

## Registrér dine GTIN'er

Hold de identifikatorer, du bruger, under styring, så hvert Digital Link kan spores tilbage til et kendt produkt:

```
const gtin = await client.gs1.createGs1Identifier({
  identifier_type: "gtin", // or "gln" | "company_prefix"
  value: "09520000000011",
  label: "EcoMax 5000",
});
```

## Brug qr3 som din resolver

Du behøver ikke selv at bygge og drive en resolver. Peg din produkt-QR-kode mod Digital Link'et, host passet på qr3.app, og resolveren leverer den rigtige repræsentation per forespørgsel. GTIN/serienummer i URL'en forbliver **stabile for evigt** (så trykte etiketter aldrig brydes), mens dataene bag dem forbliver opdaterbare.

## FAQ

**Er selve QR-koden anderledes end en almindelig?**
Nej — det er en standard QR (eller Data Matrix), der bærer en GS1 Digital Link-URL. Ethvert kamera åbner den; intelligensen ligger i resolveren, ikke i symbolet.

**Får forbrugere og genbrugsanlæg virkelig forskelligt indhold?**
Ja — det er content negotiation. Browseren får HTML; et system, der anmoder om `application/ld+json` (eller `?format=jsonld`), får strukturerede data fra den samme URL.

**Kan jeg beholde min egen produktside og stadig være compliant?**
Ja. Digital Link'et kan eksponere flere typede links (et `linkset`) — din marketingside, det officielle pas, et genbrugsdatablad — hver tagget med en linktype.

## Kilder

- [GS1 Digital Link-standarden](https://www.gs1.org/standards/gs1-digital-link)

- [GS1 Digital Link: Resolver](https://www.gs1.org/standards/resolver)

- [ESPR — forordning (EU) 2024/1781](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1781)

**Prøv live-passet** ovenfor, og [kom gratis i gang](https://app.qr3.app/sign-up) og resolv dit eget.

Dette er fungerende demoer med fiktive produktdata og eksempel-GTIN fra GS1-præfiks 952. De dokumenterer ikke tildelte produktidentifikatorer, en registrering eller en certificering.

## Relaterede indlæg

- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/dpp-json-ld-epcis/hero.png) Tutorials JSON-LD til digitale produktpas (og hvor EPCIS 2.0 passer ind) Et DPP er kun nyttigt for maskiner, hvis det er maskinlæsbart. Denne guide viser den rigtige JSON-LD, som et qr3-pas eksponerer via den live resolver, hvordan én URL betjener både mennesker og maskiner gennem content negotiation, og hvor det komplementære EPCIS 2.0-eventstandard passer ind.](/da/blog/dpp-json-ld-epcis/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/gs1-resolver-test-suite-dpp-links/hero.png) Tutorials GS1 Resolver Test Suite: DPP-links pålideligt testet før go-live Den stabile GS1-testpakke gør Resolver 1.2 testbar. Sådan tester du redirects, linksets, CORS, sprog og fejltilfælde før go-live.](/da/blog/gs1-resolver-test-suite-dpp-links/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/dpp-battery-passport-2027-20260715/hero.png) Branchenyheder BatteryPass-Ready lancerer testmiljø til den digitale batteripass Konsortiet BatteryPass-Ready lancerede den 24. juni 2026 et offentligt testmiljø til den digitale batteripass med fokus på EU-kravet fra februar 2027.](/da/blog/dpp-battery-passport-2027-20260715/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/sector-20260713/hero.png) Branchenyheder Digitalt batteripas 2027: Hvad producenter skal vide nu Webinarer, open source-værktøjer og nye standarder: EU's batteripas vinder frem. Et overblik over status i juli 2026 og de åbne spørgsmål frem til februar 2027.](/da/blog/sector-20260713/)

[← Alle artikler](/da/blog/) [Kom gratis i gang](https://app.qr3.app/sign-up)
